Single-project vs multi-project
Configure whether the wiki sidebar shows shelves or projects, how ordering works, and how to add or migrate projects.
You can flip the wiki between single-project (original behavior) and multi-project modes from _config.yml. Multi-project keeps each project isolated with its own shelves and docs; single-project keeps the original shelf-only navigation.
Switch modes
- Single-project: set
project_mode: singleanddefault_project_id: <project>. The sidebar lists shelves for the chosen project (default:wiki). - Multi-project: set
project_mode: multi. The sidebar lists every project in_projects/. Clicking a project opens its shelves and docs, and the sidebar keeps that project highlighted while you browse shelves/docs inside it.
Add a project
1) Create a file in _projects/:
---
title: Awesome App
project_id: awesome-app
nav_id: awesome-app
nav_title: Awesome App
nav_icon: fa-solid fa-folder
order: 3
---
Short description…
2) Add shelves to _shelves/ with project_id: awesome-app. Example:
---
title: Getting Started
shelf_id: awesome-getting-started
parent_shelf: # leave blank
project_id: awesome-app
order: 1
---
3) Add docs to _docs/ with both parent_shelf and project_id set:
---
title: Install
parent_shelf: awesome-getting-started
project_id: awesome-app
---
Navigation ordering (multi-project)
- The sidebar uses each project’s
ordervalue (from the file in_projects/) and prefixes the number before the name for clarity. - If
orderis missing, the loop index is used (1, 2, 3…). - Shelves continue to sort by their own
orderinside the project. - In single-project mode the numeric prefix is hidden because the sidebar shows shelves, not projects.
Keep the original wiki
- The existing template lives as the
TomeksDEV Wikiproject in_projects/wiki.md. - All existing shelves/docs default to
project_id: wikivia collection defaults in_config.yml. - If you return to single-project mode, set
default_project_id: wikito show the original shelves.
Example project
WireGuard Install with GUIlives in_projects/wireguard-install-with-gui.mdwith its shelf_shelves/wireguard-install.mdand doc_docs/wireguard-readme.md. Use it as a pattern for adding more projects.
Migrate an existing single-project wiki to multi-project
- Set
project_mode: multiin_config.yml. - Add a project file for your current content (e.g.,
_projects/wiki.md) and make sure shelves/docs have eitherproject_id: wikiin front matter or rely on the defaults already defined in_config.yml. - Add additional project files, shelves, and docs following the pattern above.
- Serve locally (
bundle exec jekyll serve) and confirm the sidebar shows numbered projects. Click into each to verify shelves and breadcrumbs stay scoped.