Здрасти.

Читал http://phppatterns.com/index.php/article/articleview/4/1/1/
И увидел это http://haml.hamptoncatlin.com/

Вообще хочу такой же шаблонизатор аля CSS да чтобы локоничность как в питоне

%html
    %head
    %body
        %div #head 'Шапка'
        %div #content 
             'Контент'
             %div #rows .myclass
                  %table
                      %tr
                           %td '1'
                           %td '2'
                      %tr
                           %td '3'
                           %td '4'
        %div #bottom 'Дно'
<html>
<head></head>
<body>
    <div id="head">Шапка</div>
    <div id="content">
         Контент
         <div id="rows" class="myclass">
              <table>
                    <tr>
                         <td>1</td>
                         <td>2</td>
                    </tr>
                    <tr>
                         <td>3</td>
                         <td>4</td>
                    </tr>
              </table>
         </div>
    </div>
    <div id="bottom">Дно</div>
</body>
</html>
Я нехочу сказать что это наилучший шаблонизатор, но мне он очень симпатичен что нет ни каких открытий/закрытий блоков...
Кто нибудь что-то подобно встречал для python?
Breve смотрел.

для пыха нашел http://phphaml.sourceforge.net/ :-(

Last edited April 18, 2008, 4:30 p.m.

Ура!!!
Поздравте меня, я нашел!

Свеженький...
http://lucumr.pocoo.org/cogitations/2008/02/15/ghrml-haml-for-genshi/

import ghrml

hamlSource = """\
%html
    %head
        %title Hello World
        %style{'type': 'text/css'}
            body { font-family: sans-serif; } 
        %script{'type': 'text/javascript', 'src': 'foo.js'}
    %body
        #header
        %ul.navigation
            %li[for item in navigation]
                %a{'href': item.href}
                    $item.caption
        #contents
            $content
"""
tmpl = ghrml.GHRMLTemplate(hamlSource)

nav = [\
        {'href': 'pydev.su',
         'caption': 'main'},
        {'href': 'pydev.su/forum',
         'caption': 'forum'}
        ]

stream = tmpl.generate(content='Hello world', navigation=nav)
print stream.render('xhtml')
Результат:
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Hello World</title>
    <style type="text/css">
      body { font-family: sans-serif; }</style>
    <script type="text/javascript" src="foo.js"></script></head>
  <body>
    <div id="header"></div>
    <ul class="navigation">
      <li>
        <a href="item">
          main</a></li><li>
        <a href="item">
          forum</a></li></ul>
    <div id="contents">
      Hello world</div></body></html>
Что-то там и для Django есть...

Что бы заработал приведенный выше пример, в файле parser.py добавил строчку в конструкторе класса Parser
class Parser(object):
    """
    A generator based GHRML parser.
    """

    def __init__(self, source, filename=None, default_tag=DEFAULT_TAG,
                 basedir=None, lookup='strict', inline_directives=(),
                 standalone_directives=None):
        self.default_tag = default_tag # !!!
...

Last edited May 23, 2008, 4:48 p.m.

Круто!
GHRML недавно и на сырмаге появился (http://pypi.python.org/pypi/GHRML)
Be easy, stay cool
j2a
http://pypi.python.org/pypi/GHRML
Вот именно тот я и мучал :)

Очень радуюсь...

Осталось еще найти или написать что-то типа html2haml ^)
Евгений
j2a
http://pypi.python.org/pypi/GHRML
Вот именно тот я и мучал :)

Очень радуюсь...

Осталось еще найти или написать что-то типа html2haml ^)
А в чем проблема? Парсеров html - воз и маленькая тележка, тем более и сам Genshi (на котором и сделан GHRML) умеет это делать.

upd: ага, там надо сериализатор для GHRML писать

Last edited May 27, 2008, 5:18 p.m.

Be easy, stay cool