介绍
是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容(如文档、博客等),然后 会帮助你生成一个静态网站来展示它们。
诞生的初衷是为了支持 Rain.js 及其子项目的文档需求,但是现在它已经在帮助大量用户构建他们的文档、博客和其他静态网站。
它是如何工作的?
一个 站点本质上是一个由 Rain 和 Rain Router 驱动的单页面应用 (SPA)。
路由会根据你的 Markdown 文件的相对路径来自动生成。每个 Markdown 文件都通过 markdown-it 编译为 HTML ,然后将其作为 Rain 组件的模板。因此,你可以在 Markdown 文件中直接使用 Rain 语法,便于你嵌入一些动态内容。
在开发过程中,我们启动一个常规的开发服务器 (dev-server) ,并将 站点作为一个常规的 SPA。如果你以前使用过 Rain 的话,你在使用时会感受到非常熟悉的开发体验。
在构建过程中,我们会为 站点创建一个服务端渲染 (SSR) 的版本,然后通过虚拟访问每一条路径来渲染对应的 HTML 。这种做法的灵感来源于 Nuxt 的 nuxt generate
命令,以及其他的一些项目,比如 Gatsby。