8 个版本
0.1.7 | 2023 年 8 月 11 日 |
---|---|
0.1.6 | 2023 年 8 月 10 日 |
0.1.0 | 2023 年 7 月 30 日 |
#284 在 模板引擎
每月 54 次下载
16KB
330 行
加布里埃尔博客系统
Gabs 是一个用于使用 GitHub Flavored Markdown 创建网站的简单系统。它仅包含一个用于创建网站和构建网站的命令。
安装
$ 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.css
或 global.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