#docs #segment #comments #marker #md #make #rust

已删除 lmake_md_to_doc_comments

将 md 文件的片段包含到 rs 文件中作为文档注释

0.5.6 2021 年 8 月 14 日
0.5.5 2020 年 7 月 15 日
0.5.4 2020 年 7 月 15 日

#27 in #make

MIT 许可证

22KB
172

lmake_md_to_doc_comments

🔴已废弃,🔴已弃用,🔴已淘汰!
它已被 crate cargo-auto 替换



\

版本:0.5.5 日期:2020-07-15 作者:Luciano Bestia
将 md 文件的片段包含到 rs 文件中作为文档注释。

Lines in Rust code Lines in Doc comments Lines in Comments Lines in examples Lines in tests

Documentation crev reviews Lib.rs Licence

将 md 文件的片段包含到 rs 文件中作为文档注释。
从这些文档注释 cargo doc 将生成文档和自动补全。
我们不希望手动复制这些片段。我们希望它们自动同步。
我们将在每次 cargo doc 运行之前使用脚本/构建命令运行此二进制文件。
必须在与 cargo.toml 文件相同的项目根目录中执行 lmake_md_to_doc_comments 二进制文件。
它不能在工作空间文件夹中工作,但每个单个项目都必须单独调用它。
首先,它在 src、tests 和 examples 文件夹中搜索所有的 rs 文件。
如果它们包含标记,则找到 md 文件和命名的片段,并将其作为文档注释包含到 rs 文件中。
标记总是成对出现:开始和结束。所以正好在标记之间的内容被更改。标记总是注释,所以它们不会更改代码。
它仅适用于行分隔符为 LF 的文件。没有 CR 和 CRLF。

标记

在 rs 文件中写入这些标记

1. // region: lmake_md_to_doc_comments include "filename.md" //! A  
2. // endregion: lmake_md_to_doc_comments include "filename.md" //! A  

在 md 文件中放置标记以标记片段

1. [comment]: # (lmake_md_to_doc_comments segment start A)  
2. [comment]: # (lmake_md_to_doc_comments segment end A)  

标记必须独占一行。同一行没有其他文本。
lmake_md_to_doc_comments 将删除标记之间的旧行。
它将找到 md 文件并读取标记之间的内容。
在每个行之前,它将添加标记中定义的文档注释符号。
最后,它将新的行作为文档注释包含到 rs 文件中。

Makefile.toml 或脚本中的任务

我使用 cargo make 来脚本重复命令序列。
https://github.com/sagiegurari/cargo-make
我将其复制到文档文件夹,因为这是 GitHub 的标准。
Makefile.toml 中添加如下任务

[tasks.doc]
description = "include md to rs, create docs, copy to docs folder"
clear = true
script = [
    "lmake_md_to_doc_comments",
    "cargo doc --no-deps --document-private-items",
    "\\rsync -avz --delete-after target/doc/*  docs/",
]

install

从 crates.io 安装
货物安装 lmake_md_to_doc_comments
然后您可以在每个 Rust 项目文件夹中使用它。
执行此实用程序不需要任何参数。

开发

文档
https://lucianobestia.github.io/lmake_md_to_doc_comments/
为开发准备的 make 任务列表:构建、运行、文档、发布、...
货物make

cargo crev 审查和建议

建议始终使用 cargo-crev
来验证您每个依赖项的可信度。
请,传播这个信息。
在网络上,使用此 URL 读取 crate 审查。示例
https://web.crev.dev/rust-reviews/crate/num-traits/

依赖项

~2.8–4MB
~62K SLoC