【问题标题】:Using a static website generator with forms and data-driven content?使用带有表单和数据驱动内容的静态网站生成器?
【发布时间】:2016-10-26 14:39:29
【问题描述】:

我正在考虑使用静态生成器从 json 或 csv 文件生成多达数十万页(在 S3 上)的数据驱动内容,每个文件都有一个发布到外部 API 的 html 表单。这是一项可行的事业吗?

【问题讨论】:

  • 为什么会被否决?下面的答案是一个真正问题的好答案。它不是很明显,也不是太宽泛,在某些时候有人可能会有同样的问题。我错过了什么?

标签: amazon-s3 jekyll hugo


【解决方案1】:

这取决于您的要求,但至少,您甚至可以使用一个使用fs 进行读/写的简单节点程序。在复杂性范围内,您可能会使用 Gulp 设置。更进一步,您可以使用静态网站生成器来读取/写入您的数据文件(但只有当您已经了解静态生成器和/或您想要拥有一个 博客 在 S3 上也是如此,由 .MD 文件驱动,此外还有数十万个数据驱动的页面)。

如果采用简单的节点脚本路由,您将在 js 文件中创建本地应用程序,通过 node.js 中的命令行运行它。它会在本地生成 数千个页面,然后您将它们上传到 S3。您可以使用标准的后备或使用 Promise 的更高级的方式(例如使用 Bluebird)。这种方式最手动,但您对结果的控制最多。

为了记录,您可以使用您精通的任何编程语言编写脚本,例如 PHP。 JavaScript 现在很流行,这就是我假设你会使用 JS 的原因。

如果走 Gulp 路线,我想象一个自定义函数,reads 来自该位置的数据文件,将其内容解析为一个数组,并将 writes 内容解析为文件。

如果走 Hugo 路线,只需使用 data driven content 参考,getCSV 函数。你仍然需要在网站的环境中工作,这意味着你越是偏离网站的设置,你就越需要与 Hugo 对抗。

正如我所提到的,反对静态网站生成器的论点是,如果你不需要 website 部分,只需要对数据执行操作和写入文件,它可能会有所阻碍。 p>

Hugo 对于数以千计的文件来说是一个不错的选择,因为它速度很快。

解决方案还取决于您的 CSV 文件是否会更改,或者是一次性的;还有你需要多少自动化。即使你走雨果路线,Gulp 方法也可能很方便。

所以,是的,这是一项非常可行的工作

【讨论】:

    猜你喜欢
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    相关资源
    最近更新 更多