ERbは、Rubyの世界における標準のマークアップ言語です。 これは、Rubyに挿入されたHTMLです。 Elixirの世界では、EExも同じ役割を果たします。 同じ構文ですが、Rubyの代わりに-Elixir。 これは次のようなものです。
<!DOCTYPE html> <html> <head> <title></title> <meta name="keywords" content="template <%= language_name %>"> <meta name="author" content="<%= user_name %>"> </head> <body> <h1 class="page-header"><%= page_header %></h1> <div id="content"> <p><%= page_content %></p> . </div> </body> </html>
同じものを読みやすさを損なうことなく1.5倍短く書くことができます。
会う:スリムなマークアップ言語とそのエリクサーアナログスライム:
テキストの代わりに写真をおaびします。Habrは間違ってスリムをハイライトします。
特徴
- ネストはインデントによって制御されます。 とにかく、コードをフォーマットします。
- 識別子とクラスの略記構文。
- タグ名が指定されていない場合、
div
置換されます。 属性は、オプションで角かっこで囲むか、または囲まないことができます。
meta name="author" meta[name="author"] meta(name="author") meta{name="author"}
- テキストエディタでサポートされています。 一般に、構文の強調表示がなければ、slimを使用することはできません。タグの名前とそのコンテンツがマージされます。 そして、バックライトですべてが大丈夫です。
- 一般的なフレームワーク( Rails 、 Sinatra 、 Phoenix )との統合があります。
- 速く動作します。 これが2014年のベンチマークです。 SlimはErbよりわずかに遅いようです(SlimeはEEx速度で実行されます)。
プロジェクトをスリムに転送する方法は?
オンラインコンバーターがあります 。 多くのテンプレートがない場合に適しています。 すべてのプロジェクトテンプレートを変換するhtml2slim gemがあります。
$ gem install html2slim $ erb2slim app/views
プロジェクトをSlimeに転送する方法は?
Elixirのプログラマーは、rubistよりも少ない(ちなみに、彼らは "elixirists"と呼ばれていますか?)。 スライムはあまり使用されません。 一般的に、EExで1時間を過ごした後、Slimの実装を探していたときに、Slimeエコシステムが未熟な状態にあることを発見しました。 つまり 言語自体は機能し、フェニックスと完全に統合されましたが、全体的な印象はドロップダウンキーのあるキーボードのようでした。
まあ、これはオープンソースです。 袖をまくり、Sublime TextにSlimeのサポートを追加し、言語の公式Webサイト( slime-lang.com )を改善し、変換用のeex2slimeユーティリティを作成しました。 オープンソースのhex.pmおよびchangelog.comソースで確認しました。Slimeの小さな制限のため、ソーステンプレートを少し準備する必要がありましたが、一般に変換は成功しました。 このユーティリティはhtml2slim gemの適応であるため、動作するにはRuby> = 1.9.3が必要です。 使用法:
$ gem install eex2slime $ eex2slime lib/web/templates/
オンラインコンバーターも作りました。 これまでのところ、スライム-> eexモードでのみ動作します。 特定のSlimeテンプレートがどのように機能するかを確認するのに役立ちます。
それは価値がありますか?
Slimでのコードの記述と編集は、Erbよりも高速です。 マイナス面:誰もが彼を知っているわけではありません。 一部の人にとって、構文は読みにくいようです。 ただし、簡単に習得でき、構文の強調表示によって読みやすさの問題が解消されます。
プロジェクトチームが小さく、同僚が気にしない場合は、Slim / Slimeを試してみる価値があります。
PSタグの山を書くのが不便で、Slimが構文を気に入らない場合は、 Emmetを試すことができます。