用动态语言开发多个页面,但需要输出到静态HTML文件


Developing multiple pages in a dynamic language but need to output to static HTML files?

我正在制作网站模板,最终产品将是静态HTML文件。

我正在寻找的是PHP(或可能是Ruby)的东西,这将允许我在该语言中开发页面,然后在单击或命令中将文件输出到HTML(具有正确的结构和名称)。

您需要静态站点生成器。

一些例子:

  • Ruby: https://github.com/mojombo/jekyll
  • Python: http://ringce.com/hyde
  • node . js: http://docpad.org

你想要wget:)不,真的:用你使用的任何动态语言制作网站,然后用wget镜像它-你会得到一个完整的静态版本的网站:

wget -k -r——restrict-file-names=windows http://www.example.com/

表示-r递归下载站点,
-k转换链接,
避免在文件名

中使用?和类似的"特殊"字符。

这会让你得到一个完全静态版本的网站-注意,你想保持动态版本,以防你需要做出改变:然后你需要再次做这个转换(编辑静态版本是一个主要的PITA)。

我想你可能想要的基于PHP的解决方案是smarty模板引擎。http://www.smarty.net/。

一个ruby on rails的解决方案是使用thoughtbot的高压rails插件https://github.com/thoughtbot/high_voltage

缓冲输出,并为您的页面设置一个命名方案。PHP有一个函数,可以让你缓冲到一个变量,然后保存- ob_start()。