Replace github.com/gkerma/secubox-openwrt with github.com/CyberMind-FR/secubox-openwrt across all files. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
11 KiB
GitHub Wiki & Pages Setup Guide
Version: 1.0.0 Last Updated: 2025-12-28 Purpose: Guide for publishing SecuBox documentation online
📚 Two Options for Publishing Documentation
You have two excellent options for publishing your DOCS/ directory online:
Option 1: GitHub Wiki (Simple, Fast)
- ✅ Easy Setup: Built into GitHub, no configuration needed
- ✅ Quick Deploy: Simple git push
- ✅ Fast: Instant updates
- ✅ Search: Built-in search functionality
- ❌ Limited Theming: Basic styling only
- ❌ No Custom Domain: Must use github.com/user/repo/wiki
- ❌ Basic Navigation: Limited sidebar customization
Best for: Quick documentation, internal team docs, simple navigation
Option 2: GitHub Pages with MkDocs (Professional, Feature-Rich)
- ✅ Professional Theme: Material Design theme
- ✅ Custom Domain: Can use custom domain (docs.yourdomain.com)
- ✅ Rich Features: Tabs, search, dark mode, mermaid diagrams
- ✅ Better Navigation: Multi-level navigation, tabs
- ✅ Mobile Responsive: Optimized for all devices
- ❌ More Setup: Requires Python/MkDocs installation
- ❌ Build Step: Need to build site before deploying
Best for: Public documentation, professional projects, rich content
🚀 Quick Start
Option 1: GitHub Wiki
# 1. Enable Wiki in GitHub repository settings
# https://github.com/CyberMind-FR/secubox-openwrt/settings
# 2. Run setup script
chmod +x scripts/setup-wiki.sh
./scripts/setup-wiki.sh
# 3. View your wiki
# https://github.com/CyberMind-FR/secubox-openwrt/wiki
Time to deploy: ~2 minutes
Option 2: GitHub Pages
# 1. Install dependencies
sudo apt-get install python3 python3-pip
pip3 install mkdocs mkdocs-material pymdown-extensions
# 2. Run setup script
chmod +x scripts/setup-github-pages.sh
./scripts/setup-github-pages.sh
# 3. Test locally
mkdocs serve
# Open: http://127.0.0.1:8000
# 4. Commit and push
git add mkdocs.yml docs/
git commit -m "Add GitHub Pages documentation site"
git push
# 5. Enable in GitHub settings
# https://github.com/CyberMind-FR/secubox-openwrt/settings/pages
# Source: Deploy from a branch
# Branch: master, Folder: /docs
# 6. View your site
# https://gkerma.github.io/secubox-openwrt/
Time to deploy: ~10 minutes (first time)
📊 Feature Comparison
| Feature | GitHub Wiki | GitHub Pages (MkDocs) |
|---|---|---|
| Setup Time | ⚡ 2 min | 🕐 10 min |
| Theme | Basic | ✨ Material Design |
| Dark Mode | ❌ No | ✅ Yes |
| Search | ✅ Yes | ✅ Yes (Better) |
| Mermaid Diagrams | ✅ Yes | ✅ Yes |
| Code Highlighting | ✅ Basic | ✅ Advanced |
| Navigation | 📋 Sidebar | 🎯 Tabs + Sidebar |
| Mobile | ✅ OK | ✅ Excellent |
| Custom Domain | ❌ No | ✅ Yes |
| Version Control | ✅ Separate repo | ✅ Same repo |
| Offline Editing | ✅ Yes | ✅ Yes |
| Build Required | ❌ No | ✅ Yes |
| CI/CD Integration | ⚠️ Manual | ✅ Easy |
🎯 Recommendation
For SecuBox, we recommend GitHub Pages with MkDocs because:
- ✨ Professional appearance matches your high-quality documentation
- 📱 Better mobile experience for users browsing on phones
- 🎨 Material Design theme aligns with your indigo/violet color scheme
- 🔍 Superior search with instant results
- 🌙 Dark mode support matches your design system
- 📊 Mermaid diagram support for your 3 architecture diagrams
- 🔗 Custom domain option if you want docs.cybermind.fr
- 🚀 Better SEO for public documentation
However, GitHub Wiki is perfect if:
- You need documentation now (2-minute setup)
- Internal team use only
- Simple navigation is sufficient
- Don't want to maintain build pipeline
📖 Detailed Setup Instructions
Option 1: GitHub Wiki Setup
Step 1: Enable Wiki
-
Go to repository settings:
https://github.com/CyberMind-FR/secubox-openwrt/settings -
Scroll to "Features" section
-
Check the "Wikis" checkbox
-
Save changes
Step 2: Run Setup Script
cd /path/to/secubox-openwrt
# Make script executable
chmod +x scripts/setup-wiki.sh
# Run setup
./scripts/setup-wiki.sh
What the script does:
- Clones your wiki repository
- Creates
Home.md(landing page) - Creates
_Sidebar.md(navigation) - Copies all documentation from DOCS/
- Fixes internal links for wiki format
- Commits and pushes to wiki repository
Step 3: Verify
Visit: https://github.com/CyberMind-FR/secubox-openwrt/wiki
Step 4: Update Wiki (Future Changes)
Whenever you update DOCS/, run:
./scripts/setup-wiki.sh
The script will sync all changes to the wiki.
Option 2: GitHub Pages Setup
Step 1: Install Dependencies
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install python3 python3-pip
pip3 install mkdocs mkdocs-material pymdown-extensions
macOS:
brew install python3
pip3 install mkdocs mkdocs-material pymdown-extensions
Windows:
# Install Python from python.org first
pip install mkdocs mkdocs-material pymdown-extensions
Step 2: Run Setup Script
cd /path/to/secubox-openwrt
# Make script executable
chmod +x scripts/setup-github-pages.sh
# Run setup
./scripts/setup-github-pages.sh
What the script does:
- Creates
mkdocs.ymlconfiguration with Material theme - Creates
docs/directory structure - Creates beautiful home page with cards
- Copies all documentation from DOCS/
- Fixes internal links for web format
- Creates custom CSS matching your design system
- Builds preview site
Step 3: Test Locally
mkdocs serve
Open browser: http://127.0.0.1:8000
Navigate and test:
- Check all links work
- Verify diagrams render
- Test dark/light mode toggle
- Try search functionality
- Test responsive design (resize browser)
Step 4: Commit and Push
git add mkdocs.yml docs/
git commit -m "Add GitHub Pages documentation site
- MkDocs Material theme
- Complete documentation sync from DOCS/
- Custom styling matching SecuBox design
- Archive section organized
- Search and navigation configured
🤖 Generated with setup-github-pages.sh
"
git push origin master
Step 5: Enable GitHub Pages
-
Go to repository settings:
https://github.com/CyberMind-FR/secubox-openwrt/settings/pages -
Configure:
- Source: Deploy from a branch
- Branch:
master - Folder:
/docs
-
Click Save
-
Wait 2-3 minutes for deployment
Step 6: Verify
Visit: https://gkerma.github.io/secubox-openwrt/
Step 7: (Optional) Custom Domain
If you own cybermind.fr and want docs.cybermind.fr:
-
Add CNAME record in DNS:
docs.cybermind.fr → gkerma.github.io -
Create
docs/CNAMEfile:echo "docs.cybermind.fr" > docs/CNAME -
In GitHub Pages settings, set custom domain:
docs.cybermind.fr -
Enable "Enforce HTTPS"
Step 8: Update Docs (Future Changes)
Whenever you update DOCS/:
# Update docs
# (edit files in DOCS/)
# Re-run sync script
./scripts/setup-github-pages.sh
# Or manually copy changed files:
cp DOCS/CHANGED-FILE.md docs/changed-file.md
# Build and test
mkdocs serve
# Commit and push
git add docs/
git commit -m "Update documentation"
git push
GitHub Pages will auto-rebuild and deploy in ~2 minutes.
🔄 Automated Sync (CI/CD)
For GitHub Pages
Create .github/workflows/deploy-docs.yml:
name: Deploy Documentation
on:
push:
branches:
- master
paths:
- 'DOCS/**'
- 'mkdocs.yml'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install dependencies
run: |
pip install mkdocs mkdocs-material pymdown-extensions
- name: Sync DOCS to docs/
run: |
./scripts/setup-github-pages.sh
- name: Deploy to GitHub Pages
run: mkdocs gh-deploy --force
Now documentation auto-updates on every push to DOCS/!
🎨 Customization
GitHub Wiki
Edit sidebar:
# Clone wiki
git clone https://github.com/CyberMind-FR/secubox-openwrt.wiki.git
# Edit sidebar
vim _Sidebar.md
# Commit and push
git add _Sidebar.md
git commit -m "Update sidebar"
git push
GitHub Pages
Edit theme colors:
# mkdocs.yml
theme:
palette:
primary: indigo # Change to: blue, red, green, etc.
accent: purple # Change to: pink, cyan, etc.
Add custom CSS:
/* docs/stylesheets/extra.css */
:root {
--md-primary-fg-color: #6366f1; /* Your custom color */
}
Add custom logo:
# mkdocs.yml
theme:
logo: assets/logo.png
favicon: assets/favicon.png
📊 Analytics
GitHub Pages
Add Google Analytics to mkdocs.yml:
extra:
analytics:
provider: google
property: G-XXXXXXXXXX
🐛 Troubleshooting
GitHub Wiki
Problem: Wiki not showing
Solution:
- Ensure Wiki is enabled in repository settings
- Check that at least
Home.mdexists - Verify push was successful:
git login wiki repo
Problem: Links broken
Solution: Wiki uses different link format:
- ✅ Correct:
[Text](Page-Name) - ❌ Wrong:
[Text](./file.md)
Run ./scripts/setup-wiki.sh to fix all links.
GitHub Pages
Problem: Site not building
Solution:
- Check GitHub Actions tab for build errors
- Test locally:
mkdocs build --strict - Verify
mkdocs.ymlsyntax
Problem: Diagrams not rendering
Solution:
Add to mkdocs.yml:
markdown_extensions:
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
Problem: Links broken
Solution:
Use relative links without ./:
- ✅ Correct:
[Text](page-name.md) - ❌ Wrong:
[Text](./PAGE-NAME.md)
Run ./scripts/setup-github-pages.sh to fix all links.
🎯 Our Recommendation
For SecuBox: Use GitHub Pages with MkDocs Material
The professional appearance, superior navigation, and rich features perfectly complement your high-quality documentation and modern design system.
Quick start:
chmod +x scripts/setup-github-pages.sh
./scripts/setup-github-pages.sh
mkdocs serve # Test locally
# Then follow steps 4-6 above to deploy
Result: Professional documentation site at https://gkerma.github.io/secubox-openwrt/
📞 Support
Issues with scripts:
- Check script output for errors
- Ensure all dependencies installed
- Verify DOCS/ directory exists
Need help?
- Create GitHub issue
- Email: support@cybermind.fr
Last Updated: 2025-12-28
Scripts Location: scripts/
Maintainer: CyberMind.fr