4个版本 (2个破坏性版本)
0.5.0 | 2019年6月23日 |
---|---|
0.4.1 | 2019年6月16日 |
0.4.0 | 2019年6月2日 |
0.1.0 | 2019年5月3日 |
#16 in #specialized
140KB
2K SLoC
Salmon
一个专为博客设计的静态网站生成器,适用于兔子。不适用于人类。
安装
Docker(推荐)
您可以使用Docker快速尝试。
docker pull mozamimy/salmon:latest
docker run --rm salmon /usr/local/sbin/salmon --help
二进制文件
从GitHub发行版页面下载二进制文件。支持Linux和macOS。
Cargo
如果您是Rust程序员,可以使用cargo命令安装。
cargo install salmon
用法
初始化Salmon项目
执行salmon init
命令。然后,在项目目录中生成一些示例文件。
$ salmon init usagi
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /articles/2019/06/23/example.md
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /codes/2019/06/23/example.rb
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /layouts/article.hbs
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /layouts/index.hbs
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /layouts/page.hbs
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /layouts/rss.hbs
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /layouts/tag.hbs
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /layouts/year.hbs
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /pages/example.md
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /partials/header.hbs
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /partials/menu.hbs
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /resources/images/sushi_salmon.png
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /resources/stylesheets/layout.sass
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /salmon.yaml
[2019-06-23T09:28:02Z INFO salmon::initializer] Writing /docker-compose.yaml
[2019-06-23T09:28:02Z INFO salmon::initializer] Your new Salmon project has been initialized!
[2019-06-23T09:28:02Z INFO salmon::initializer] Now you can build with `salmon build` command after moved the pr
oject directory.
[2019-06-23T09:28:02Z INFO salmon::initializer] Execute `docker-compose up nginx` if you want to open your site
in https://127.0.0.1:10080/.
您可以使用salmon build
命令构建新项目。
$ cd usagi/
$ salmon build
[2019-06-23T09:28:14Z INFO salmon::layout] Start to load layout files.
[2019-06-23T09:28:14Z INFO salmon::layout] Loading a layout: "/home/mozamimy/tmp/usagi/layouts/index.hbs"
[2019-06-23T09:28:14Z INFO salmon::layout] Loading a layout: "/home/mozamimy/tmp/usagi/layouts/article.hbs"
[2019-06-23T09:28:14Z INFO salmon::layout] Loading a layout: "/home/mozamimy/tmp/usagi/layouts/tag.hbs"
[2019-06-23T09:28:14Z INFO salmon::layout] Loading a layout: "/home/mozamimy/tmp/usagi/layouts/year.hbs"
[2019-06-23T09:28:14Z INFO salmon::layout] Loading a layout: "/home/mozamimy/tmp/usagi/layouts/page.hbs"
[2019-06-23T09:28:14Z INFO salmon::layout] Loading a layout: "/home/mozamimy/tmp/usagi/layouts/rss.hbs"
[2019-06-23T09:28:14Z INFO salmon::partial] Loading a partial file: "/home/mozamimy/tmp/usagi/partials/header.h$
s"
[2019-06-23T09:28:14Z INFO salmon::partial] Loading a partial file: "/home/mozamimy/tmp/usagi/partials/menu.hbs
生成的docker-compose.yaml可以帮助您使用Web浏览器打开第一个项目(https://127.0.0.1:10080/)。
$ docker-compose up nginx
使用salmon new
命令创建新文章模板和目录
您可以使用salmon new
命令快速开始写作。这将创建文章模板和用于代码和图像的目录。
$ salmon new awesome_article
[2019-06-02T08:10:16Z INFO salmon::template_generator] Created a directory "./articles/2019/06/02"
[2019-06-02T08:10:16Z INFO salmon::template_generator] Wrote an article template to "./articles/2019/06/02/awesome_article.md"
[2019-06-02T08:10:16Z INFO salmon::template_generator] Created a directory "./codes/2019/06/02"
[2019-06-02T08:10:16Z INFO salmon::template_generator] Created a directory "./resources/images/2019/06/02"
请参阅salmon new --help
以控制行为。如果没有选项,Salmon将创建所有模板和目录。
日志
您可以通过RUST_LOG
环境变量来控制日志级别。默认值是info
。
配置
您应该在项目根目录中放置YAML配置文件。
version: '1' # required
blog: # required
site_root: 'https://example.com/', # required
index_page: # optional
entries_per_page: 10 # optional
year_page: # optional
entries_per_page: 15 # optional
tag_page: # optional
entries_per_page: 15 # optional
(待定)
许可
MIT
依赖项
~15–26MB
~397K SLoC