87 lines
2.4 KiB
Markdown
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.
|