Turn any folder structure of Markdown docs and external links into a fully navigable, taggable, and contributor-friendly knowledge base.
🗺️ Served as a navigable web resource with docusaurus,
🗺️ Auto-generates visual flatmaps for overview and fast navigation,
🧑💻 Smart contributor dashboards to make contributing easier than ever,
💬 Supports review flags, collaboration offers, and more.
🎯 See it in action: Browse the full site map
Jump to:
- Setup Instructions
- Deploy to GitHub Pages
- Structure & Configuration
- How to Use the Toolkit
- Extend or Customize
- Before Publishing
- Coming Soon
🧪 This tool uses Docusaurus to serve and build the site.
-
Install Docusaurus locally:
npm install npm run start
This will bring up the website on
localhost:3000 -
(optional) Add deployment config — TODO: write instructions for deploying live.
-
Update
docusaurus.config.js:url: 'https://<your-github-username>.github.io', baseUrl: '/<repo-name>/', organizationName: '<your-github-username or org>', projectName: '<repo-name>',
-
Update
.github/workflows/deploy.yml: If you changed the name ofeducational-resourcefolder, make sure to updatepublish_dir: ./educational-resource/build
-
Push changes
-
Create
gh-pagesbranch on GitHub from main (no ned to touch this branch ever after) -
Enable GitHub Actions permissions:
- Go to
Settings → Actions → General(the settings of your repository) - Select
[x] Read and write permissions
- Go to
-
Set Github Pages source*
- Go to
Settings → Pages(the settings of your repository) - Select
Source:GitHub Actions
- Go to
-
Run deploy workflow in Actions tab
Your site will be at: https://<your-github-username>.github.io/<repo-name>/
⚠️ GitHub Pages requires public repositories on free accounts.
-
Docs live in:
docs/
Folder structure is converted to chapter structure in a sidebar At the moment it is prepopulated with (AI generated) sample data so you can explore how it all works. Organize however you like, supports endless subfolder levels. The flatmaps will be generated on each folder level, and if existing, the_intro.mdfile will be prepended to the flatmap as a kind of 'landing page' per folder. -
Customable taggging system:
docs/.template.mdStrongly recommended to define tags that can be later used for filtering, for visual signalling in the flatmap, for generating contributor / maintainer / ecosystem dashboards.. Each Markdown file needs a header ('frontmatter') that is compliant with your tag template (seedocs/.template.md). -
Flatmap styling config:
flatmap-tools/flatmap-style.config.json
Set the link to your github repo and publishing url. Set the desired flatmap depth (recommendation: not more than 3) Define per-tag colors, borders, icons, ... -
Python utilities (see
flatmap-tools/):generate-mermaids.py: Generate the visual flatmapsgenerate-contributor-pages.py: Generate contributor dashboard + per-resource pages
Command:
python3 flatmap-tools/generate-mermaids.pyWhat it does:
- Scans all
docs/**folders - For each, creates a
index.mdwith:- Mermaid map of clickable subfolders and files
- Optional text from
_intro.md - Visual styles based on tags
- Legend generated from style config
- Also builds:
- A full-site overview (full depth):
docs/full-sitemap.md - Top-level summary map:
docs/index.md
- A full-site overview (full depth):
Command:
python3 flatmap-tools/generate-contributor-pages.pyWhat it does:
-
Generates
docs/contributing/contribute-dashboard.md
→ Lists wanna-have articles (tagged as missing), invites collaboration, list resources that need review, shows recent publications (last 2 weeks) -
Generates
_contribute/*.mdfiles per missing article, with detailed context and contribution instruction, in order to make contributing frictionless.
Templates for the dashboard and the detailed contribution pages live in: flatmap-tools/
All logic lives in the flatmap-tools/ folder:
- 🧠 Add your own dashboards
- 🧩 Extend metadata parsing
- 🎨 Add new styles via
flatmap-style.config.json
When you're done setting up:
- Delete this README Because it is aimed at the maintainer, not the actual resource users or contributors
- Replace with
educational-resource/README.md- This currently contains usage and contribution guidelines for an actually published resource
- Update it to fit your resource and target audience
- Maintainer Dashboard: overdue resources, broken links, tag consistency
- Feature Ecosystem Dashboard: (beyond articles) to show gaps in the ecosystem that would need implementing

