我已经开始深入研究我当前项目的Docpad,到目前为止,我已经发现了3种包含内容的方法。
我们每个文档只能使用内容变量一次。但通常我们在静态模板中有多个位置需要包含内容。那么为什么我们需要使用内容变量,如果我们总是可以使用包含,或部分(安装时),而不是这个限制只限于每个文件的单次使用?我想包含内容的每种方式都有自己的优点,缺点和用例。所以我想知道哪种方式最合适,假设我们想在一个布局中多次包含内容?
答案 0 :(得分:0)
好的 - 我想我知道你要做什么。页面上可能有您想要拥有内容的各个位置。标准方法是在您想要内容的每个位置使用部分。另外,请记住,您也可以从局部内部调用部分内容。这是我的博客页面的一个示例:
<% for doc in @getCollection('posts').toJSON(): %>
<%- @partial('content/post.html.eco',{document:doc,showComments:false}) %>
<div class="hr clearfix"> </div>
<% end %>
在我所拥有的部分中:
<article class="panel">
<header>
<h3 class="title"><a href="<%= @document.url.replace(/\\/g, '/') %>"><%=@document.title%></a><time datetime="<%=@document.date.toISOString()%>" class="postdate"><%=@document.date.toDateString()%></time></h3>
</header>
<!-- Post Data -->
<p class="sub"><strong class="tag_bg"></strong>
<%for tag in @document.tags: %>
<a class="catlink" href="/"><%=tag%></a>
<%end%>
<a class="commentlink" href="#">0</a>
</p>
<% if (@document.image):%>
<figure>
<a class="islink_m" href="#" data-rel="prettyPhoto[mixed]" title="<%=@document.title%>"></a>
<span class="image-holder-medium">
<img class="thumb" style="display:block;margin-left:auto;margin-right:auto;" alt="" src="<%=@document.image%>"></span>
</figure>
<%end%>
<p><%-@document.content%></p>
<footer>
<%if(@showComments):%>
<%- @partial('content/social.html') %>
<%- @partial('content/disqus.html.eco', {site:@site,document: @document}) %>
<%end%>
</footer>
</article>