1

是否可以将站点导航添加到部分文件?

我喜欢在我的文档中保持干净,并且真的更喜欢分离导航,但是当我将导航添加到 Partial 文件时,我在 Docpad 中遇到了问题。

我用的是翡翠而不是生态。当我将导航放在我的 default.html.md.jade 文件中时,它可以完美运行。

当我将代码放入 partials/nav.html.jade 时,我收到此错误:警告:渲染时出现问题:html5-boilerplate.docpad/src/partials/nav.html.jade

这显示在编译的 HTML 中:

<header>TypeError: Object #<Object> has no method 'getCollection'</header>

这是我的导航代码:

nav
    ul
        each doc in getCollection('pages').toJSON()
            - clazz = (document.url === doc.url) ? 'active' : null
            li(class=clazz)
                a(href=doc.url, title=doc.title)= doc.title

这就是我在 docpad.coffee 中设置收藏的方式

    collections:
            pages: (database) ->
                database.findAllLive({pageOrder: $exists: true}, [pageOrder:1,title:1])

            posts: (database) ->
                database.findAllLive({relativeOutDirPath:'posts'},[date:-1])
4

1 回答 1

3

更新:Partials Plugin v2.8.0+ 现在默认包含模板数据,所以现在应该可以正常工作,而无需手动指定包含模板数据。有关详细信息,请参阅部分插件页面。

默认情况下,partials 没有任何模板数据(出于速度原因)。要访问模板数据,您可以像这样将其传递给部分调用(在生态中,不熟悉玉)<%- @partial('the-partial-location', @) %>:你也可以通过只传递你需要的东西来更精确和更高效地做到这一点:<%- @partial('the-partial-location', {something:@something, somethingElse: @somethingElse) %>

更多信息在这里

于 2013-05-19T05:09:33.600 回答