docpad系统中的静态与动态内容 - 如何创建动态内容?

son*_*olo 6 ajax static dynamic docpad

DocPad被描述为与其他静态站点生成器相当,但它也被描述为"不限于静态站点生成".

我一直在浏览DocPad网站和其他文档,但还没有找到任何似乎可以解释如何合并动态内容的内容,以及可能涉及哪些类型的限制?

作为一个相对初学者,我想知道是否有人可以帮助我更好地理解将动态内容整合到DocPad中的方法......?例如AJAX和动态服务器端脚本,用于在单击某个标签时动态将图片从Flickr加载到网页中...

谢谢.

bal*_*ton 12

因此,DocPad可以通过几种方式促进动态内容:

  1. 通过regenerateEvery 配置选项.这将按照您指定的频率重新生成您的网站.当与诸如馈送器之类的插件结合使用以从远程馈送源(例如您最新的社交活动)中提取数据时,以及在您的项目中克隆并保持git存储库最新的repocloner时,这非常棒.这个选项的好处是它很容易做到,并提供动态网站的幻觉.例如,Benjamin Lupton网站应用此方法来保持主页上的统计数据,以及最新的侧边栏中的社交数据.每小时它都会根据最新信息进行再生.使它快速,而且动态不明显.

  2. 通过dynamic 元数据属性.当设置为to true告诉DocPad服务器时,我们应该在每个请求上重新呈现该文档,而不是仅仅一次.这在Kitchensink Skeleton中适用于搜索页面misc表单.这种方式与PHP开发最相似.

  3. 通过serverExtend 活动.此事件允许您挂钩和扩展DocPad服务器,允许您添加额外的服务器端逻辑,处理等.常见的用例是向服务器添加额外的路由以处理路由别名,添加表单处理(如联系人)表单,或为Backbone.js应用程序添加RESTULful接口.该DocPad网站使用它来添加额外的路由和本文档的再生后收到钩.该NodeChat骷髅使用它来添加Socket.io服务器端逻辑.

  4. 通过API.这种方式是最复杂的,但如果您希望DocPad成为现有node.js应用程序的一小部分,则可能非常有益.有了这个,您可以在代码中创建DocPad实例并与之交互.该咕噜-docs的咕噜任务利用此:)