#static-site-generator #post #index #pages #educational #template #tags

bin+lib futhorc

一个用于学习 Rust 和构建个人博客的静态站点生成器

14 个版本

0.1.13 2023 年 2 月 21 日
0.1.12 2023 年 2 月 21 日
0.1.11 2022 年 7 月 14 日
0.1.7 2022 年 5 月 2 日
0.1.6 2021 年 4 月 19 日

#217 in 模板引擎

每月 25 次下载

GPL-3.0 许可证

2MB
1.5K SLoC

包含 (ELF 可执行文件/库, 7MB) futhorc-amd64-linux-v0.1.13

弗斯洛克

弗斯洛克是一个编写静态站点生成器的练习,旨在学习 Rust。


lib.rs:

弗斯洛克静态站点生成器的库代码。其架构可以大致分为两个不同的步骤

  1. 从磁盘上的源文件解析帖子(《crate::post》)
  2. 将帖子转换为磁盘上的输出文件(《crate::write”)

在这两个步骤中,第二个步骤更为复杂。它本身由三个不同的子步骤组成

  1. 构建帖子页面
  2. 构建索引页面
  3. 将所有页面渲染到磁盘上

同样,第二个子步骤更为复杂,因为我们需要为每个标签创建索引页面的组,并为空标签(对应所有帖子)创建另一个组。索引页面的组被称为“索引”,每个索引都是分页的——根据每页可配置的帖子数量将页面分组。

第三个子步骤相当简单:对于每个页面,应用模板(帖子模板或索引模板),并将结果写入磁盘。

依赖项

~12MB
~299K SLoC