64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
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
|