10 个不稳定版本 (3 个破坏性版本)

0.5.2 2023 年 4 月 15 日
0.5.1 2023 年 4 月 12 日
0.4.1 2023 年 4 月 1 日
0.3.3 2023 年 3 月 30 日
0.2.2 2023 年 3 月 23 日

#633 in 模板引擎

MIT 许可证

33KB
885

stoic

stoic 是一个简单的静态博客生成器,旨在学习 Rust 及其生态系统。

安装

cargo install stoic

用法

stoic new blog

blog/ 目录中生成一个新的博客,具有以下文件结构

blog
├── about.md
├── index.md
├── assets
│   ├── script.js
│   └── style.css
├── posts
│   └── 2022-01-26-hello-world.md
└── templates
    ├── base.hbs
    ├── index.hbs
    ├── nav.hbs
    ├── page.hbs
    ├── post.hbs
    └── posts.hbs

你可以运行以下命令

stoic build blog dist

以在 dist/ 目录中生成相应的静态 HTML,具有以下文件结构

dist/
├── about.html
├── index.html
├── assets
│   ├── script.js
│   └── style.css
└── posts
    ├── 2022-01-26-hello-world.html
    └── index.html
stoic watch blog dist

告诉 stoic 监视 blog/ 中的更改并自动重建博客。

它将在 0.0..0.0.:3030 运行静态 Web 服务器。每次重建后,您的浏览器应自动重新加载。

集合

上面创建的由 new 命令的站点包含一个集合:posts。集合通过文件夹名称标识。此文件夹中的所有 Markdown 文件都被视为该集合的项目。在 templates 文件夹中是 posts.hbspost.hbs 模板。当生成集合索引时使用 posts.hbs 模板。当生成集合中的每个项目时使用 post.hbs 模板。

要创建新的集合,例如 works

  1. 创建文件夹 works
  2. 创建 templates/works.hbs 模板
  3. 创建 templates/work.hbs 模板
  4. 将工作 Markdown 文件放入 works 文件夹

集合项目元数据

集合文件夹中的 Markdown 项目应包含位于文件顶部的元数据部分

<!--metadata
date = 2023-03-25
shortname = "Foo Bar"
slug = "foo_bar
-->

date 是日期,格式为 YYYY-MM-DD。日期应存在于所有集合项目中,因为它用于排序。

shorname 是用于面包屑中实体的标签。如果没有提供,则将使用日期。

slug 是输出文件的名称。如果您有一个输入文件 foo.md 但希望输出文件为 foo_bar.html 而不是默认的 foo.html,则将 slug 设置为 foo_bar

示例

依赖项

~29–44MB
~648K SLoC