#markdown #docs #design #excel #default #rule #export

bin+lib md-designer

一个用于创建 Markdown 设计文档的 CLI 工具

2 个版本

0.1.1 2021 年 3 月 7 日
0.1.0 2021 年 3 月 7 日

#817 in 文本处理

MIT 许可证

84KB
2K SLoC

md-design-doc

Build Status codecov

进行中

入门

先决条件

  • Rust 工具链(nightly 和 stable,默认为 nightly)

首先,安装 Rust。

https://rust-lang.net.cn/tools/install

# check Rust installation
$ cargo -v

安装 nightly 工具链并将其设置为默认。

$ rustup install nightly
$ rustup default nightly
  • Rust 组件
    • clippy(用于 nightly)
    • rustfmt(用于 stable)
$ rustup component add clippy --toolchain nightly
$ rustup component add rustfmt --toolchain stable
  • LLVM(用于 Windows)

对于 Windows,安装 Windows(32 位或 64 位)LLVM 预编译二进制文件

本地运行

  • 克隆此仓库并进入
$ git clone https://github.com/toolbox-labo/md-design-doc.git
$ cd md-design-doc
  • 执行命令将您的 .md 文件转换为 .xlsx
# your markdown file and rule file
$ cargo run --features excel -- [path(.md)] [rule path(.yml)]
# or example files
$ cargo run --features excel -- test.md test_rule.yml

目前,输出文件名与输入文件名相同。

运行测试并检查代码覆盖率

测试

$ cargo test --features excel

覆盖率报告

如果是第一次,请安装所需模块。

$ cargo install grcov rust-covfix

要生成覆盖率报告,

$ bash coverage.sh

它将被创建在 report,您可以通过访问 report/index.html 来查看整个覆盖率报告。

示例

解析规则

进行中

# TODO: general settings
# general:
#   copyright: hogehoge
#   prefix: IT
doc:
  blocks:
    - title: Block Title 1
      content:
      - column: No
        isNum: true
      - group: Variation
        columns:
          - column: Variation 1
            md: Heading2
          - column: Variation 2
            md: Heading3
          - column: Variation 3
            md: Heading4
          - column: Variation 4
            md: Heading5
          - column: Variation 5
            md: Heading6
          - column: Variation 6
            md: Heading7
          - column: Variation 7
            md: Heading8
      - column: Description
        md: List
      - column: Procedure
        md: List
        customPrefix: "+"
      - column: Tester
        md: List
        # You can also use any alphabets as custom prefix.
        customPrefix: "T"
    - title: Block Title 2
      content:
      - column: No
        isNum: true
      - column: another block's column 1
        md: Heading2
      - column: another block's column 2
        md: Heading3

Markdown 模式

进行中

# Sheet Name
## Test Variation 1
### Test Variation 1-1
#### Test Variation 1-1-1
* Test Description
  more lines...
  more lines...
+ Procedure A
  more lines...
  more lines...
T Tester A
### Test Variation 1-2
#### Test Variation 1-2-1
* Test Description
  more lines...
  more lines...
+ Procedure B-1
+ Procedure B-2
+ Procedure B-3
T Tester B
#### Test Variation 1-2-2
##### Test Variation 1-2-2-1
* Test Description
  more lines...
  more lines...
+ Procedure C
T Tester C
---
## Cell 1
## Cell 2
### Cell 2-1
## Cell 3
### Cell 3-1
### Cell 3-2

贡献

贡献使得开源社区成为一个如此美妙的学习、灵感和创作的场所。您所做的任何贡献都将受到极大的赞赏。

  1. 分支项目
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 修改代码
  4. 格式化代码(cargo +stable fmt
  5. 运行 lint 工具(clippy),如果有错误,请修复它们(cargo clippy --features excel -Z unstable-options -- -D warnings
  6. 运行测试(cargo test --features excel
  7. 提交您的更改(git commit)。请按照Angular 提交信息格式编写提交信息。
  8. 推送到分支(git push origin feature/AmazingFeature
  9. 打开拉取请求

依赖项

~5–15MB
~167K SLoC