docpad系统中的静态与动态内容 - 如何创建动态内容?
DocPad被描述为可与其他静态站点生成器进行比较,但它也被描述为“不限于静态站点生成”。docpad系统中的静态与动态内容 - 如何创建动态内容?
我一直在浏览DocPad网站和其他文档,还没有找到任何似乎解释如何合并动态内容的东西,以及可能涉及哪些类型的限制?
作为一个相对的初学者,我想知道是否有人可以帮助我更好地理解动态内容将被纳入DocPad的方法......?例如AJAX和动态服务器端脚本,用于在点击某个标签时将图片从Flickr动态加载到网页中...
谢谢。
因此,有几个方法DocPad利于动态内容:
经由
regenerateEvery
configuration option。这将每隔指定时间重新生成一次您的网站。与feedr等插件结合用于从远程供稿源(例如最近的社交活动)中提取数据时,以及repocloner这些插件可以克隆并保持项目中最新的git存储库,这非常棒。这个选项的好处是它很容易做到,并提供了一个动态网站的幻想。例如,Benjamin Lupton Website将应用此方法来保持主页上的统计数据以及侧栏中的社交数据保持最新。它每小时都会重新生成最新的信息。让它变得快速,而且也是虚幻的动态。通过dynamic
meta-data property。当设置为true
这告诉DocPad服务器,我们应该在每个请求上重新呈现该文档,而不是仅仅一次。这适用于search pages和misc forms的Kitchensink Skeleton。这种方式与PHP开发最相似。通过serverExtend
event。此事件允许您挂接并扩展DocPad服务器,允许您添加额外的服务器端逻辑,处理等。常见用例是向服务器添加额外路由以处理路由别名,添加表单处理,如联系人表单,或为Backbone.js应用程序添加RESTfulful接口。 DocPad Website将其用于add extra routing and a regenerate post-receive hook for the documentation。 NodeChat Skeleton将此用于add the Socket.io server-side logic。通过API。这种方式是涉及最多的,但如果您只希望DocPad成为现有node.js应用程序的一小部分,则可能会带来相当大的回报。有了这个,你可以在你的代码中创建一个DocPad实例并与之交互。 grunt-docs咕task任务利用此:)