{"id":16913811,"url":"https://github.com/bombsimon/mdbook-all-the-markdowns","last_synced_at":"2025-04-11T17:27:44.214Z","repository":{"id":46152894,"uuid":"413987506","full_name":"bombsimon/mdbook-all-the-markdowns","owner":"bombsimon","description":"🗃️  Preprocessor for mdbook to render all the markdowns!","archived":false,"fork":false,"pushed_at":"2022-10-22T22:18:25.000Z","size":362,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T22:59:58.979Z","etag":null,"topics":["documentation","hacktoberfest","markdown","mdbook"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bombsimon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-10-05T21:43:37.000Z","updated_at":"2025-01-06T07:23:42.000Z","dependencies_parsed_at":"2022-08-30T14:30:52.444Z","dependency_job_id":null,"html_url":"https://github.com/bombsimon/mdbook-all-the-markdowns","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bombsimon%2Fmdbook-all-the-markdowns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bombsimon%2Fmdbook-all-the-markdowns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bombsimon%2Fmdbook-all-the-markdowns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bombsimon%2Fmdbook-all-the-markdowns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bombsimon","download_url":"https://codeload.github.com/bombsimon/mdbook-all-the-markdowns/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248449048,"owners_count":21105410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","hacktoberfest","markdown","mdbook"],"created_at":"2024-10-13T19:15:19.378Z","updated_at":"2025-04-11T17:27:44.192Z","avatar_url":"https://github.com/bombsimon.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"assets/all-the-things.png\" alt=\"All the markdowns\" width=\"300\"\u003e\n  \u003cbr\u003e\n  All The Markdowns!\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/bombsimon/mdbook-all-the-markdowns/actions/workflows/rust.yml\"\u003e\n    \u003cimg src=\"https://github.com/bombsimon/mdbook-all-the-markdowns/actions/workflows/rust.yml/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://crates.io/crates/mdbook-all-the-markdowns\"\u003e\n    \u003cimg src=\"https://img.shields.io/crates/v/mdbook-all-the-markdowns.svg\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\nThis is a [`mdbook` preprocessor][preprocessor] that will walk a specified base path and add all\nthe markdowns to your `mdbook`. This is pretty naive and will probably work best\nfor smaller projects but feel free to give it a go for any folder structure!\n\n## Configuration\n\nThe preprocessor can be configured with the following settings:\n\n```toml\n[preprocessor.all-the-markdowns]\n# This will mark all folders generated for a proper index as draft, making them\n# non clickable. By default this is false and the content will just be the name\n# of the folder as title.\ndraft-folders = true\n# If you want to allow more or other files than `README.md` to be treated as top\n# level index files you can specify them in `index-filenames`.\nindex-filenames = [\"README.md\", \"index.md\"]\n\n[[preprocessor.all-the-markdowns.section]]\n# The title to use in the index on the left. Can be useful if book also consist\n# of static content or if creating multiple sections.\ntitle = \"Auto generated\"\n\n# The base directory to find markdowns in, this is usually the root of your\n# project if you're only creating a single section.\nbase = \"./examples/example-folder-structures/slim\"\n\n# Paths to ignore. No matter where you set your base you can always ignore given\n# patterns. These needs to be relative to the base since the directory traverser\n# will match if a file or director _starts with_ any of these patterns.\nignore = []\n```\n\nSince `section` is a list of tables you can add multiple groups by adding\nmultiple sections.\n\n```toml\n[preprocessor.all-the-markdowns]\n\n[[preprocessor.all-the-markdowns.section]]\ntitle = \"Libraries\"\nbase = \"./examples/example-folder-structures/slim/my-libraries\"\nignore = []\n\n[[preprocessor.all-the-markdowns.section]]\ntitle = \"Services\"\nbase = \"./examples/example-folder-structures/slim/my-services\"\nignore = []\n```\n\n## Example\n\nGiven the following folder structure:\n\n```sh\n.\n├── my-libraries\n│   └── lib-biz\n│       ├── INSTALLATION.md\n│       ├── README.md\n│       ├── sub-lib-a\n│       │   ├── CONTRIBUTORS.md\n│       │   ├── README.md\n│       │   └── USAGE.md\n│       └── sub-lib-b\n│           └── README.md\n└── my-services\n    ├── service-bar\n    │   ├── README.md\n    │   └── infra\n    │       └── kubernetes\n    │           └── README.md\n    └── service-foo\n        └── README.md\n```\n\nBased on the title in each document, combined with the folder names as title\ncase, the preprocessor with the first configuration would render the following:\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"440\" align=\"center\"\u003e\u003cimg src=\"./assets/example-index.png\"\u003e\u003c/td\u003e\n    \u003ctd width=\"440\" align=\"center\"\u003e\u003cimg src=\"./assets/example-index-2.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003eResult with the first example with one section.\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eResult with the second example with multiple sections.\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Test\n\nYou can test rendering any of the example folders in this directory with the\nbook found in [`examples/book1`][book1] with `mdbook serve examples/book1`.\n\n  [book1]: ./examples/book1/\n  [preprocessor]: https://rust-lang.github.io/mdBook/for_developers/preprocessors.htmlu\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbombsimon%2Fmdbook-all-the-markdowns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbombsimon%2Fmdbook-all-the-markdowns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbombsimon%2Fmdbook-all-the-markdowns/lists"}