This project exports the current public EOVSA MediaWiki into a reproducible
MkDocs site. The exporter reads the MediaWiki API and never modifies the live
wiki. The generated site is deployed separately under /var/www/html/docs on
ovsa.
Requirements:
- Python 3
- Pandoc 3
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python tools/migrate_mediawiki.py
.venv/bin/mkdocs build --strictThe export produces:
- current public page source and revision metadata in
export/pages.jsonl; - registered upload metadata in
export/media.json, used only to resolve links; - converted Markdown under
docs/; export/media-files.txt, a safe relative-path list for copying only the current originals referenced by migrated content pages, not unused uploads, historical upload revisions, or MediaWiki's thumbnail cache;- a machine-readable migration report in
export/report.json.
The live /var/www/html/wiki tree is a read-only migration source. Do not
write, rename, delete, or run maintenance actions against it as part of this
project.
The converter owns these paths and overwrites them on every migration run:
docs/pages/,docs/files/,docs/system/,docs/templates/, anddocs/other/;docs/index.md,docs/all-pages.md,docs/observing-log-archive.md,docs/flare-list-archive.md,docs/categories.md,docs/media-files.md, anddocs/migration-report.md.
Make durable edits in tools/migrate_mediawiki.py, mkdocs.yml,
docs/guide/, docs/stylesheets/, docs/javascripts/, or docs/assets/.
Do not hand-edit generated pages or the site/ build output. Legacy
User-namespace pages are deliberately excluded because the current namespace
contains only spam.
The deployment script performs a fresh clean strict build and refuses to
publish if iCloud conflict-copy files or directories (for example,
page 2.md, index 3.html, or analysis 3) are present in either docs/ or
site/.
tools/deploy_to_ovsa.sh performs a fresh clean strict build, then publishes
the static site to ovsa:/var/www/html/docs without sudo. It verifies the
exact write boundary and copies only the referenced current upload originals
listed in export/media-files.txt.
tools/deploy_to_ovsa.sh