rdocs/lib.rs
1//! # Rdocs: Code Documentation Made Simple
2// 📖 #START <id:introduction>
3//! ## Introduction
4//! When working on open-source projects or internal projects, creating
5//! effective documentation is essential. As a developer, I often faced the
6//! challenge of generating and maintaining comprehensive project documentation.
7//! The example below demonstrates various types of documentation I've included:
8//!
9//! - Examples showcasing how to use the application configuration.
10//! - A README guide illustrating the usage of my CLI.
11//! - Code snippets demonstrating the usage of my library in different
12//! scenarios.
13//!
14//! However, a common issue is ensuring that the examples provided in the
15//! documentation remain accurate and up-to-date. What if the example code
16//! changes? What if there's a typo in the documented code? How can we ensure
17//! that the examples always reflect the current state of the codebase?
18//!
19//! Imagine a tool that allows you to extract code snippets, ensuring they are
20//! not only reliable but also executable. What if you could easily incorporate
21//! pieces of code that are known to work or leverage tested examples from
22//! languages like Rust, which use `Doctest`? This tool is designed to address
23//! these concerns.
24// 📖 #END
25//!
26// 📖 #START <id:my-goal>
27//! ## Goal
28//! My objectives are as follows:
29//!
30//! - **Alignment with Code:** Ensure documentation consistently aligns with the
31//! codebase.
32//! - **CI Validation:** Incorporate validation into Continuous Integration to
33//! ensure documentation validity.
34//! - **User-Friendly:** Prioritize ease of use for all stakeholders.
35//! - **Minimal Dependencies:** Enable documentation validity even without
36//! external tool dependencies.
37// 📖 #END
38//!
39// 📖 #START <id:installation>
40//! ## Installation
41//!
42//! Cargo install:
43//! ```sh
44//! cargo install rdocs
45//! ```
46//!
47//! GitHub Releases:
48//! https://github.com/kaplanelad/rdocs/releases/latest
49// 📖 #END
50
51#[cfg(feature = "cli")]
52pub mod cli;
53pub mod collect;
54pub mod errors;
55pub mod out;
56pub mod parser;
57pub mod pattern;
58pub mod replacer;