There are a multitude of tools for designing documentation, such as Undocs, VitePress, Docusaurus and Docs-boilerplate used for all Adonis packages. The problem, with the exception of the Adonis boilerplate, is that they all use a frontend framework/library which, in my opinion, is not necessary for the design of documentation.
When we talk about documentation and thus a "content first" approach, we think directly of the Astro framework which promises relatively efficient generation of static documents from markdown files; however, this tool is not designed to be used fully for project documentation.
This is why I decided to create Bubble, a tool for generating documentation from markdown files without the need to use a frontend framework.
As a big fan of the Dart language, I decided to create Bubble using the Dart language in order to take advantage of its content generation speed during the build phase.
Note
Bubble can generate more pages than Astro 👀
Installing Bubble is very simple, just use this repository as the template for your project.
Once done, simply run the following command to install the dependencies:
dart pub get
- Include sitemap.xml
- Enhance documentation ui
- Add algolia search engine
- Add dark mode
- Simplify the configuration file (via yaml)
- Add all metadata to the markdown files
- Target layout file from the markdown file
- Add a search engine
Bubble is a very fast tool for generating documentation, here is a comparison with other tools:
- Mac Studio M2
- Template documentation with one collection and one marddkwn page
Iteration | Astro | Bubble |
---|---|---|
10 | 490ms | 21ms |
100 | 720ms | 276ms |
1000 | 2690ms | 2462ms |
10000 | ? | 25338ms |