8 个版本

0.1.7 2023 年 8 月 11 日
0.1.6 2023 年 8 月 10 日
0.1.0 2023 年 7 月 30 日

#284模板引擎

Download history 5/week @ 2024-03-10 45/week @ 2024-03-31

每月 54 次下载

MIT 许可证

16KB
330

加布里埃尔博客系统

Gabs 是一个用于使用 GitHub Flavored Markdown 创建网站的简单系统。它仅包含一个用于创建网站和构建网站的命令。

安装

您可以从 crates.io、源代码或 发布页面 安装它。

$ cargo install gabs

或者

$ git clone https://github.com/gboncoffee/gabs
$ cargo build --release
$ # then link the executable to somewhere in your path

用法

首先,在您的网站目录内部,运行命令以创建 _gabs 目录并构建一个简单的默认示例。

_gabs 目录中,放置您的文件。HTML 文件是模板,Markdown 文件将与之构建。样式表和脚本将直接复制到其位置,并链接到其模板。示例

  • 文件 _gabs/index.md 将构建为 index.html
  • 文件 _gabs/posts/post.md 将构建为 posts/post.html
  • 文件 _gabs/index.html 是一个名为 "index" 的模板
  • 文件 _gabs/index.css 将是具有 "index" 模板的任何文件的样式表,并将其复制到 index.css

如果存在名为 footer.html 和/或 header.html 的文件,它们将被添加到每个文档的底部和顶部 <body>

如果存在名为 global.cssglobal.js 的文件,它们将被链接到每个文档。

请注意,Markdown文件的文件名没有任何含义。要定义Markdown文件的模板,请阅读以下内容

Markdown文件的Gabs头信息

Markdown文件可以有一个特殊的第一个行,称为Gabs头信息。它看起来是这样的

#!gabs <template>: <title>

这一行定义了用于构建文件的模板和该特定页面的标题。例如,以下代码#!gabs index: Hello, World!声明该文件应针对"index"模板构建,并且标题为"Hello, World!"当然,这一行不会被复制到最终的HTML文件中。

Gabs模板

模板是普通的HTML文件。在它们内部,一个像"<!-- gabs -->"这样的注释将被从Markdown文件生成的HTML所替换。例如,在定义在post.html的模板"post"中,这

<div id="post">
  <!-- gabs -->
</div>

将把具有模板"post"的每个文档的生成的HTML放入一个id为"post"的div中。请注意,注释周围的空白无关紧要,但注释本身应完全匹配"<!-- gabs -->"。

依赖关系

~5–14MB
~170K SLoC