#changelog #strongly-typed #render #keep #markdown #weather #date

overcast

像天气一样经常变化的项目的强类型变更日志

3 个版本

0.1.3 2024 年 3 月 19 日
0.1.1 2024 年 3 月 19 日
0.1.0 2024 年 3 月 19 日

#1837解析器实现

MPL-2.0 许可证

21KB
456

Overcast 是一个用于定义像天气一样经常变化的强类型变更日志的 crate。它旨在简化维护变更日志的过程。

Crates.io Version Crates.io License docs.rs

示例

更完整的示例可在 get_overcast_changelog.rs 中找到,这是用于渲染 CHANGELOG.md 的结构。

let changelog = Changelog::new("My Changelog")
    .with_description("A changelog for amazing things")
    .add_release(Release::new(0, 1, 0)
        .with_date(1970, 1, 1)
        .added("New feature")
        .fixed("All the bugs")
    );

let markdown = render_markdown(&changelog).unwrap();

assert_eq!(
    markdown,
    "# My Changelog

A changelog for amazing things

### 0.1.0 - 1970-01-01

#### Added
- New feature


#### Fixed
- All the bugs

"
)

lib.rs:

Overcast 是一个用于定义强类型变更日志的 crate,旨在简化维护变更日志的过程。

示例

更完整的示例可在 get_overcast_changelog.rs 中找到,这是用于渲染 CHANGELOG.md 的结构。

let changelog = Changelog::new("My Changelog")
    .with_description("A changelog for amazing things")
    .add_release(Release::new(0, 1, 0)
        .with_date(1970, 1, 1)
        .added("New feature")
        .fixed("All the bugs")
    );

let markdown = render_markdown(&changelog).unwrap();

assert_eq!(
    markdown,
    "# My Changelog

A changelog for amazing things

### 0.1.0 - 1970-01-01

#### Added
- New feature


#### Fixed
- All the bugs

"
)

功能

  • dates 支持在变更日志条目中添加日期
  • render_markdown 将变更日志渲染为 JSON
  • render_json 将变更日志渲染为 JSON 格式
  • drizzle_changelog 包含 Drizzle 的变更日志。主要为了启用测试和示例

依赖项

~0–1MB
~20K SLoC