使用Node.js构建静态网站的最佳方式(或包)是什么?

21

简介

如何使用 Node.js 搭建一个静态博客,支持 Markdown 和 RSS,就像 这位使用 Python 和 Django 所做的那样?


详细说明

我想使用 Node.js 搭建一个静态网站,最好使用现成的包,类似于 Ruby 的 Jekyll 或 Python 的 Hyde。我需要一些服务器端模板 (例如 jadeHAMLJinja),也许需要一些 Markdown 支持,但不是必要的。

我已经了解了 ExpressPetrifyNode-blog,但我不确定它们是否是正确的选择。

您有什么推荐的做法吗?


你有没有看过Node.js的Express框架?它非常棒,你可以很容易地打造自己的博客。 - Loktar
1
@Loktar:是的,我有。它是一个Web框架,更类似于Ruby的Sinatra或Python的Flask。对于静态网站来说,它有点过度设计了。 - Ory Band
我正在使用 http://npmjs.com/package/web-boost(twig + sass/scss + express => 静态网站)。 - D.Dimitrioglo
4个回答

15

我强烈推荐wintersmith。它是基于node构建的,并使用coffeescript编写。

来自wintersmith的功能页面:

  • 易于使用
  • 生成的站点可以在任何地方托管(输出为纯html)
  • 使用markdown编写文章/页面
  • 使用Jade进行强大的模板设置
  • 预览服务器(每次更改无需重新构建)
  • 高度可配置
  • 通过插件可扩展
  • 快速!

要查看它的实际效果,请查看这些示例

您还可以通过以下方法使一个wintersmith网站正常运行:

$ npm install wintersmith -g
$ wintersmith new <path>
$ cd <path>
$ wintersmith preview

我已经尝试了DocPad、wheat、scotch和blacksmith,发现wintersmith比DocPad(一个真正的静态网站生成器)更简单,并且开箱即用更好,维护得更好,而且更受插件支持。

我正在使用它重建我的两个网站。


9

我刚发布了Kerouac

我希望有一种最简单的(但如有需要,也能很灵活)方法来生成我的项目的静态网页。没有现有的解决方案完全符合要求,因此创建了Kerouac。它受到Express中间件概念的启发,因此如果您还在使用Node开发动态Web应用程序,则Kerouac将会感到非常熟悉。中间件方法即使对于静态站点也被证明是非常有效的,并产生了一个简单的高级API和一个无限灵活的低级API,以进行必要的调整和自定义。


2
然而,我对Passport(https://dev59.com/s3A75IYBdhLWcg3wDUi2)做了同样的事情,现在它是最受欢迎的答案!只是想确保试图解决这个问题的人们知道有一个有用的解决方案。 - Jared Hanson
@cHao 我认为这是完全可以接受的,因为它解决了我所提出的问题。 - Ory Band
一个可靠的解决方案。我非常喜欢它的简洁和可配置性。让我想起了Express。 - Rich Apodaca

8

来试试 DocPadhttp://docpad.org

DocPad 是一款以文档管理为基础的CMS。它有一个快速发展的社区提供支持和维护。它是模块化的,易于扩展,并能够在大型系统内使用。通过插件,它已经支持了许多标记语言和预处理器,为许多网站提供动力


1

看起来还处于早期阶段,文档也不是很完善,是吧? - Ory Band
它用于运行 http://howtonode.org/。 - generalhenry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接