问题标签 [docpad]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
527 浏览

docpad - 如何以编程方式在 Docpad 中以每页为基础添加脚本或样式表

如何以编程方式将脚本或样式表标签添加到页面的 YAML 前端(元)中指定的页面?

假设有src/documents/posts/a.html.eco以下内容:

src/layouts/default.html.eco并具有以下内容的布局:

的最终结果posts/a.html应该是:

..而其他页面不应该有参考/scripts/a.js

标签上面的注释只是为了表明在注入标签之前可能需要进行一些处理。

我尝试了许多使用不同文件的方法(包括从插件events中获取的方法),但每次我都面临同样的问题 - 脚本标签被应用于所有页面,而不是仅应用于。这是我的尝试之一:docpad.coffeedocpad-plugin-livereloada.html

我也尝试过render事件populateCollections(没有记录,但我在docpad-plugin-livereload插件中找到了它)甚至extendTemplateData事件,到目前为止还没有运气。

我知道有一种方法可以在布局内执行此操作:

..这完全没问题,它确实可以按预期工作,但是它似乎没有为我提供足够的自由来在将内容注入页面之前对其进行操作..即使有可能我也不喜欢拥有的想法布局模板中有一些繁重的逻辑,我希望它在插件/docpad.coffee 中

希望这是有道理的

0 投票
2 回答
532 浏览

date - 在 DocPad 中格式化帖子的日期值

目前,如果我的帖子date: 2013-06-16在我的帖子中,并且我@document.date在帖子布局中这样做,我会得到“Sat Jun 15 2013 19:00:00 GMT-0500 (CDT)”。

我想获得不同的格式。就像2013-06-16pubdate HTML5 标签(或类似的东西)一样。

或者Jun 15, 2013对于人类可读的发布日期等。

我怎样才能做到这一点?顺便说一句,我的布局使用 .html.coffee 文件扩展名。:)

0 投票
1 回答
84 浏览

docpad - docpad 生成后的冗余文件 --env static

我正在使用Clean URLs 插件,我最终在 /out/ 目录中有多余的文件docpad generate --env static:一个 content.html 和 /content/index.html 中的相同

我想这是一个错误的行为?是否会因为docpad run为非静态行为创建文件,然后docpad generate --env static为其他文件创建文件?

0 投票
2 回答
80 浏览

javascript - 如何将 tamplateData 放入 Docpad 中的 javascript 文件中?

是否有一个DocPad插件可以预处理 js 文件并使用templateData变量和助手来获取可用的配置值?

我试过Hogan,我可以得到变量但不能调用助手......

0 投票
1 回答
240 浏览

breadcrumbs - DocPad 中的面包屑

我正在处理一个在文件和文件夹结构方面具有平面层次结构的项目,这意味着所有内容都直接从属于 URL。例如myproject.com/page1

这似乎使集成您在页面上的位置的面包屑概览变得更加棘手,因为内容的实际层次结构并不平坦。因此,大多数对初学者友好的 javascript 面包屑解决方案似乎都或多或少地从文件结构树中获取层次结构,在这里无法完成工作。

我正在考虑使用文档的元信息来分配/显示层次结构。不幸的是,我的咖啡脚本技能太低了,甚至无法正确考虑如何在这个级别集成面包屑。

我的想法(这可能不是最聪明的?!)是在元部分中具有像“tier1”、“tier2”和“tier3”这样的值,然后将它们转换为带有一些咖啡脚本魔法的面包屑链接结构。

有没有人有任何提示如何开始?我希望通过开始这个讨论来帮助其他人——也许我们想出一个比我的方法更漂亮的解决方案?

0 投票
1 回答
385 浏览

docpad - docpad: Use partials after rendering?

I'm building a plugin to generate site-wide menus; the data for these menus comes from scanning the rendered DOM for *.html.md files; but I only use the menu in one place (root of the site).

Plugin currently generates each page's part of this menu in writeBefore, which works fine as I walk the collection, handle each document, and write a file into the partials directory.

But since the docs have all been rendered already by that time, the <%- @partial('foo.html')%> call in my index.html.eco doesn't work unless I run docpad generate twice.

I assumed that if I set renderPasses to a value > 1, then the partials would get picked up on the > 1 pass, but that doesn't happen.

Is there an event I can use that's after an initial render (so there's a DOM to parse) but before partials get rendered?

Thanks.

0 投票
4 回答
722 浏览

docpad - 如何在 Docpad 中创建子菜单项?

我的文件夹结构如下

我的菜单结构是这样的

主页 | 关于我们 | 内饰 | 外观 | 画廊 | 帖子 | 接触

我通过列出页面集合来创建菜单,没关系!

如何通过列出内部/外部文件夹中的页面来为内部和外部添加子菜单项

预先感谢!

0 投票
0 回答
148 浏览

docpad - 用于将 [[ ]](双方括号)转换为 wiki 链接的 docpad 插件

我想要一个用于将 [[ ]](双方括号)转换为 wiki 的 docpad 插件。

我认为这是一个非常有用的插件,但我没有找到这种插件。

这个想法是转换这个:

当 [[ ]] 之间的内容正好是一页的标题时。

0 投票
1 回答
212 浏览

html - 使用 Docpad 缩小 html

有没有办法用 Docpad 渲染出缩小的 html?由于我懒得解释的原因,grunt 插件对我来说不是一个可行的解决方案。

0 投票
2 回答
218 浏览

docpad - 带有 docpad 的动态类别

我的博客中有以下帖子:

src/documents/posts/foo.html.md

src/documents/posts/bar.html.md

我想生成以下路线:

每条路线都有一个集合,其中只有所选类别中的帖子。这些帖子仍将位于标准位置:

奖励点:我还希望能够在我的布局中列出类别。就像是 :


是否已经存在提供这些功能的插件?如果没有,开始实施它的最佳方法是什么?

我已经在这个答案setFilter中看到了该方法,但是在解析每个帖子以获取类别后,我仍在努力找出如何生成新页面。

如果无法实现动态页面生成(我可以理解,因为它需要以特定顺序解析页面),那么在配置中使用静态数组会更容易吗?