【问题标题】:Static vs. dynamic content in docpad system - how to create dynamic content?docpad 系统中的静态与动态内容 - 如何创建动态内容?
【发布时间】:2013-04-29 16:36:17
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: ajax dynamic static docpad


    【解决方案1】:

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

    1. 通过regenerateEveryconfiguration option。这将每隔您指定的频率重新生成您的网站。当与feedr 等插件结合使用时,这非常棒,用于从远程提要源(如您的最新社交活动)中提取数据,以及repocloner 用于克隆并在您的项目中保持一个 git 存储库是最新的。这个选项的好处是它真的很容易做并且提供了一个动态网站的错觉。例如Benjamin Lupton Website 应用此方法来保持主页上的统计信息以及侧边栏中的社交数据是最新的。每小时都会使用最新信息重新生成。让它变得快速,而且还具有梦幻般的动态。

    2. 通过dynamicmeta-data property。当设置为 true 时,这告诉 DocPad 服务器我们应该在每个请求上重新呈现该文档,而不是只呈现一次。这在Kitchensink Skeleton 中对search pages 和misc forms 非常有效。这种方式最类似于PHP开发。

    3. 通过serverExtendevent。此事件允许您连接和扩展 DocPad 服务器,允许您添加额外的服务器端逻辑、处理等。常见的用例是向您的服务器添加额外的路由以处理路由别名,添加表单处理,例如联系人表单,或为 Backbone.js 应用程序添加 RESTULful 接口。 DocPad Website 将其用于add extra routing and a regenerate post-receive hook for the documentation。 NodeChat Skeleton 将其用于add the Socket.io server-side logic。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 2014-05-24
      • 1970-01-01
      • 2011-07-12
      相关资源
      最近更新 更多