最近、使用している Heist のバージョンをアップグレードしました。それはほとんど恣意的な決定であり、私はその行動の結果をまだ見ています。主に、より快適なコード構造の観点からです。
しかし、サイトのヘッダーやメニューなどのボイラープレート コンポーネントを導入するために、テンプレート内の「適用」タグにかなり依存していました。私にとって、典型的なテンプレートは次のようになります。
<html>
<head>
<title> <PageTitle /> </title>
<link rel="stylesheet" type="text/css" href="/styles/style.css" />
<link rel="alternate" type="application/rss+xml" title="${PageTitle} Feed" href="http://www.savannidgerinel.com/rss" />
</head>
<body class="center">
<apply template="header" />
<div id="content">
<h1><PageTitle /></h1>
<ul>
<PageMetadata />
</ul>
<PageContent />
</div>
</body>
</html>
そして、私は今、次のようにテンプレートをロードしています:
setup_heist template_dir = do
templates <- Heist.loadTemplates template_dir
hs <- Heist.initHeist (Heist.HeistConfig [] [] [] [] templates)
return hs
これは、私がテンプレートをロードするために使用した方法 (まだloadTemplates
関数を使用している) と大差ありませんが、私が慣れていない強盗状態を設定する別の方法です。
しかし、今でapply
はどのタグも効果がありません。私の「含まれる」テンプレートはまったく読み込まれず、結果の HTML 内に次のように表示されます。
<apply template='header'></apply>