Add wiki sync: docs/ stays the source of truth, wikis auto-mirror (#4)
scripts/sync-wiki.ps1 clones a wiki repo, copies+flattens markdown from docs/ with a slug mapping (e.g. recipes/zerto-pre-post-scripts.md becomes the Recipe-Zerto-Failover page), rewrites in-repo markdown links to wiki-style targets, generates a _Sidebar.md, and pushes back if anything changed. Idempotent. .github/workflows/wiki-sync.yml runs the sync on every push to main that touches docs/ (or the sync tooling itself). Uses GITHUB_TOKEN which has wiki write access via the contents:write permission. For Gitea, no Windows runner is available, so the script is invoked manually with a Gitea PAT in the URL. One-time setup for each remote: enable Wiki in repo settings, create a Home page via the web UI to initialize the wiki repo, then run the sync. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
name: Sync Wiki
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- 'scripts/sync-wiki.ps1'
|
||||
- '.github/workflows/wiki-sync.yml'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
sync:
|
||||
runs-on: windows-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Sync docs/ to GitHub wiki
|
||||
shell: pwsh
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
$repo = '${{ github.repository }}'
|
||||
$wikiUrl = "https://x-access-token:$env:GH_TOKEN@github.com/$repo.wiki.git"
|
||||
./scripts/sync-wiki.ps1 -WikiUrl $wikiUrl
|
||||
Reference in New Issue
Block a user