如何设置DocPad的日期URL插件



我最近从Octopress转换到了Docpad,非常高兴。我喜欢所有的东西,但有一件事困扰着我。目前,我网站上的所有路径都是直接从文件名构建的,例如www.site.com/posts/yyyy-mm-dd-title/。我想得到的是www.site.com/posts/yyyy/title。我找到了Date URL插件,但不知道如何设置它。我尝试将相关部分插入docpad.coffee,如下所示:

docpadConfig =
  plugins:
    dateurls:
      cleanurl: true
      trailingSlashes: true
      collectionName: 'posts'
      dateFormat: '/YYYY'
  templateData:
    site:

但似乎什么都没有改变。集合定义如下:

posts: ->
  @getCollection("html").findAllLive({relativeOutDirPath:'blog'},[date:-1]).on "add", (model) ->
    model.setMetaDefaults({layout:"post"})

--
EDIT(回应Lukasz Gornicki)

博客文件夹中的元数据示例:

---
title: "Les Sapeurs"
date: 2014-09-25 07:39
comments: false
language: english
tags: video
keywords: anton zujev, antzoo, zujev, sapeurs, style, congo
description: Les Sapeurs are fashionistas from Congo, whose style is a political and social outcry.
---

演员阵容文件夹中的元数据示例:

---
title: "Utan 7"
date: 2015-02-27 06:52
podfeed: utan
comments: true
---

我以前没有尝试过调试模式。现在我看到了,但我在日志中没有看到任何特别的东西。这是日志文件。

我已经在博客上安装了这个插件来查看它。我认为文档中有一个错误,或者它只是晚餐误导。文档没有明确说明url是根据date元数据构建的,dateFormat配置和文件基名称没有日期。我复制了你的配置,在我的博客上再次使用它,文章2015-02-16-test-test.html.md包含元数据:date: 2014-09-25 9:49

结果url:http://localhost:9778/2014/test-test/

所以这个插件是有效的。你认为docpad没有为插件选择任何配置吗?如果您使用docpad.coffee配置docpad,我建议您验证该文件,如果它是根据coffeescript规则创建的,并且您有正确的缩进。前段时间,我遇到了一种情况,我的配置文件增长了很多,有些配置因为缩进而没有被提取。

或者只允许访问该项目,这样我就可以看到并告诉你哪里出了问题。

查看项目后的答案的更多详细信息:文件名可以有日期。该插件使用正则表达式仅从文件名basename中提取字符串。

在本地,我已经在renderBefore事件中注释了你的钩子,安装了插件,添加了你的配置,如果涉及到url,一切都如预期。所以我得到了一个类似/2014/movie-quotes/的URL另一方面,当服务器启动时,它可以工作,但当我查看out-dir并尝试生成静态内容时,插件似乎不工作。这就是你说插件不起作用的意思吗?

最新更新