wikimedia-mode.el is apparently no longer maintained and most of the code here has been incorporated into mediawiki-el. (More info on the emacs wiki)
This article describes the installation of wikipedia-mode, an Emacs major mode for editing articles in Wikipedia and other wikis running MediaWiki software offline, and of the auxiliary mode longlines-mode. These modes tweak Emacs's behavior in several ways to make it easier to edit MediaWiki articles. In particular, wikipedia-mode provides syntax highlighting for MediaWiki markup.
For other methods of using Emacs with Wikipedia, see Wikipedia:Text editor support.
To install wikipedia-mode, save wikipedia-mode.el to a convenient directory, preferably one in your Emacs load-path
. (To see which directories are in your load-path
, type C-h v load-path while in Emacs.)
Next, open your Emacs initialization file. (This is usually a file called .emacs
in your home directory; to find out what it is, type C-h v user-init-file. If this is a new Windows Emacs installation, you need to choose a home directory. See Where do I put my .emacs file?) Add the following lines:
(autoload 'wikipedia-mode "wikipedia-mode.el" "Major mode for editing documents in Wikipedia markup." t)
If you did not save wikipedia-mode.el
in a `load-path'
directory, replace "wikipedia-mode.el"
with the full pathname. On Windows, remember to use forward slashes ("/") rather than back slashes ("\") to indicate the directory. For example,
(autoload 'wikipedia-mode "C:/Documents and Settings/USERNAME/.emacs.d/Wikipedia-mode.el" "Major mode for editing documents in Wikipedia markup." t)
It is often convenient to associate wikipedia-mode with certain filenames, so that Emacs will enter wikipedia-mode automatically whenever such files are opened. In order to associate filenames ending in ".wiki
" with wikipedia-mode, add the following to your initialization file:
(add-to-list 'auto-mode-alist '("\\.wiki\\'" . wikipedia-mode))
To use this mode automatically with the Firefox ViewSource [specify] extension, add:
(add-to-list 'auto-mode-alist '("en\\.wikipedia\\.org" . wikipedia-mode))
To use this mode automatically with the Firefox ItsAllText extension, add:
(add-to-list 'auto-mode-alist '("itsalltext.*\\.txt$" . wikipedia-mode))
Still further customizations can be added; suppose one wants Emacs to spellcheck files opened up in wikipedia-mode using the FlySpell program? One could add some elisp like this:
(setq text-mode-hook (quote (#[nil "\300\301!\207" [flyspell-mode 1] 2] flyspell-buffer text-mode-hook-identify)))
MediaWiki articles don't use line breaks, which means that paragraphs are not separated into lines by return characters. By default, Emacs sees such documents as a bunch of super-long lines. There are several solutions to this problem: you can use toggle-truncate-lines
to fold long lines on the screen (if they are truncated) or you can use longlines-mode
to "word wrap" text using "soft" newlines.
If you decide to use the first approach you are likely need to download a third-party package — screen-lines.el — which redefines movement commands to work in terms of screen lines, as opposed to text lines (that is if you use next-line
it moves cursor vertically down to the next line on the screen, whereas traditionally it moves cursor to the next text line).
The second approach requires longlines-mode
which is included in recent versions of Emacs. If your version does not include it you need to do the following:
Download longlines.el to your load-path
and add these lines to your Emacs initialization file (typically .emacs
or .emacs.el
):
(autoload 'longlines-mode "longlines.el" "Minor mode for editing long lines." t)
You can enter wikipedia-mode at any time by typing M-x wikipedia-mode. While in wikipedia-mode, you can view a description of the mode by typing C-h m
, which runs the command describe-mode
.
There are two ways to use wikipedia-mode.
If you mostly edit MediaWiki articles using one of those plugins, it might be worthwhile to associate the editing sessions with wikipedia-mode. Add one of the following lines to your .emacs file:
(add-to-list 'auto-mode-alist '("index.\\.*" . wikipedia-mode))
(add-to-list 'auto-mode-alist '("\\.wikipedia\\.org.*\\.txt\\'" . wikipedia-mode))
(add-to-list 'auto-mode-alist '("mozex.\\.*" . wikipedia-mode))
Some useful macros:
The packages wikipedia-mode.el and longlines.el are released under the GNU General Public License.