Skip to content

Commit 7c6ed60

Browse files
committed
feat: add comprehensive documentation website with mdBook
Add professional documentation site covering all aspects of Whisper Hotkey. ## Changes - Add mdBook configuration and structure - Create GitHub Actions workflow for automatic deployment to GitHub Pages - Add documentation badge to README - Add mdbook to mise.toml for tool management ## Documentation Sections **Getting Started:** - Installation (Homebrew, DMG, build from source) - Quick Start guide with test procedures - macOS Permissions setup and troubleshooting **Usage:** - Basic usage and workflow - Hotkey configuration - Multi-profile support with examples - Alias matching for common phrases **Configuration:** - Complete configuration reference (all options) - Audio settings (buffer size, sample rate) - Model selection comparison (tiny → large) - Performance tuning strategies **Development:** - Project structure and architecture - Building from source (mise, cargo) - Testing strategy (unit, integration, coverage) - Contributing guidelines **Troubleshooting:** - Common issues (installation, audio, hotkeys) - Permission problems (detailed macOS TCC guide) - Performance issues (profiling, optimization) ## Implementation Details - mdBook 0.4.43 for static site generation - GitHub Actions for automatic deployment on push to main - Comprehensive cross-referencing between sections - Code examples and command snippets throughout - Structured navigation with logical grouping ## Next Steps After merging: 1. Enable GitHub Pages in repo settings (Source: GitHub Actions) 2. Documentation will be available at https://automaat.github.io/whisper-hotkey/ 3. Badge in README links to live docs ## Supporting documentation Implements issue #49: #49 Signed-off-by: Marcin Skalski <skalskimarcin33@gmail.com>
1 parent c5b3cc2 commit 7c6ed60

26 files changed

+6520
-0
lines changed

.github/workflows/docs.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'docs/**'
9+
- '.github/workflows/docs.yml'
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
concurrency:
18+
group: "pages"
19+
cancel-in-progress: false
20+
21+
jobs:
22+
build:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Setup mdBook
29+
uses: peaceiris/actions-mdbook@v2
30+
with:
31+
mdbook-version: '0.4.43'
32+
33+
- name: Build documentation
34+
run: cd docs && mdbook build
35+
36+
- name: Setup Pages
37+
uses: actions/configure-pages@v4
38+
39+
- name: Upload artifact
40+
uses: actions/upload-pages-artifact@v3
41+
with:
42+
path: ./docs/book
43+
44+
deploy:
45+
environment:
46+
name: github-pages
47+
url: ${{ steps.deployment.outputs.page_url }}
48+
runs-on: ubuntu-latest
49+
needs: build
50+
steps:
51+
- name: Deploy to GitHub Pages
52+
id: deployment
53+
uses: actions/deploy-pages@v4

.mise.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
rust = "1.91" # edition2024 support for coreaudio-sys
33
shellcheck = "0.11.0"
44
actionlint = "1.7.9"
5+
mdbook = "0.4.43"
56

67
[tasks.check]
78
description = "Run all linters"

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# whisper-hotkey
22

3+
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://automaat.github.io/whisper-hotkey/)
4+
35
![Whisper Hotkey logo](resources/logo.png)
46

57
macOS background app for system-wide voice-to-text via hotkey using local Whisper.

docs/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
book/

docs/book.toml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[book]
2+
authors = ["Marcin Skalski"]
3+
language = "en"
4+
multilingual = false
5+
src = "src"
6+
title = "Whisper Hotkey Documentation"
7+
description = "macOS background app for system-wide voice-to-text via hotkey using local Whisper"
8+
9+
[build]
10+
build-dir = "book"
11+
12+
[output.html]
13+
git-repository-url = "https://github.com/Automaat/whisper-hotkey"
14+
edit-url-template = "https://github.com/Automaat/whisper-hotkey/edit/main/docs/{path}"
15+
site-url = "/whisper-hotkey/"

docs/src/SUMMARY.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Summary
2+
3+
[Introduction](./introduction.md)
4+
5+
# Getting Started
6+
7+
- [Installation](./getting-started/installation.md)
8+
- [Quick Start](./getting-started/quick-start.md)
9+
- [macOS Permissions](./getting-started/permissions.md)
10+
11+
# Usage
12+
13+
- [Basic Usage](./usage/basic.md)
14+
- [Hotkeys](./usage/hotkeys.md)
15+
- [Multi-Profile Support](./usage/profiles.md)
16+
- [Alias Matching](./usage/alias-matching.md)
17+
18+
# Configuration
19+
20+
- [Configuration Reference](./configuration/reference.md)
21+
- [Audio Settings](./configuration/audio.md)
22+
- [Model Selection](./configuration/models.md)
23+
- [Performance Tuning](./configuration/performance.md)
24+
25+
# Development
26+
27+
- [Project Structure](./development/structure.md)
28+
- [Building from Source](./development/building.md)
29+
- [Testing](./development/testing.md)
30+
- [Contributing](./development/contributing.md)
31+
32+
# Troubleshooting
33+
34+
- [Common Issues](./troubleshooting/common-issues.md)
35+
- [Permissions Problems](./troubleshooting/permissions.md)
36+
- [Performance Issues](./troubleshooting/performance.md)

docs/src/chapter_1.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Chapter 1

0 commit comments

Comments
 (0)