LeadcodeDev / bubble_doc

The Bubble project is a tool for generating documentation from markdown files, designed to be simple and effective thanks to the Dart language.

Repository from Github https://github.comLeadcodeDev/bubble_docRepository from Github https://github.comLeadcodeDev/bubble_doc

Bubble Documentation

Motivation

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.

Choice of technologies

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 đź‘€

Installation

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

Roadmap

  • 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

Benchmark

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

About

The Bubble project is a tool for generating documentation from markdown files, designed to be simple and effective thanks to the Dart language.


Languages

Language:Dart 87.9%Language:HTML 5.2%Language:CSS 4.5%Language:JavaScript 2.3%