Owl 架构

旧的架构

在上一版本中,Owl 采用单可执行文件的架构。

模块功能包括:

  1. 读取 md 文件
  2. 渲染 md 到 html
  3. 统计 md 文件数据

新的架构

新的架构将旧的部分全部移动到了owl-core中。

命令行工具的部分,构成了新的模块owl-cli

Owl架构图

如图所示,新的命令行工具包括了:

  1. 新建 md 文件,并且自动填充日期,文件名等元数据
  2. 删除 md 文件
  3. 列出所有 md 文件

Rust 多可执行文件管理

目录结构

这里我采用了cargoworkspace来管理多个可执行文件。

文件目录如下:

.
├── Cargo.toml
├── cli
│   ├── Cargo.toml
│   └── src
│       └── main.rs
├── core
    ├── Cargo.toml
    └── src
        └── main.rs

在根目录的Cargo.toml配置文件中注明需要管理的部分:

[workspace]
members = ["core", "cli"]

调试运行

调试运行时需要注明所要运行的可执行文件:

cargo run --bin owl-core

如果需要携带参数,则需要再加上--区分cargo的参数和可执行文件的参数:

cargo run --bin owl-cli -- --new post-name

参考