Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bombsimon/mdbook-all-the-markdowns
🗃️ Preprocessor for mdbook to render all the markdowns!
https://github.com/bombsimon/mdbook-all-the-markdowns
documentation hacktoberfest markdown mdbook
Last synced: about 5 hours ago
JSON representation
🗃️ Preprocessor for mdbook to render all the markdowns!
- Host: GitHub
- URL: https://github.com/bombsimon/mdbook-all-the-markdowns
- Owner: bombsimon
- License: mit
- Created: 2021-10-05T21:43:37.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-22T22:18:25.000Z (about 2 years ago)
- Last Synced: 2024-12-24T01:50:18.988Z (10 days ago)
- Topics: documentation, hacktoberfest, markdown, mdbook
- Language: Rust
- Homepage:
- Size: 354 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
All The Markdowns!
This is a [`mdbook` preprocessor][preprocessor] that will walk a specified base path and add all
the markdowns to your `mdbook`. This is pretty naive and will probably work best
for smaller projects but feel free to give it a go for any folder structure!## Configuration
The preprocessor can be configured with the following settings:
```toml
[preprocessor.all-the-markdowns]
# This will mark all folders generated for a proper index as draft, making them
# non clickable. By default this is false and the content will just be the name
# of the folder as title.
draft-folders = true
# If you want to allow more or other files than `README.md` to be treated as top
# level index files you can specify them in `index-filenames`.
index-filenames = ["README.md", "index.md"][[preprocessor.all-the-markdowns.section]]
# The title to use in the index on the left. Can be useful if book also consist
# of static content or if creating multiple sections.
title = "Auto generated"# The base directory to find markdowns in, this is usually the root of your
# project if you're only creating a single section.
base = "./examples/example-folder-structures/slim"# Paths to ignore. No matter where you set your base you can always ignore given
# patterns. These needs to be relative to the base since the directory traverser
# will match if a file or director _starts with_ any of these patterns.
ignore = []
```Since `section` is a list of tables you can add multiple groups by adding
multiple sections.```toml
[preprocessor.all-the-markdowns][[preprocessor.all-the-markdowns.section]]
title = "Libraries"
base = "./examples/example-folder-structures/slim/my-libraries"
ignore = [][[preprocessor.all-the-markdowns.section]]
title = "Services"
base = "./examples/example-folder-structures/slim/my-services"
ignore = []
```## Example
Given the following folder structure:
```sh
.
├── my-libraries
│ └── lib-biz
│ ├── INSTALLATION.md
│ ├── README.md
│ ├── sub-lib-a
│ │ ├── CONTRIBUTORS.md
│ │ ├── README.md
│ │ └── USAGE.md
│ └── sub-lib-b
│ └── README.md
└── my-services
├── service-bar
│ ├── README.md
│ └── infra
│ └── kubernetes
│ └── README.md
└── service-foo
└── README.md
```Based on the title in each document, combined with the folder names as title
case, the preprocessor with the first configuration would render the following:
Result with the first example with one section.
Result with the second example with multiple sections.
## Test
You can test rendering any of the example folders in this directory with the
book found in [`examples/book1`][book1] with `mdbook serve examples/book1`.[book1]: ./examples/book1/
[preprocessor]: https://rust-lang.github.io/mdBook/for_developers/preprocessors.htmlu