2

happstack で blitz やその他のコンパイル時テンプレート ライブラリを使用する方法に関するドキュメントはたくさんありますが、html ファイルをテンプレートとして使用する方法を知りたいです。

4

2 に答える 2

1

多くのオプションがありますが、私のお気に入りは ですHeist。これにより、次のように定義できますsplice

> factSplice :: (Monad m) => TemplateMonad m Template
> factSplice = do
>   input <- getParamNode
>   let text = T.unpack $ X.nodeText input
>       n    = read text :: Int
>   return [X.TextNode $ T.pack $ show $ product [1..n]]
>

これは、動的 (実行時にロードされる)HTMLテンプレートで使用できます。

<html>
  <head>
    <title>Factorial Page</title>
  </head>
  <body>
    <h1>Factorial Page</h1>
    <p>The factorial of 6 is <fact>6</fact></p>
  </body>
</html>

で使用するheistには、 happstack-heistパッケージhappstackが必要です。詳細およびその他のオプションについては、Heist の使用 を参照してください。

于 2011-06-23T13:38:36.533 に答える
0

HStringTemplate パッケージは、HTML だけでなく、あらゆる種類のテキスト出力に対して非常に一般的なランタイム テンプレート システムを提供します。

http://hackage.haskell.org/packages/archive/HStringTemplate/0.6.6/doc/html/Text-StringTemplate.html

HStringTemplate パッケージは、オプションのパッケージによって提供されるいくつかの追加インスタンスを通じて、Happstack とうまく統合されます: http://hackage.haskell.org/package/happstack-hstringtemplate

于 2011-06-23T14:00:05.913 に答える