私のウェブサイトのHTMLを記述するために使用できる言語はありますか?
たとえば、JSにとってCoffeeScriptとはHTMLである必要があります。
また、あなたが提案したことをどのように体験しましたか?
Webテンプレートエンジンの比較 および Scalaタグ もご覧ください。
良い選択は Haml です。 Hamlでは、HTMLの簡素化されたフォームに似た高度に構造化されたマークアップを記述し、一般的なものには簡単なショートカットがあります。たとえば、div
、id
、またはclass
の要素を追加するには、1文字を変更するだけです。
変数を渡して、スクリプト言語に任せることで、選択した言語で変数を操作することもできます。そのため、暗黙的なスクリプトで完全なチューリングを実現できるため、実際にはHTMLよりも強力です。
次に例を示します。
%body
#header
%h1 Bob Loblaw's Law Blog
%h2 by Bob Loblaw
#content
- @entries.each do |entry|
.entry
%h3.title= entry.title
%p.date= entry.posted
#footer
%p
All content copyright © Bob Loblaw.
これは次のようになります。
<div id='header'>
<h1>Bob Loblaw's Law Blog</h1>
<h2>by Bob Loblaw</h2>
</div>
<div id='content'>
<div class='entry'>
<h3 class='title'>You don't need double-talk; you need Bob Loblaw</h3>
<p class='date'>Tuesday, October 31, 2006</p>
</div>
<div class='entry'>
<h3 class='title'>Why should you go to jail for a crime someone else noticed?</h3>
<p class='date'>Friday, August 11, 2006</p>
</div>
</div>
<div id='footer'>
<p>
All content copyright © Bob Loblaw.
</p>
</div>
友人と私がLayxを始めたばかりです。Cassowaryに基づく新しいレイアウト言語、Appleがユーザーインターフェイスに使用している制約解決ツールキットです。これはWeb専用ですが、マルチプラットフォームになります-モバイルネイティブ-いつか。
これは非常にシンプルで簡単なように(Pythonのように)設計されており、要求どおり、レイヤーを移動またはサイズ変更する必要がある場合はインターフェイスを更新する必要があるため、内部的にHTMLに動的にコンパイルされます。
これは本当に新しいプロジェクト-アルファ版-なので、それを知って試してください。
プロジェクトのウェブサイト: http://www.layx.org/
オンラインデモ: http://www.layx.org/demo/
オープンソースリポジトリ: http://github.com/layxlang/layx
お役に立てば幸いです。フィードバックをお待ちしています。
よろしく
EDIT(2015年1月8日):オープンソースリンクが追加されました
編集(2015年1月15日):デモリンクが追加されました
質問が古いことはわかっていますが、答えを探してそれを取得しました。自分で返信を更新すると思いました。
すでに指摘したように、問題は主に テンプレートエンジン (あまり言語ではない)を要求するため、要点はHTMLの生成です。
目的がCoffeeScriptと整合することである場合、 CoffeeKup が適しています。個人的には、私が見たものの中で、簡潔さの検索で Pug が私に最もよく見えるものであり、Hamlに大きく影響され(受け入れられ、トップの回答)、それを改善します(私見)いくつかの面で:より簡潔、よりエレガントで明確(主観的、十分に公平)、JavaScriptベースであるためRubyを必要としません。
あなたは本質的に、HTMLに変換できる 軽量マークアップ言語 を求めています。その人気のある有名な例には BBCode 、 Markdown が含まれます、および MediaWikiマークアップ 。
独自のカスタム形式を使用してWebサイトをXMLとして定義し、次に [〜#〜] xslt [〜#〜] を使用してHTMLに変換できます。過去にそれを行いました:)
Processing.js を試すことができます。キャンバスをホストするにはまだHTMLシェルが必要ですが、実際には、Processing/Javaを使用してサイトをコーディングできます。