問題タブ [scaml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - PlayでHAML、Scaml、またはJadeを使用する
PlayビューでHaml(またはScamlやJadeなどの同様の魅力的な言語)を使用することは可能ですか?
scala - Scalate テンプレートに変数を動的に含める
私は Scalate (具体的には scaml ですが、形式はあまり重要ではありません) を使用しており、多数のテンプレートで定義された多数の値を持っています。 これらの変数は、コンパイル時に常に認識されるわけではありません。 私の目的は、他のテンプレートの一部として含める単一の共有テンプレートでそれらを定義することです (一種のテンプレート継承)。また、これらの値を遅延インスタンス化したいと考えています。だから私が欲しいのは次のようなものです:
globals.scaml:
template.scaml:
次のように、いくつかの変数を渡しながら globals.scaml が正しいテンプレートをロードするように、これを逆にするなど、さまざまなスキームをいじりました。
globals.scaml:
しかし、これは、次のように、テンプレートでも val を実際に宣言した場合にのみ機能します。
問題は、すべての vals を宣言する必要があり、遅延評価が得られないため、これは実際にはすべてのテンプレートで自分自身を繰り返すよりも悪いことです。
Scalate でこれを行う (独自のプリパーサーを作成せずに) 方法はありますか?
scala - ScamlOptions.indent と ScamlOptions.nl を介して HTML 縮小をスケーリングします。
Scaml と Jade の Scalate マニュアルでは、出力された HTML を縮小するために使用できる ScamlOptions.nl と ScamlOptions.indent の 2 つのオプションがあると述べられています。また、「生成された scala テンプレート クラスに影響を与えるため、scaml テンプレートをコンパイルする前にこれらを設定する必要があります。」とも述べられています。テンプレートにJadeを使用するScalatraプロジェクトで、これらのオプションを 2 つの異なる方法で使用しようとしました。
- Scalatra プロジェクトの build.scala に ScamlOptions.nl =""とScamlOptions.indent=""を追加し、それぞれの依存関係を plugins.sbt に追加しました。次に、ターゲット ディレクトリからすべてを削除し、build.scala とすべてのテンプレート ソースを再コンパイルしました。役に立ちませんでした。
- それぞれのget("/")ルールが挿入されるサーブレットに同じ行を直接追加しました。ただし、コードのコンパイル後にプロパティが設定されるため、これは良い考えではないようです。検索結果はありません。
誰かがこれらのオプションを Scalatra プロジェクト内または独立して使用できましたか? おそらく私のエラーは sbt キャッシュに関連しています。ビルトインの Jetty サーバーでアプリケーションを起動しているときに縮小された HTML が出力されることがありますが、これは定期的ではないため、質問しています。誰かがこれを修正する方法の正確な一連の手順を提供できれば素晴らしいことです.