#静态站点生成器 #监视 #生成 #重建 #配置 #功能不足

bin+lib casaubon

功能不足的静态站点生成器

6 个版本

使用旧的 Rust 2015

0.3.2 2019 年 6 月 11 日
0.3.1 2019 年 6 月 11 日
0.2.0 2019 年 1 月 24 日
0.1.1 2019 年 1 月 23 日

#1372 in 文本处理

MIT 许可证

30KB
710

卡索布恩

卡索布恩是用 Rust 编写的静态站点生成器。我在编写卡索布恩时心中有着非常具体的目标,它并不打算满足所有人的需求。卡索布恩只做它打算做的事情。

目标

  • 约定优于配置
  • 学习 Rust
  • 快速的编译时间

非目标

  • 可扩展性
  • 灵活性

安装

(需要 Cargo)

$ cargo install casaubon

运行测试

$ cargo test

使用方法

创建新项目

$ casaubon new

生成 HTML 文件

$ casaubon build

监视文件变化并重建。请注意,没有内置的开发服务器。

$ casaubon watch

buildwatch 都接受一个 --drafts 标志,如果您希望将草稿包含在生成的 HTML 文件中。

配置

卡索布恩并不打算像大多数静态站点生成器那样灵活。目前,唯一的配置选项是站点的名称,可以在 casaubon.toml 中设置。

编写

卡索布恩期望帖子文件的第一行由一个 # 后跟一个空格和帖子名称,然后是一个 | 和帖子日期 (YYYY-MM-DD),然后是两个换行符。例如

posts/first-post.md

# First Post | 2000-01-01

Lorem ipsum dolor sit amet....

在这个例子中,帖子的标题会被解析为 "First Post",帖子的主体会被解析为 "Lorem ipsum dolor sit amet..."。别名从文件名解析出来,在这个例子中会是 'first-post'。

模板

卡索布恩在 templates 目录中为您创建了一些模板。包括

标题 描述
layout.html 主布局。所有页面内容都注入到 {{ contents }} 变量中。页面标题可在 {{ page_title }} 变量中找到。
post.html 单个帖子渲染的模板。可用变量包括 {{ date }}{{ title }}{{ body }}
post_listing.html 此模板用于索引页上的帖子列表。变量 {{ post_listing }} 包含将 post_listing_item.html 模板编译到每个帖子上的结果。
post_listing_item.html 此模板确定每个帖子在主列表中的显示方式。可用变量包括 {{ date }}{{ title }}{{ slug }}

依赖关系

~7–17MB
~229K SLoC