Moingo is Moin Moin for the road, or “Moin Moin To Go”
It’s essentially Moin Moin Desktop Edition (MMDE), but configured
so I can more easily store Moin Moin’s wiki data into an SCCS
like git/github.
The goal is to be able to share and synchronize a Moin Moin wiki
with a distributed, occasionally-offline team, using distributed
version control as the synchronization mechanism.
INSTALL and RUNNING
To get and install Moingo, you just need python and git.
And, do a ‘git clone [git-repo-URL-where-moingo-lives]’.
For example…
mkdir some_directory cd some_directory git clone git://github.com/steveyen/moingo.gitAfter that, you should have a moingo subdirectory, which is all
ready to run with no extra install steps.
Moingo expects wiki page data to live in sibling directories, for example…
/some_directory /moingo — the directory you checked out with git README — moin moin’s standard README README.textile — this README.textile file wikiserver.py /wiki [more moin moin files] /wiki_personal — a sibling directory holding a personal wiki /wiki_intranet — a sibling directory holding a team intranet wikiTo make your own sibling wiki page data directories…
cd some_directory cp -R moingo/wiki [your_new_wiki]For example…
cd some_directory cp -R moingo/wiki wiki_personalYou can start moingo by…
python moingo/wikiserver.py wiki_personalAnother example…
python moingo/wikiserver.py wiki_intranetThe idea is that wiki_personal, wiki_intranet, wiki_family, etc
just need to be sibling directories to moingo, and can be checked
in separately into git or sccs.
Then, point your browser at this URL and wiki away…
http://127.0.0.1:8080Assuming that your sibling page directory is checked into git,
you can use the sync.rb script (you’ll need ruby) to
pull down changes from a shared repository, merge your changes,
and push back to the shared repository. The synchronization
strategy for sync.rb is dumb and simple right now: your local
changes win, so it’s best to sync often. To use it, just…
Checking Moin Moin wiki page data into git isn’t the best fit.
Moin Moin stores each page revision as a separate file, which
goes against the grain for how to use git, but I had a lot of
old pages in Moin Moin that I wanted to keep on using —
so, now there’s Moingo.