Crates.io | rdocs |
lib.rs | rdocs |
version | 0.1.2 |
source | src |
created_at | 2024-03-14 16:28:49.831455 |
updated_at | 2024-03-14 16:55:22.904196 |
description | Code Documentation Made Simple |
homepage | https://github.com/kaplanelad/rdocs |
repository | https://github.com/kaplanelad/rdocs |
max_upload_size | |
id | 1173517 |
size | 100,536 |
When working on open-source projects or internal projects, creating effective documentation is essential. As a developer, I often faced the challenge of generating and maintaining comprehensive project documentation. The example below demonstrates various types of documentation I've included:
However, a common issue is ensuring that the examples provided in the documentation remain accurate and up-to-date. What if the example code changes? What if there's a typo in the documented code? How can we ensure that the examples always reflect the current state of the codebase?
Imagine a tool that allows you to extract code snippets, ensuring they are
not only reliable but also executable. What if you could easily incorporate
pieces of code that are known to work or leverage tested examples from
languages like Rust, which use Doctest
? This tool is designed to address
these concerns.
My objectives are as follows:
The process begins with your project. Navigate to the section you wish to include in your documentation and enclose it with // đź“– #START <id:adding_numbers>
. Mark the end of the section with // đź“– #END
.
For instance, it should resemble this in Rust:
//đź“– #START <id:adding_numbers>
fn add_numbers(a: i32, b: i32) -> i32 {
a + b
}
//đź“– #END
Next, navigate to your documentation, such as the readme.md file, and begin the section with <!-- đź“–ID -->
. Conclude this section with <!-- IDđź“– -->
.
Upon executing the command rdocs replace [COLLECT-FOLDER] [DOC-FOLDER]
, all examples will be gathered and seamlessly replace the corresponding content in your documentation.
rdocs replace
: for replace content replacementrdocs replace --check
: for CI example if you want to validate that the block are equalrdocs collect
: show all blockCargo install:
cargo install rdocs
GitHub Releases: https://github.com/kaplanelad/rdocs/releases/latest
to see how it work visit here and see that part of this readme taken from lib.rs file.