问题标签 [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.
docpad - 如何以编程方式在 Docpad 中以每页为基础添加脚本或样式表
如何以编程方式将脚本或样式表标签添加到页面的 YAML 前端(元)中指定的页面?
假设有src/documents/posts/a.html.eco
以下内容:
src/layouts/default.html.eco
并具有以下内容的布局:
的最终结果posts/a.html
应该是:
..而其他页面不应该有参考/scripts/a.js
标签上面的注释只是为了表明在注入标签之前可能需要进行一些处理。
我尝试了许多使用不同文件的方法(包括从插件events
中获取的方法),但每次我都面临同样的问题 - 脚本标签被应用于所有页面,而不是仅应用于。这是我的尝试之一:docpad.coffee
docpad-plugin-livereload
a.html
我也尝试过render
事件populateCollections
(没有记录,但我在docpad-plugin-livereload
插件中找到了它)甚至extendTemplateData
事件,到目前为止还没有运气。
我知道有一种方法可以在布局内执行此操作:
..这完全没问题,它确实可以按预期工作,但是它似乎没有为我提供足够的自由来在将内容注入页面之前对其进行操作..即使有可能我也不喜欢拥有的想法布局模板中有一些繁重的逻辑,我希望它在插件/docpad.coffee 中
希望这是有道理的
date - 在 DocPad 中格式化帖子的日期值
目前,如果我的帖子date: 2013-06-16
在我的帖子中,并且我@document.date
在帖子布局中这样做,我会得到“Sat Jun 15 2013 19:00:00 GMT-0500 (CDT)”。
我想获得不同的格式。就像2013-06-16
pubdate HTML5 标签(或类似的东西)一样。
或者Jun 15, 2013
对于人类可读的发布日期等。
我怎样才能做到这一点?顺便说一句,我的布局使用 .html.coffee 文件扩展名。:)
docpad - docpad 生成后的冗余文件 --env static
我正在使用Clean URLs 插件,我最终在 /out/ 目录中有多余的文件docpad generate --env static
:一个 content.html 和 /content/index.html 中的相同
我想这是一个错误的行为?是否会因为docpad run
为非静态行为创建文件,然后docpad generate --env static
为其他文件创建文件?
javascript - 如何将 tamplateData 放入 Docpad 中的 javascript 文件中?
是否有一个DocPad插件可以预处理 js 文件并使用templateData变量和助手来获取可用的配置值?
我试过Hogan,我可以得到变量但不能调用助手......
breadcrumbs - DocPad 中的面包屑
我正在处理一个在文件和文件夹结构方面具有平面层次结构的项目,这意味着所有内容都直接从属于 URL。例如myproject.com/page1
这似乎使集成您在页面上的位置的面包屑概览变得更加棘手,因为内容的实际层次结构并不平坦。因此,大多数对初学者友好的 javascript 面包屑解决方案似乎都或多或少地从文件结构树中获取层次结构,在这里无法完成工作。
我正在考虑使用文档的元信息来分配/显示层次结构。不幸的是,我的咖啡脚本技能太低了,甚至无法正确考虑如何在这个级别集成面包屑。
我的想法(这可能不是最聪明的?!)是在元部分中具有像“tier1”、“tier2”和“tier3”这样的值,然后将它们转换为带有一些咖啡脚本魔法的面包屑链接结构。
有没有人有任何提示如何开始?我希望通过开始这个讨论来帮助其他人——也许我们想出一个比我的方法更漂亮的解决方案?
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.
docpad - 如何在 Docpad 中创建子菜单项?
我的文件夹结构如下
我的菜单结构是这样的
主页 | 关于我们 | 内饰 | 外观 | 画廊 | 帖子 | 接触
我通过列出页面集合来创建菜单,没关系!
如何通过列出内部/外部文件夹中的页面来为内部和外部添加子菜单项
预先感谢!
docpad - 用于将 [[ ]](双方括号)转换为 wiki 链接的 docpad 插件
我想要一个用于将 [[ ]](双方括号)转换为 wiki 的 docpad 插件。
我认为这是一个非常有用的插件,但我没有找到这种插件。
这个想法是转换这个:
至
当 [[ ]] 之间的内容正好是一页的标题时。
html - 使用 Docpad 缩小 html
有没有办法用 Docpad 渲染出缩小的 html?由于我懒得解释的原因,grunt 插件对我来说不是一个可行的解决方案。
docpad - 带有 docpad 的动态类别
我的博客中有以下帖子:
src/documents/posts/foo.html.md
src/documents/posts/bar.html.md
我想生成以下路线:
每条路线都有一个集合,其中只有所选类别中的帖子。这些帖子仍将位于标准位置:
奖励点:我还希望能够在我的布局中列出类别。就像是 :
是否已经存在提供这些功能的插件?如果没有,开始实施它的最佳方法是什么?
我已经在这个答案setFilter
中看到了该方法,但是在解析每个帖子以获取类别后,我仍在努力找出如何生成新页面。
如果无法实现动态页面生成(我可以理解,因为它需要以特定顺序解析页面),那么在配置中使用静态数组会更容易吗?