Crates.io | snipdoc |
lib.rs | snipdoc |
version | 0.1.12 |
source | src |
created_at | 2024-05-24 07:05:59.482485 |
updated_at | 2024-06-21 09:18:10.570599 |
description | Code Documentation Made Simple |
homepage | https://github.com/kaplanelad/snipdoc |
repository | https://github.com/kaplanelad/snipdoc |
max_upload_size | |
id | 1250747 |
size | 192,019 |
Snipdoc is a straightforward tool for managing documentation that includes code snippets. It collects snippets from your code or YAML files and injects them into various parts of your documentation, making the documentation process more efficient.
To install Snipdoc, you can use Cargo:
cargo install snipdoc
Or download it from the GitHub Repository.
To collect and replace all snippets from multiple data sources, use:
snipdoc run
For a detailed guide on how it works, follow this guid
Snipdoc provides several attributes to customize snippet injection:
The add_prefix
attribute allows you to prepend a specified string to each line of the snippet.
This is useful when you need to format the injected snippets with a specific prefix, such as for comments in code blocks.
The strip_prefix
attribute allows you to remove a specified string from the beginning of each line in the snippet.
This is useful when you need to format the injected snippets by stripping out comment prefixes or other unwanted characters.
The template
attribute allows you to wrap your snippet with a given template. This is useful when you have a snippet that you want to format in a specific way, such as wrapping it with a YAML tag format.
Note: For security reasons, this feature is turned off by default. To enable it, compile Snipdoc with the exec
feature: cargo install snipdoc --features exec
.
The execute
action option allows you to run a snippet as a shell command and collect the output into a snippet. This is useful for adding the result of a --help
command to your documentation, ensuring it stays up-to-date with your CLI tool's output, even if it changes.
Before executing the snippet command, you will be prompted for approval. This allows you to review and approve the command before execution.
To skip the approval prompt, set the environment variable SNIPDOC_SKIP_EXEC_COMMANDS=true
.
To manage all snippets effectively, run:
snipdoc show
You can mix snippets from your code with a YAML file configuration. Create an empty snipdoc.yml file by running:
Create an snipdoc.yml
file by running the command:
snipdoc create-db --empty
Validate that all snippets are valid and match the current injected versions. This is useful for CI workflows to ensure documentation accuracy and consistency.
snipdoc check
To integrate Snipdoc with GitHub Actions, use the following workflow configuration:
name: docs
jobs:
check:
name: Check
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout the code
uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- run: cargo install snipdoc
- run: snipdoc check