Edit moinmoin wiki pages in your favourite editor
editmoin http://moinmo.in/WikiSandBox
editmoin -t SomeTemplate http://moinmo.in/WikiSandBox
editmoin allows you to edit Moin wiki pages with your preferred editor. It means you can easily edit your pages, without the usual limitations of most web browsers' text areas.
Its usage is simple and straightforward. Just provide moin's web page url as the first parameter. For example:
editmoin http://moinmo.in/WikiSandBox
You can also use the -t parameter, to inform a template to base this page on. For example:
editmoin -t SomeTemplate http://moinmo.in/WikiSandBox
While you're editing a page you'll notice that a few settings are available at the top of the page. These settings are preceded by a @ symbol, and are immediately followed by the page body. These settings allow you to inform, for example, if you want subscribing users to be notified of your changes, or provide a comment for your change. Their functionality is simple, and their meaning, format, and usage should be obvious to you.
The default editor is vi. If you want to use any other, just set the EDITOR environment variable accordingly.
For editmoin to be able to authenticate you against the moin site you're accessing, it must know your username. For that, you must edit the file ~/.moin_users and insert URL ID pairs in it. For example:
http://moinmo.in YourUserName
http://wiki.ubuntu.com
http://example.com/moin/moin.cgi AnotherUserName
If the server needs Basic HTTP Authentication you can use something like:
https://user:[email protected]/moin/moin.cgi YourUserName
For using shortcuts (see below), and also for better control, defining URLs without usernames in that file is valid.
In remote times, authentication was done in moin using an ID, consisting mostly of numbers. Nowadays moin was improved to work with a more traditional username/password scheme. Even then, if the traditional username scheme mentioned above doesn't work for you, IDs may still be obtained after authentication, when the moin site sends your browser a MOIN_ID or MOIN_SESSION cookie.
Setting moin IDs consists of changing a file named ~/.moin_ids and inserting URL ID pairs in it. For example:
http://moinmo.in 987654321.321.54321
http://wiki.canonical.com
http://example.com/moin/moin.cgi 123456789.123.12345
If the server needs Basic HTTP Authentication you can use something like:
https://user:[email protected]/moin/moin.cgi 123456789.123.12345
You can use a command like this to create a ~/.moin_ids file from your current Firefox profile:
sqlite3 -separator ' ' .mozilla/*/*.default/cookies.sqlite \
"SELECT host,value FROM moz_cookies WHERE name LIKE 'MOIN_SESSION'" \
| sed 's_^_https://_' > ~/.moin_ids
For using shortcuts (see below), and also for better control, defining URLs without IDs in that file is valid.
Besides using shortcuts, it's also possible to define URL aliases in a file named ~/.moin_aliases. This file should contain lines with pairs of "alias translation". For instance:
script http://moinmo.in/ScriptMarket
With this line present, one may execute a command like follows:
editmoin script/EditMoin
and get the expected result.
Notice that unlike shortcuts, aliases must match exactly to be considered. After the alias is translated, the resulting URL is also processed for matching shortcuts as specified below.
Instead of using the whole URL, you may use a shortcut, which consists of any substring of an URL contained in ~/.moin_users and/or ~/.moin_ids, followed by a slash and an optional subpath. For instance:
editmoin canonical/FrontPage
If you're behind a proxy, set the http_proxy environment variable, as usual.
Editing a moin page may take several minutes, or even hours sometimes. With this in mind, after you change some page it is saved in a file named ~/.moin_lastedit even before trying to commit it. This gives an extra protection against casual problems. Note that this file is overwritten every time a page is successfuly changed, so save it somewhere if you want to keep it.
editmoin was written by Gustavo Niemeyer <[email protected]>. This manpage was written by Martin Pitt <[email protected]> for the Debian GNU/Linux System (but may be used by others), based on editmoin's home page.