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 |