3 个稳定版本
1.2.0 | 2022年3月15日 |
---|---|
1.1.0 | 2022年3月12日 |
1.0.0 | 2022年3月12日 |
#2706 在 命令行工具
21KB
250 行
STRAWBERRY MILK
一个由 Rust 编写的简单、甜美的工具,用于编译您的网页内容。
关于
由于我也是一个作者和艺术家,我在想如何编写一个将包含 Markdown 内容的文件转换为网站的程序。 草莓牛奶 就是这个工具。您初始化一个新的项目,用 Markdown 编写内容,运行 草莓牛奶,然后 Voilà!您就拥有了一个包含您内容的漂亮且闪亮的新网页,它已为您设置样式,准备好展示给世界!
示例项目
您可以在 这里 查看一个现场部署的 草莓牛奶 项目。
构建
工具
您需要安装以下工具并使其可用
- Rust
- Git
步骤
- 1.) 获取源代码
$ git clone https://github.com/iamtheblackunicorn/strawberrymilk.git
- 2.) 切换目录
$ cd strawberrymilk
- 3.) 构建源代码
$ cargo build --release
安装
将可执行文件 strawberrymilk/target/release/strawberrymilk
移动到您存储二进制可执行文件的目录。如果您使用 Linux 或 Mac OSX,可能需要更改权限,如下所示: chmod a+x strawberrymilk
。如果您已安装 Rust 的包管理器,从终端窗口运行 cargo install strawberrymilk
也应安装 草莓牛奶。
使用方法
命令行使用
要编译您的项目,只需在命令行上运行此命令
$ strawberrymilk yourprojectdir
yourprojectdir
表示您的项目路径。
创建新项目。
要创建新项目,请运行以下命令
$ strawberrymilk new myproject
这将创建一个名为 myproject
的新文件夹。您的项目文件结构将类似于以下内容
myproject
├── config.json
└── content
└── 01.markdown
文件 config.json
将包含以下内容
{
"styles": "https://blckunicorn.art/assets/generic/strawberrymilk.css",
"content": "content",
"name": "myproject",
"output": "index.html"
}
name
: 您的项目叫什么名字?content
: 哪个子目录包含项目的 Markdown 文件?styles
: 要使您的页面看起来更美观,您需要一个样式表。从其他地方加载它。草莓牛奶 不支持本地样式表。output
: 输出 HTML 文件应命名为什么?use_template
: 如果您想使用 Liquid 模板,请将此设置为true
或false
。template_path
:该字段告诉草莓牛奶您的模板在项目中的位置。
接下来,打开位于content
文件夹中的01.markdown
文件。(请注意,该文件夹的名称必须与配置文件中的content
字段相同。)它将包含如下内容
# YOUR PROJECT
Your awesome content goes here.
如果您正在使用模板,所有来自配置文件的变量都可以在{{ project.variable }}
下使用。variable
代表您的config.json
文件中的字段名。
例如,您可以通过模板中的内容进行迭代
{% for page in pages %}
<br/>
<div class="content">
{{ page.content }}
</div>
<br/>
{% endfor %}
草莓牛奶通过{{ pages }}
变量为您提供对内容访问权限。请注意,如果出现任何错误,草莓牛奶将会“panic”。
现在您可以填写它,并创建具有数字文件名的Markdown文件(例如01.markdown
、02.markdown
、03.markdown
等),完成后,您可以在项目的根目录中运行此命令
$ strawberrymilk .
如果一切顺利,您现在应该在名为index.html
的子目录build
中有一个文件。
部署到GitHub Pages。
如果您有GitHub账户,可以将您的项目上传到仓库,创建一个名为gh-pages
的新分支,在您的仓库中创建一个名为rust.yml
的新文件,位于.github/workflows
,填写以下代码,然后voilá:您现在可以在yourusername.github.io/yourporject
的URL下查看您的项目。
on: [push]
name: Strawberry Milk Project CI
jobs:
build_and_test:
name: Strawberry Milk Project CI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: build
args: --release
- uses: actions-rs/cargo@v1
with:
command: run
args: .
- name: Deploy
uses: JamesIves/[email protected]
with:
branch: gh-pages
folder: build
贡献
如果您有任何改进建议或希望做出贡献,请提交一个issue或fork仓库。如果您想后者,请进行更改并测试,然后提交一个Pull Request。
变更日志
版本 1.0.0
- 首次发布。
- 上传到GitHub。
版本 1.1.0
- 更新文档。
- 上传到crates.io。
版本 1.2.0
- 添加自定义模板。
- 用户可以添加自己的模板并使用它们。
注意 📜
- 草莓牛奶由Alexander Abraham(即"The Black Unicorn")编写
- MIT许可下发布。
依赖项
~10MB
~190K SLoC