352 lines
9.6 KiB
Markdown
352 lines
9.6 KiB
Markdown
|
|
# mdBook Setup for VAPORA Documentation
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
|
||
|
|
VAPORA documentation is now fully integrated with **mdBook**, a command-line tool for building beautiful books from markdown files. This setup allows automatic generation of a professional-looking website from your existing markdown documentation.
|
||
|
|
|
||
|
|
## ✅ What's Been Created
|
||
|
|
|
||
|
|
### 1. **Configuration** (`docs/book.toml`)
|
||
|
|
- mdBook settings (title, source directory, output directory)
|
||
|
|
- HTML output configuration with custom branding
|
||
|
|
- GitHub integration for edit links
|
||
|
|
- Search and print functionality enabled
|
||
|
|
|
||
|
|
### 2. **Source Structure** (`docs/src/`)
|
||
|
|
- **SUMMARY.md** — Table of contents (85+ entries organized by section)
|
||
|
|
- **intro.md** — Landing page with platform overview and learning paths
|
||
|
|
- **README.md** — Documentation about the mdBook setup
|
||
|
|
|
||
|
|
### 3. **Custom Theme** (`docs/theme/`)
|
||
|
|
- **vapora-custom.css** — Professional styling with VAPORA branding
|
||
|
|
- Blue/violet color scheme matching VAPORA brand
|
||
|
|
- Responsive design (mobile-friendly)
|
||
|
|
- Dark mode support
|
||
|
|
- Custom syntax highlighting
|
||
|
|
- Print-friendly styles
|
||
|
|
|
||
|
|
### 4. **Build Artifacts** (`docs/book/`)
|
||
|
|
- Static HTML site (7.4 MB)
|
||
|
|
- Fully generated and ready for deployment
|
||
|
|
- Git-ignored (not committed to repository)
|
||
|
|
|
||
|
|
### 5. **Git Configuration** (`docs/.gitignore`)
|
||
|
|
- Excludes build output and temporary files
|
||
|
|
- Keeps repository clean
|
||
|
|
|
||
|
|
## 📖 Directory Structure
|
||
|
|
|
||
|
|
```
|
||
|
|
docs/
|
||
|
|
├── book.toml # mdBook configuration
|
||
|
|
├── MDBOOK_SETUP.md # This file
|
||
|
|
├── README.md # Main docs README (updated with mdBook info)
|
||
|
|
├── .gitignore # Excludes build artifacts
|
||
|
|
│
|
||
|
|
├── src/ # mdBook source files
|
||
|
|
│ ├── SUMMARY.md # Table of contents (85+ entries)
|
||
|
|
│ ├── intro.md # Landing page
|
||
|
|
│ └── README.md # mdBook documentation
|
||
|
|
│
|
||
|
|
├── theme/ # Custom styling
|
||
|
|
│ └── vapora-custom.css # VAPORA brand styling
|
||
|
|
│
|
||
|
|
├── book/ # Generated output (.gitignored)
|
||
|
|
│ ├── index.html # Main page (7.4 MB)
|
||
|
|
│ ├── print.html # Printable version
|
||
|
|
│ ├── css/ # Stylesheets
|
||
|
|
│ ├── fonts/ # Typography
|
||
|
|
│ └── js/ # Interactivity
|
||
|
|
│
|
||
|
|
├── adrs/ # Architecture Decision Records (27+ files)
|
||
|
|
├── architecture/ # System design (6+ files)
|
||
|
|
├── disaster-recovery/ # Recovery procedures (5+ files)
|
||
|
|
├── features/ # Platform capabilities (2+ files)
|
||
|
|
├── integrations/ # Integration guides (5+ files)
|
||
|
|
├── operations/ # Runbooks and procedures (8+ files)
|
||
|
|
├── setup/ # Installation & deployment (7+ files)
|
||
|
|
├── tutorials/ # Learning tutorials (3+ files)
|
||
|
|
├── examples-guide.md # Examples documentation
|
||
|
|
├── getting-started.md # Entry point
|
||
|
|
├── quickstart.md # Quick setup
|
||
|
|
└── README.md # Main directory index
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🚀 Quick Start
|
||
|
|
|
||
|
|
### Install mdBook (if not already installed)
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cargo install mdbook
|
||
|
|
```
|
||
|
|
|
||
|
|
### Build the documentation
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /Users/Akasha/Development/vapora/docs
|
||
|
|
mdbook build
|
||
|
|
```
|
||
|
|
|
||
|
|
Output will be in `docs/book/` directory (7.4 MB).
|
||
|
|
|
||
|
|
### Serve locally for development
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /Users/Akasha/Development/vapora/docs
|
||
|
|
mdbook serve
|
||
|
|
```
|
||
|
|
|
||
|
|
Then open `http://localhost:3000` in your browser.
|
||
|
|
|
||
|
|
Changes to markdown files will automatically rebuild the documentation.
|
||
|
|
|
||
|
|
### Clean build output
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /Users/Akasha/Development/vapora/docs
|
||
|
|
mdbook clean
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📋 What Gets Indexed
|
||
|
|
|
||
|
|
The mdBook automatically indexes **85+ documentation entries** organized into:
|
||
|
|
|
||
|
|
### Getting Started (2)
|
||
|
|
- Quick Start
|
||
|
|
- Quickstart Guide
|
||
|
|
|
||
|
|
### Setup & Deployment (7)
|
||
|
|
- Setup Overview, Setup Guide
|
||
|
|
- Deployment Guide, Deployment Quickstart
|
||
|
|
- Tracking Setup, Tracking Quickstart
|
||
|
|
- SecretumVault Integration
|
||
|
|
|
||
|
|
### Features (2)
|
||
|
|
- Features Overview
|
||
|
|
- Platform Capabilities
|
||
|
|
|
||
|
|
### Architecture (7)
|
||
|
|
- Architecture Overview, VAPORA Architecture
|
||
|
|
- Agent Registry & Coordination
|
||
|
|
- Multi-IA Router, Multi-Agent Workflows
|
||
|
|
- Task/Agent/Doc Manager
|
||
|
|
- Roles, Permissions & Profiles
|
||
|
|
|
||
|
|
### Architecture Decision Records (27)
|
||
|
|
- 0001-0027: Complete decision history
|
||
|
|
- Covers all major technical choices
|
||
|
|
|
||
|
|
### Integration Guides (5)
|
||
|
|
- Doc Lifecycle, RAG Integration
|
||
|
|
- Provisioning Integration
|
||
|
|
- And more...
|
||
|
|
|
||
|
|
### Examples & Tutorials (4)
|
||
|
|
- Examples Guide (600+ lines)
|
||
|
|
- Basic Agents, LLM Routing tutorials
|
||
|
|
|
||
|
|
### Operations & Runbooks (8)
|
||
|
|
- Deployment, Pre-Deployment Checklist
|
||
|
|
- Monitoring, On-Call Procedures
|
||
|
|
- Incident Response, Rollback
|
||
|
|
- Backup & Recovery Automation
|
||
|
|
|
||
|
|
### Disaster Recovery (5)
|
||
|
|
- DR Overview, Runbook
|
||
|
|
- Backup Strategy
|
||
|
|
- Database Recovery, Business Continuity
|
||
|
|
|
||
|
|
## 🎨 Features
|
||
|
|
|
||
|
|
### Built-In Capabilities
|
||
|
|
|
||
|
|
✅ **Full-Text Search** — Search documentation instantly
|
||
|
|
✅ **Dark Mode** — Professional light/dark theme toggle
|
||
|
|
✅ **Print-Friendly** — Export entire book as PDF
|
||
|
|
✅ **Edit Links** — Quick link to GitHub editor
|
||
|
|
✅ **Mobile Responsive** — Optimized for all devices
|
||
|
|
✅ **Syntax Highlighting** — Beautiful code blocks
|
||
|
|
✅ **Table of Contents** — Automatic sidebar navigation
|
||
|
|
|
||
|
|
### Custom VAPORA Branding
|
||
|
|
|
||
|
|
- **Color Scheme**: Blue/violet primary colors
|
||
|
|
- **Typography**: System fonts + Fira Code for code
|
||
|
|
- **Responsive Design**: Desktop, tablet, mobile optimized
|
||
|
|
- **Dark Mode**: Full support with proper contrast
|
||
|
|
|
||
|
|
## 📝 Content Guidelines
|
||
|
|
|
||
|
|
### File Naming
|
||
|
|
- Root markdown: **UPPERCASE** (README.md)
|
||
|
|
- Content markdown: **lowercase** (setup-guide.md)
|
||
|
|
- Multi-word: **kebab-case** (setup-guide.md)
|
||
|
|
|
||
|
|
### Markdown Standards
|
||
|
|
1. **Code Blocks**: Language specified (bash, rust, toml)
|
||
|
|
2. **Lists**: Blank line before and after
|
||
|
|
3. **Headings**: Proper hierarchy (h2 → h3 → h4)
|
||
|
|
4. **Links**: Relative paths only (`../section/file.md`)
|
||
|
|
|
||
|
|
### Internal Links Pattern
|
||
|
|
|
||
|
|
```markdown
|
||
|
|
# Correct (relative paths)
|
||
|
|
- [Setup Guide](../setup/setup-guide.md)
|
||
|
|
- [ADR 0001](../adrs/0001-cargo-workspace.md)
|
||
|
|
|
||
|
|
# Incorrect (absolute or wrong format)
|
||
|
|
- [Setup Guide](/docs/setup/setup-guide.md)
|
||
|
|
- [ADR 0001](setup-guide.md)
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🔧 Maintenance
|
||
|
|
|
||
|
|
### Adding New Documentation
|
||
|
|
|
||
|
|
1. Create markdown file in appropriate subdirectory
|
||
|
|
2. Add entry to `docs/src/SUMMARY.md` in correct section
|
||
|
|
3. Use relative path: `../section/filename.md`
|
||
|
|
4. Run `mdbook build` to generate updated site
|
||
|
|
|
||
|
|
Example:
|
||
|
|
```markdown
|
||
|
|
# In docs/src/SUMMARY.md
|
||
|
|
## Tutorials
|
||
|
|
- [My New Tutorial](../tutorials/my-tutorial.md)
|
||
|
|
```
|
||
|
|
|
||
|
|
### Updating Existing Documentation
|
||
|
|
|
||
|
|
1. Edit markdown file directly
|
||
|
|
2. mdBook automatically picks up changes
|
||
|
|
3. Run `mdbook serve` to preview locally
|
||
|
|
4. Run `mdbook build` to generate static site
|
||
|
|
|
||
|
|
### Fixing Broken Links
|
||
|
|
|
||
|
|
mdBook will fail to build if referenced files don't exist. Check error output:
|
||
|
|
|
||
|
|
```
|
||
|
|
Error: Cannot find file '../nonexistent/file.md'
|
||
|
|
```
|
||
|
|
|
||
|
|
Verify the file exists and update the link path.
|
||
|
|
|
||
|
|
## 📦 Deployment
|
||
|
|
|
||
|
|
### Local Preview
|
||
|
|
```bash
|
||
|
|
mdbook serve
|
||
|
|
# Open http://localhost:3000
|
||
|
|
```
|
||
|
|
|
||
|
|
### GitHub Pages
|
||
|
|
```bash
|
||
|
|
mdbook build
|
||
|
|
git add docs/book/
|
||
|
|
git commit -m "docs: update mdBook"
|
||
|
|
git push origin main
|
||
|
|
```
|
||
|
|
|
||
|
|
Configure repository:
|
||
|
|
- Settings → Pages
|
||
|
|
- Source: `main` branch
|
||
|
|
- Path: `docs/book/`
|
||
|
|
- Custom domain: `docs.vapora.io` (optional)
|
||
|
|
|
||
|
|
### Docker (CI/CD)
|
||
|
|
```dockerfile
|
||
|
|
FROM rust:latest
|
||
|
|
RUN cargo install mdbook
|
||
|
|
|
||
|
|
WORKDIR /docs
|
||
|
|
COPY . .
|
||
|
|
RUN mdbook build
|
||
|
|
|
||
|
|
# Output: /docs/book/
|
||
|
|
```
|
||
|
|
|
||
|
|
### GitHub Actions
|
||
|
|
Add workflow file `.github/workflows/docs.yml`:
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
name: Documentation Build
|
||
|
|
|
||
|
|
on:
|
||
|
|
push:
|
||
|
|
paths: ['docs/**']
|
||
|
|
branches: [main]
|
||
|
|
|
||
|
|
jobs:
|
||
|
|
build:
|
||
|
|
runs-on: ubuntu-latest
|
||
|
|
steps:
|
||
|
|
- uses: actions/checkout@v3
|
||
|
|
- uses: peaceiris/actions-mdbook@v4
|
||
|
|
- run: mdbook build
|
||
|
|
- uses: peaceiris/actions-gh-pages@v3
|
||
|
|
with:
|
||
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
|
publish_dir: ./docs/book
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🐛 Troubleshooting
|
||
|
|
|
||
|
|
| Problem | Solution |
|
||
|
|
|---------|----------|
|
||
|
|
| **Broken links in built site** | Use relative paths: `../file.md` not `/file.md` |
|
||
|
|
| **Search not working** | Rebuild with `mdbook build` |
|
||
|
|
| **Build fails silently** | Run `mdbook build` with `-v` flag for verbose output |
|
||
|
|
| **Theme not applying** | Remove `docs/book/` and rebuild |
|
||
|
|
| **Port 3000 in use** | Change port: `mdbook serve --port 3001` |
|
||
|
|
| **Missing file error** | Check file exists and update SUMMARY.md path |
|
||
|
|
|
||
|
|
## ✅ Verification
|
||
|
|
|
||
|
|
**Confirm successful setup:**
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /Users/Akasha/Development/vapora/docs
|
||
|
|
|
||
|
|
# Build test
|
||
|
|
mdbook build
|
||
|
|
# Output: book/ directory created with 7.4 MB of files
|
||
|
|
|
||
|
|
# Check structure
|
||
|
|
ls -la book/index.html # Should exist
|
||
|
|
ls -la src/SUMMARY.md # Should exist
|
||
|
|
ls -la theme/vapora-custom.css # Should exist
|
||
|
|
|
||
|
|
# Serve test
|
||
|
|
mdbook serve &
|
||
|
|
# Should output: Serving on http://0.0.0.0:3000
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📚 Resources
|
||
|
|
|
||
|
|
- **mdBook Docs**: https://rust-lang.github.io/mdBook/
|
||
|
|
- **VAPORA Docs**: See `README.md` in this directory
|
||
|
|
- **Example**: Check `src/SUMMARY.md` for structure reference
|
||
|
|
|
||
|
|
## 📊 Statistics
|
||
|
|
|
||
|
|
| Metric | Value |
|
||
|
|
|--------|-------|
|
||
|
|
| **Documentation Files** | 75+ markdown files |
|
||
|
|
| **Indexed Entries** | 85+ in table of contents |
|
||
|
|
| **Build Output** | 7.4 MB (HTML + assets) |
|
||
|
|
| **Generated Pages** | 4 (index, print, TOC, 404) |
|
||
|
|
| **Build Time** | < 2 seconds |
|
||
|
|
| **Architecture Records** | 27 ADRs |
|
||
|
|
| **Integration Guides** | 5 guides |
|
||
|
|
| **Runbooks** | 8 operational guides |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Setup Date**: 2026-01-12
|
||
|
|
**mdBook Version**: Latest (installed via `cargo install`)
|
||
|
|
**Status**: ✅ Fully Functional
|
||
|
|
|
||
|
|
For detailed mdBook usage, see `docs/README.md` in the repository.
|