dabdda167f
- Extract all wiki content from create_wiki_pages.py into docs/wiki/pages/*.md - Add docs/wiki/deploy_wiki.sh: copies pages to wiki/ repo, commits, pushes - Add /wiki/ to .gitignore (anchored — does not affect docs/wiki/) - 12 pages: Home, MCP-Servers-Overview, mcp-image-gen, ComfyUI-Setup, mcp-webscraper (8 tools incl. search_hint), BigMind (schema v8), Development-Conventions, Java-Projects, Java-wellmann-shop, Java-mss-failsafe, Java-Architecture, _Sidebar - Workflow: edit docs/wiki/pages/*.md → ./docs/wiki/deploy_wiki.sh
91 lines
4.1 KiB
Bash
Executable File
91 lines
4.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# deploy_wiki.sh — Sync docs/wiki/pages/*.md to the local wiki git clone
|
|
#
|
|
# ── Convention ────────────────────────────────────────────────────────────────
|
|
# The Gitea wiki is a SEPARATE git repo (pi_mcps.wiki.git).
|
|
# We keep a persistent local clone at wiki/ in the repo root.
|
|
# That folder is gitignored so it doesn't conflict with the main repo.
|
|
#
|
|
# First-time setup (run once):
|
|
# git clone http://pplate:TOKEN@192.168.188.119:30008/pplate/pi_mcps.wiki.git wiki/
|
|
#
|
|
# ── Daily workflow ────────────────────────────────────────────────────────────
|
|
# 1. Edit pages in docs/wiki/pages/*.md (tracked in pi_mcps main repo)
|
|
# 2. Run: ./docs/wiki/deploy_wiki.sh
|
|
# ./docs/wiki/deploy_wiki.sh "docs: describe your change"
|
|
#
|
|
# The script copies pages into wiki/, commits, and pushes to Gitea.
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
set -euo pipefail
|
|
|
|
# ── Config ────────────────────────────────────────────────────────────────────
|
|
GITEA_URL="http://192.168.188.119:30008"
|
|
OWNER="pplate"
|
|
REPO="pi_mcps"
|
|
|
|
# Resolve paths relative to repo root (two levels up from docs/wiki/)
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
|
|
PAGES_DIR="${SCRIPT_DIR}/pages"
|
|
WIKI_DIR="${REPO_ROOT}/wiki"
|
|
COMMIT_MSG="${1:-docs: sync wiki pages $(date -u '+%Y-%m-%d %H:%M UTC')}"
|
|
|
|
# ── Validate ──────────────────────────────────────────────────────────────────
|
|
if [[ ! -d "${WIKI_DIR}/.git" ]]; then
|
|
echo "❌ Wiki repo not set up. Run first-time setup:"
|
|
echo ""
|
|
echo " TOKEN=8bf0c734ebda3e61d9c9068489ce58a2bf8d33db"
|
|
echo " git clone http://pplate:\${TOKEN}@192.168.188.119:30008/pplate/pi_mcps.wiki.git wiki/"
|
|
echo ""
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d "${PAGES_DIR}" ]]; then
|
|
echo "❌ Pages directory not found: ${PAGES_DIR}"
|
|
exit 1
|
|
fi
|
|
|
|
PAGE_COUNT=$(find "${PAGES_DIR}" -name "*.md" | wc -l)
|
|
if [[ "${PAGE_COUNT}" -eq 0 ]]; then
|
|
echo "❌ No .md files found in ${PAGES_DIR}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "📚 Found ${PAGE_COUNT} wiki pages in ${PAGES_DIR}"
|
|
|
|
# ── Pull latest (avoid non-fast-forward push) ─────────────────────────────────
|
|
echo "📥 Pulling latest wiki changes..."
|
|
git -C "${WIKI_DIR}" pull --quiet --rebase origin main
|
|
|
|
# ── Copy pages ────────────────────────────────────────────────────────────────
|
|
echo "📋 Copying pages to ${WIKI_DIR}/..."
|
|
for md_file in "${PAGES_DIR}"/*.md; do
|
|
filename="$(basename "${md_file}")"
|
|
cp "${md_file}" "${WIKI_DIR}/${filename}"
|
|
echo " → ${filename}"
|
|
done
|
|
|
|
# ── Commit and push ───────────────────────────────────────────────────────────
|
|
cd "${WIKI_DIR}"
|
|
|
|
git add -A
|
|
|
|
if git diff --cached --quiet; then
|
|
echo "✅ No changes detected — wiki is already up to date."
|
|
exit 0
|
|
fi
|
|
|
|
CHANGED=$(git diff --cached --name-only | wc -l)
|
|
echo "📝 Committing ${CHANGED} changed file(s)..."
|
|
git commit --quiet -m "${COMMIT_MSG}"
|
|
|
|
echo "🚀 Pushing to Gitea wiki..."
|
|
git push --quiet origin main
|
|
|
|
echo ""
|
|
echo "✅ Wiki deployed successfully!"
|
|
echo " Pages: ${PAGE_COUNT} total, ${CHANGED} updated"
|
|
echo " Message: ${COMMIT_MSG}"
|
|
echo " URL: ${GITEA_URL}/${OWNER}/${REPO}/wiki"
|