2 releases

0.1.1 Nov 9, 2021
0.1.0 Nov 9, 2021

#1345 in Development tools

MIT/Apache

20KB
412 lines

rustme

Generate your Rust project's README-like files.

crate version Live Build Status Documentation for main branch

RustMe generates files by concatenating multiple sections into a new file. It has specific features that are useful for Rust projects:

  • Rust-annotated markdown code blocks are processed to remove lines that start with #, making the blocks render the same as when used with #![doc = include_str!("...)]. This crate uses this functionality with the code snippet below.
  • Include snippets from other files. Annotate a file with special comments, and import them. The "basic" example demonstrates this functionality.
    • Snippets are automatically trimmed to remove equal whitespace at the beginning of each line.
  • Include sections that are remote URLs.
    • We manage a lot of repositories, and wanted to standardize specific sections of our README files across all repositories. This README's footer is loaded from another repository.
    • This can also be used to include standard files. We use that with our repositories to pull standardized files, such as licenses, from a central repository.

rustme command line interface

To install, simply run cargo install rustme.

Currently rustme ignores all command line arguments. It looks for a Ron-formatted Configuration located in either ./rustme.ron or ./.rustme/config.ron, and generates the files relative to the configuration file.

rustme as a library

let config = rustme::Configuration::load("examples/basic/.rustme.ron").unwrap();
config.generate().unwrap();

This is a rustme

This README was generated using rustme.

Open-source Licenses

This project, like all projects from Khonsu Labs, are open-source. This repository is available under the MIT License or the Apache License 2.0.

To learn more about contributing, please see CONTRIBUTING.md.

Dependencies

~2.4–3.5MB
~93K SLoC