72

私はたまたまHAMLに出くわしました。これは、コンテンツをマークアップし、HTML のテンプレートを作成するための興味深い美しい方法です。

私は Web 開発のニーズに Python と Django を使用しているので、Django テンプレート エンジンを置き換えるために使用できる HAML の Python 実装 (またはいくつかの同様の概念 - まったく同じである必要はありません) があるかどうかを確認したいと思います。

4

12 に答える 12

38

SHPAML に興味があるかもしれません:

http://shpaml.com/

積極的にメンテナンスしています。これは単純なプリプロセッサであるため、Genshi のような他のツールには結び付けられていません。私はたまたま Django と一緒に使用しているので、Django のサポートが少しありますが、他のほとんどのユース ケースに干渉することはありません。

于 2009-12-19T21:33:50.660 に答える
21

GHRML、 Haml for Genshi をチェックします。著者は、これは基本的に Python 用の Haml であり、ほとんどの構文が同じであること (および Django で動作すること) を認めています。以下は、それらがどれほど近いかを示すための GHRML です。

%html
  %head
    %title Hello World
    %style{'type': 'text/css'}
      body { font-family: sans-serif; }
    %script{'type': 'text/javascript', 'src': 'foo.js'}

  %body
    #header
      %h1 Hello World
    %ul.navigation
      %li[for item in navigation]
        %a{'href': item.href} $item.caption

    #contents
      Hello World!
于 2009-02-06T09:36:46.713 に答える
21

私は同じものを探しています。私はそれを試していませんが、これを見つけました:

http://github.com/jessemiller/HamlPy

于 2010-07-24T11:56:45.470 に答える
6

あなたはプリムに興味があるかもしれません。これはSlimの成熟した python ポートです。

于 2013-07-31T12:16:42.920 に答える
4

これは実際にはあなたの質問に答えるものではありませんが、HAMLのCSSコンポーネントであるSASSは、どのフレームワークでも自由に使用できます。私は今Djangoでそれを使用しています。

于 2009-10-17T17:18:24.910 に答える
3

最近調べていたので、GHRMLビットのステータスがわかりません。リポジトリが見つかりません。元の開発者にはもう時間がなく、プロジェクトに関心のある他の誰かがメンテナンスを引き受けました。これに関する追加情報があれば役立ちます。

残念ながら、これらのことが進むにつれて、私は独自のHAMLスタイルのプロセッサを書き始めました;)

http://dasacc22.wordpress.com/2010/05/03/python-implementation-of-haml/

現時点では、本番環境での使用には適していません(現在、文字通り4日齢の乳児ですが、この4日間で60時間以上詰め込まれています)が、興味のある方はこちらでチェックしてください。おもちゃとして役立つさまざまな機能がすでに実装されており、来週にコードベースをクリーンアップするときに、私が持っているすべてのカスタムXSLT/xpath拡張機能とテンプレートに取って代わることを期待しています。

于 2010-05-04T13:22:42.363 に答える
3

私のプロジェクトPyHAMLは、非常に HAML に似た構文を提供する Mako プリプロセッサです。Ruby の中には Python にうまく変換できないものもあるため、多少の違いはありますが、精神は同じです。

于 2012-05-23T03:57:01.697 に答える
2

これを作成したばかりですhttp://github.com/fitoria/django-hamlまだ非常に初期の段階ですが、動作します。

于 2010-08-16T20:55:55.423 に答える
2

Daniel Skinner のプロジェクト (上記) は DMSL に名前が変更されたようです。非常に強力なようで、HAML をエミュレートしますが、その構文で Python 関数、ラムダ、内包表記などを使用できます: https://github.com/dasacc22/dmsl

于 2011-03-02T18:46:17.037 に答える