I wanted to make Gatsby work the way I wanted it to work, which turns out to be a little non-trivial.
- I don’t want to be too wedded to a “blog” idea where it’s just an about section and a single blog. Hierarchial trees are great.
- I want a
contentfolder that contains a bunch of markdown or MDX files with frontmater
- I don’t want to have to put slugs in the file names, I just want the file name to determine the path.
- I want to be able to generate queries for the structure of the site easily, including breadcrumbs.
- I want to have titles for each of the pages (specified as the
titlekey in the frontmatter) and I want them to be respected in the navigational elements and breadcrumbs with.
- I want to be able to add dates with a
datekey in the frontmatter and be able to search on them.
- I want to be able to use a
typekey in the frontmatter to select the template because MDX has some weird stuff with it’s native idea of templating and it doesn’t really work the way I wanted it to.
- I also want to be able to make JSX pages that have front matter in them. And I don’t want to have a bunch of special-case code generating the navigational bits of the site that check if it’s using JSX or MDX.
- I wanted to mark something as a draft and have it not be published.
WORK IN PROGRESS WARNING: I’m totally not finished messing with this.
I’m using it, but it’s still getting moved around in places.
Use the package manager npm to install.
npm i gatsby-theme-wirehead-tree
WORK IN PROGRESS WARNING: I’m not ready with much docs yet.
See gatsby-starter-wirehead-tree for an example.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Hippocratic Open Source License 2.1 see LICENSE.md