name: Documentation on: push: branches: - master - main paths: - "docs/**" - "zensical.toml" jobs: deploy-wiki: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v5 - name: Checkout wiki uses: actions/checkout@v5 with: repository: ${{ gitea.repository }}.wiki path: wiki token: ${{ secrets.GITEA_TOKEN }} - name: Copy docs to wiki run: | # Remove old wiki content (except .git) find wiki -mindepth 1 -maxdepth 1 ! -name '.git' -exec rm -rf {} + # Copy markdown files maintaining structure cp -r docs/* wiki/ # Rename index.md to Home.md for wiki homepage if [ -f wiki/index.md ]; then mv wiki/index.md wiki/Home.md fi # Flatten folder structure for Gitea wiki compatibility # Move files from subfolders to root with prefixed names for dir in wiki/*/; do if [ -d "$dir" ]; then dirname=$(basename "$dir") for file in "$dir"*.md; do if [ -f "$file" ]; then filename=$(basename "$file") if [ "$filename" = "index.md" ]; then mv "$file" "wiki/${dirname}.md" else mv "$file" "wiki/${dirname}-${filename}" fi fi done rm -rf "$dir" fi done - name: Push to wiki run: | cd wiki git config user.name "Gitea Actions" git config user.email "actions@gitea.local" git add -A git diff --staged --quiet || git commit -m "Update wiki from docs [skip ci]" git push