The stoolap.io website — documentation, interactive playground, and blog for the Stoolap database engine.
Built with Jekyll 4.4 and deployed automatically via GitHub Pages.
cd docs
gem install jekyll bundler # one-time setup
bundle install # install dependencies
bundle exec jekyll serve # http://localhost:4000docs/
├── index.html # Homepage (hero, features, comparison table)
├── playground.html # Interactive SQL playground (WebAssembly)
├── blog/index.html # Blog listing
├── docs/index.html # Documentation hub
├── 404.html # Custom error page
├── _config.yml # Jekyll configuration (domain, collections, plugins)
├── _data/
│ └── doc_categories.yml # Documentation category definitions
├── _layouts/
│ ├── default.html # Base layout (nav, footer, theme toggle)
│ ├── doc.html # Documentation page (sidebar, prev/next nav)
│ └── post.html # Blog post
├── _docs/ # 55 documentation pages in 8 categories
│ ├── getting-started/ # Installation, quickstart, API reference
│ ├── drivers/ # Node.js, Python, and WASM integrations
│ ├── architecture/ # MVCC, storage engine, indexes, persistence
│ ├── data-types/ # Types overview, date/time, JSON
│ ├── sql-commands/ # SQL reference, SHOW, PRAGMA, DESCRIBE
│ ├── functions/ # Scalar, aggregate, window functions
│ ├── sql-features/ # Transactions, CTEs, joins, window funcs, etc.
│ └── performance/ # Optimizer, parallel execution, semantic cache
├── assets/
│ ├── css/ # main.css, home.css, code.css, playground.css
│ ├── js/ # main.js, playground.js
│ ├── img/ # logo.svg, stoolap_logo.png, architecture-diagram.svg
│ └── wasm/ # WebAssembly build (stoolap_bg.wasm, JS bindings)
├── Gemfile # Ruby dependencies
└── CNAME # stoolap.io domain
- Create a Markdown file in the appropriate
_docs/<category>/folder. - Add front matter:
---
title: Your Page Title
category: Category Name # must match a name in _data/doc_categories.yml
order: 5 # controls sort order within the category
---- Write content in Markdown. Use
sqlfenced code blocks for SQL examples.
Categories are defined in _data/doc_categories.yml. The sidebar and prev/next navigation are generated automatically from the category and order fields.
The playground runs Stoolap compiled to WebAssembly entirely in the browser. To update the WASM build:
- Build the WASM package from the project root (requires
wasm-pack). - Copy the output into
assets/wasm/.
Pushing to the main branch triggers automatic deployment via GitHub Pages. The CNAME file maps to stoolap.io.
| Component | Technology |
|---|---|
| Static site generator | Jekyll 4.4 |
| Hosting | GitHub Pages |
| Fonts | Rubik (body), JetBrains Mono (code) |
| Theme | Light/dark mode with persisted user preference (light default) |
| Playground | WebAssembly (Rust compiled via wasm-pack) |
| Plugins | jekyll-sitemap, jekyll-seo-tag |