Skip to content

Commit f238a12

Browse files
strawgategithub-actions[bot]Copilot
authored
Add comprehensive MkDocs documentation for wrappers and adapters (#128)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: William Easton <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: strawgate <[email protected]>
1 parent c708153 commit f238a12

File tree

15 files changed

+2218
-3
lines changed

15 files changed

+2218
-3
lines changed

.github/workflows/docs.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
12+
jobs:
13+
deploy:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Set up Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: '3.10'
22+
23+
- name: Install uv
24+
uses: astral-sh/setup-uv@v5
25+
with:
26+
enable-cache: true
27+
28+
- name: Install documentation dependencies
29+
run: uv pip install --system mkdocs mkdocs-material 'mkdocstrings[python]' mkdocstrings-python
30+
31+
- name: Build documentation
32+
run: mkdocs build
33+
34+
- name: Deploy to GitHub Pages
35+
run: mkdocs gh-deploy --force

.markdownlint.jsonc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@
55
"line_length": 80,
66
"code_blocks": false, // Don't restrict line length in code blocks
77
"tables": false // Don't restrict line length in tables
8+
},
9+
"MD024": {
10+
"siblings_only": true // Allow duplicate headings in different sections
811
}
912
}

Makefile

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
.PHONY: bump-version bump-version-dry codegen lint typecheck sync precommit test build help
2-
.PHONY: install test-aio test-sync test-shared
2+
.PHONY: install test-aio test-sync test-shared docs-serve docs-build docs-deploy
33

44
# Default target - show help
55
.DEFAULT_GOAL := help
@@ -19,6 +19,9 @@ help:
1919
@echo " make build - Build all packages"
2020
@echo " make codegen - Generate sync package from async"
2121
@echo " make precommit - Run pre-commit checks (lint + typecheck + codegen)"
22+
@echo " make docs-serve - Start documentation server"
23+
@echo " make docs-build - Build documentation"
24+
@echo " make docs-deploy - Deploy documentation to GitHub Pages"
2225
@echo ""
2326
@echo "Per-project targets (use PROJECT=<path>):"
2427
@echo " make sync PROJECT=key-value/key-value-aio"
@@ -119,4 +122,17 @@ else
119122
@cd key-value/key-value-shared && uv build .
120123
endif
121124

122-
precommit: lint codegen lint typecheck
125+
precommit: lint codegen lint typecheck
126+
127+
# Documentation targets
128+
docs-serve:
129+
@echo "Starting documentation server..."
130+
@uv run --extra docs mkdocs serve
131+
132+
docs-build:
133+
@echo "Building documentation..."
134+
@uv run --extra docs mkdocs build
135+
136+
docs-deploy:
137+
@echo "Deploying documentation to GitHub Pages..."
138+
@uv run --extra docs mkdocs gh-deploy --force

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ This monorepo contains two libraries:
66
- `py-key-value-sync`: Sync key-value store library (under development;
77
generated from the async API).
88

9+
## Documentation
10+
11+
- [Full Documentation](https://strawgate.github.io/py-key-value/)
12+
- [Getting Started Guide](https://strawgate.github.io/py-key-value/getting-started/)
13+
- [Wrappers Guide](https://strawgate.github.io/py-key-value/wrappers/)
14+
- [Adapters Guide](https://strawgate.github.io/py-key-value/adapters/)
15+
- [API Reference](https://strawgate.github.io/py-key-value/api/protocols/)
16+
917
## Why use this library?
1018

1119
- **Multiple backends**: DynamoDB, Elasticsearch, Memcached, MongoDB, Redis,

0 commit comments

Comments
 (0)