Files
FlexLove/docs/versions/README.md
Michael Freno 39ccf0c450 v0.2.1 release
2025-11-16 09:36:46 -05:00

87 lines
2.4 KiB
Markdown

# FlexLöve Documentation Versions
This directory stores versioned snapshots of the FlexLöve API documentation.
## Purpose
Each time a new version of FlexLöve is released, the documentation is archived here so users can reference docs for specific versions they're using.
## Structure
```
docs/
├── api.html # Latest/current version documentation
├── index.html # Landing page with version selector
└── versions/
├── v0.2.0/
│ └── api.html # Documentation for v0.2.0
├── v0.3.0/
│ └── api.html # Documentation for v0.3.0
└── v1.0.0/
└── api.html # Documentation for v1.0.0
```
## Naming Convention
- Version directories follow the pattern: `v{major}.{minor}.{patch}`
- Examples: `v0.2.0`, `v1.0.0`, `v2.1.3`
- Each directory contains `api.html` (the full API documentation for that version)
## Access
### Via GitHub Pages
Once deployed, versions are accessible at:
- Latest: `https://{user}.github.io/{repo}/api.html`
- Specific version: `https://{user}.github.io/{repo}/versions/v0.2.0/api.html`
### Via Repository
Browse directly in the repository:
- `docs/api.html` - Always shows latest
- `docs/versions/v0.2.0/api.html` - Specific version
## Automation
Documentation versions are automatically archived when:
1. A new git tag is pushed (e.g., `git push origin v0.3.0`)
2. GitHub Actions workflow runs
3. Documentation is generated and archived
4. Version is committed back to the repository
See `.github/workflows/release.yml` for implementation details.
## Manual Archival
To manually archive a version:
```bash
# Generate docs for current version
./scripts/generate_docs.sh
# Create version directory
VERSION="0.2.0"
mkdir -p "docs/versions/v${VERSION}"
# Copy documentation
cp docs/api.html "docs/versions/v${VERSION}/api.html"
# Commit
git add docs/versions/
git commit -m "Archive documentation for v${VERSION}"
git push
```
## Storage Considerations
- Each `api.html` file is approximately 200-300KB
- Storing 10-20 versions = 2-6MB total
- GitHub has a 1GB repository soft limit (we're well within it)
- Old versions are kept indefinitely for reference
## Version Dropdown
The main documentation pages (`api.html` and `index.html`) include a version dropdown that automatically detects and lists all available versions from this directory.
Users can switch between versions without leaving the documentation.