#site #static-site-generator #static #generator #page-content

app strawberry milk

一个由 Rust 编写的简单、甜美的工具,用于编译您的网页内容

3 个稳定版本

1.2.0 2022年3月15日
1.1.0 2022年3月12日
1.0.0 2022年3月12日

#2706命令行工具

MIT 许可证

21KB
250

STRAWBERRY MILK

一个由 Rust 编写的简单、甜美的工具,用于编译您的网页内容。

GitHub CI

关于

由于我也是一个作者和艺术家,我在想如何编写一个将包含 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 模板,请将此设置为 truefalse
  • 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.markdown02.markdown03.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

版本 1.2.0

  • 添加自定义模板。
  • 用户可以添加自己的模板并使用它们。

注意 📜

  • 草莓牛奶由Alexander Abraham(即"The Black Unicorn")编写
  • MIT许可下发布。

依赖项

~10MB
~190K SLoC