gpt4 book ai didi

haskell - 为什么我的 "apply"标签在 Heist 0.11.0.1 中不再有效?

转载 作者:行者123 更新时间:2023-12-04 18:44:48 25 4
gpt4 key购买 nike

我最近升级了我正在使用的 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>

最佳答案

应用标签和其他标签一样是一个拼接。除了包含在 Heist 中之外,它没有任何特殊状态。因此,您必须在 HeistConfig 中绑定(bind)该接头。如果您使用的是解释模板,那么您可以这样做:

HeistConfig defaultInterpretedSplices [] [] [] templates

如果您使用的是已编译的模板,请使用以下命令:
HeistConfig [] defaultLoadTimeSplices [] [] templates

关于haskell - 为什么我的 "apply"标签在 Heist 0.11.0.1 中不再有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com