在docpad中是否有一种有效的方法可以将静态和待渲染文件保存在同一目录中?

时间:2014-04-03 23:00:10

标签: docpad

我正在使用docpad重建网站,并且形成一个对我的内容创建工作流程有意义的文件夹结构非常自由,但是我遇到了docpad难以分割内容的问题。渲染vs'静态'内容。

Docpad建议您将图像之类的内容放在/ files而不是/ documents中,文档会使声音听起来好像会产生一些处理开销。

  • 首先,我想要一个解释,如果有人知道为什么一个文件有一个 单个扩展(因此没有渲染),没有YAML前端问题, 如.jpg,会影响放置时的站点再生时间 在/ documents。

  • 第二,真正的问题:如果它确实创造了一个方法,那就有办法了 性能打击,缓解它?例如,指定'忽略' 列表与正则表达式等...

我的用例

我想对帖子及其相关图片执行此操作,以便更有效地创作帖子。我可以很容易地看到我必须使用的图像,所有相关文件都在一个地方。

我也正在为我正在展示的艺术品做这件事。在这种情况下,它是一个更强大的用例,因为我的html.eco文件中的唯一数据是yaml各种元数据的前端问题,我的布局自动从位于同名文件夹中的所有附加图像生成库。这篇文章。我可以匹配我的/ files目录中的相对输出路径文件夹但是它容易出错,因为在创建图像文件夹时你在一个文件夹(src / files / artwork /)和另一个文件夹(src / documents / artwork /)创建html文件 - 拼写错误的可能性更大(因为你无法看到文件夹和html文件并排)......

即使没有证明用例,我也看不出为什么docpad应该进行如此严格的划分。如果可以以任何方式避免,则不应将性能考虑因素传递给最终用户;因为使用docpad我可能会通过文件系统管理我的博客,所以我应该完全控制该结构,当然不希望我的内容根据某些框架限制或性能问题而不是基于逻辑内容划分来划分。

1 个答案:

答案 0 :(得分:2)

我认为关键是关于“元数据”的界限。即使文件没有双重扩展,它仍然可以在文件顶部有需要扫描和读取的元数据。双扩展实际上只是告诉docpad将文件从一种格式转换并输出为另一种格式。如果我在文档文件夹中创建一个直接的html文件,我仍然可以在表单中包含元数据标题:

---
tags: ['tag1','tag2','tag3']
title: 'Some title'
---

将文件复制到out目录时,将删除此元数据。如果我对files目录中的html文件做同样的事情,该文件将被复制到out目录,元数据头完整无缺。因此,您的问题的答案是,即使您的文件只有一个扩展名并且没有“渲染”,它仍然需要打开和处理。

然而,你提出的观点是好的。将图像和文档保持在一起。我可以看到一个很好的论据,可以排除某些文件扩展名(如图像文件)的处理。或者,也许只包括某些文件扩展名。