9 个版本

0.3.2 2023年11月14日
0.3.1 2023年11月14日
0.2.3 2023年11月11日
0.1.1 2023年11月2日

#36 in 模板引擎

Download history 44/week @ 2024-07-23 15/week @ 2024-07-30

59 每月下载次数

AGPL-3.0-or-later

23KB
293 代码行

Stubble

您的模板文档助手

Rust 1.73+ Eleventy Markdown

Stubble 是一个命令行工具,用于快速生成供静态站点生成器使用的 Markdown 文件。给定一个标题,它将生成一个带日期戳的 Markdown 文件,并预填充 YAML 前端元数据。

目前 Stubble 专门针对 Eleventy,但未来的版本理论上可以为许多流行的 SSG 和/或用户自定义模板提供模板。

Stubble 使用 Rust 编写。

用法

运行 stubble 并传入用作新文档标题的字符串

stubble "Hello, World!"

Stubble 应输出类似以下的消息


Created new file ./2023-11-02-hello-world.md!

(日期默认为当前日期。)

您也可以通过传递 - 来省略标题,如下所示

stubble -

这将输出类似以下的消息

Created new file ./2023-11-02.md!

Stubble 为您生成了基本的元数据,因此您可以开始写作。在您选择的编辑器中打开文件,它应该看起来像这样

---
title: "Hello, World!"
permalink: hello-world
date: 2023-11-02
uuid: 3b17e9f7-6334-4bf1-a063-9174a2b1eedb
---
# {{ title }}


<!-- Generated by Stubble v0.2.3 -->

指定输出目录

默认情况下,Stubble 在当前工作目录中生成文件。如果您想让它将文件写入其他位置,请在标题后添加输出目录

stubble "Hello Again, World!" /tmp

...然后您应该看到

Created new file /tmp/2023-11-02-hello-again-world.md!

默认情况下,Stubble 使用标题作为别名。如果您想使用其他内容,可以使用别名标志 ---slug 后跟所需的别名。

stubble "Hello, World!" -s hello

应用标签

Stubble 支持使用标签标志 ---tag 添加任意数量的标签到您的帖子。每个标签一个标志。

stubble "Hello, World!" -t rust
stubble "Hello, World!" -t rust -t programming

覆盖帖子日期

要使用除当前日期以外的日期,请使用日期标志 -D--date

stubble "Hello, World!" -D 1988-08-10

...然后您应该看到

Created new file 1988-08-10-hello-world.md!

添加帖子的描述

如果您想填充前言描述字段,可以使用描述标志 -d--description

stubble "Hello, World!" -d "This is my first post generated with Stubble!"

指定文章作者

默认情况下,Stubble 会尝试为您填充前言中的 author 字段。它首先会询问操作系统的 "Real Name",如果失败,则默认为您的用户名。要指定其他内容,可以使用作者标志 -a--author

stubble "Hello, World!" -a "Joey Pardella"

更改输出文件名

默认情况下,Stubble 会根据日期和缩写生成文件名。要覆盖此行为,可以使用输出标志 -o--output

stubble "Hello, World!" -o draft-post.markdown

...然后您应该看到

Created new file draft-post.md!

在您的编辑器中打开

Stubble 可以选择在您选择的编辑器中打开新创建的 stub 文件。标志 -e--editor 可接受最多 1 个参数。提供参数将在该程序中打开文件,省略参数将尝试使用环境变量 $EDITOR 中定义的可执行文件打开文件。

内置帮助

在任何时候,您都可以从命令行检查可用的选项及其用法。

stubble -h
Stubble is a command-line tool for quickly generating markdown files for use by static site generators. Given a title, it will generate a date-stamped markdown file with pre-populated YAML front-matter.

Usage: stubble [OPTIONS] <TITLE> [DEST]

Arguments:
  <TITLE>  Title of the post
  [DEST]   Output destination [default: .]

Options:
  -s, --slug <SLUG>                Optional slug to be used for the permalink
  -t, --tag [<TAG>...]             Tag(s) to apply to the post. Separate multiple tags with spaces
  -D, --date <DATE>                Override the post date: YYYY-MM-DD
  -d, --description <DESCRIPTION>  Post description
  -a, --author [<AUTHOR>]          The name of the author
  -f, --format [<FORMAT>]          The output format that should be used to render the stub. [default: md]
  -o, --output <OUTPUT>            Override the default filename
  -e, --editor [<EDITOR>]          Open in <EDITOR>
  -y, --yes                        Automatically answer 'Y' to all prompts (including existing file warnings)
  -h, --help                       Print help (see more with '--help')
  -V, --version                    Print version

使用标志 --help 可以获取更详细的帮助信息。

安装

使用 Cargo

Cargo 是 Rust 的包管理器。要使用 cargo 安装 Stubble,您需要在计算机上安装 Rust,版本 1.73 或更高。

安装 Rust 后,打开终端并运行

cargo install stubble

假设一切构建正确,并且您的本地 ~/.cargo/bin 目录已添加到 PATH,现在您应该能够运行 stubble。

依赖关系

~7MB
~125K SLoC