Wiki Mode

What is wiki-mode for Emacs?

Did you ever want a local wiki for your personal files...?

Wiki-mode gives you a local wiki for your plain ascii files without running a local web server and a web browser. You have to run Emacs though ;-) There is no switching necessary between browsing and editing (LarryTesler? said "DontModeMeIn"). You are always in "edit and browse mode". More on modes is on EmacsVsVi.

Wiki-mode highlights the file names of your local wiki as hyperlinks. If you open a file from the wiki-directory the file names of all other files in that directory will appear as links in your text.

See picture 1. The words Smalltalk and Emacs are highlighted:

The files in the wiki-directory are plain ascii files with zero additional meta information. To find backlinks you run grep in a subshell (convenient key-binding is provided ;-). Browsing through the backlinks is like stepping though the "error" messages of a compiler (convenient key-binding is provided ;-)

In picture 2 I was visiting a file called Emacs. The content of the file is shown in the upper half of the frame. In the lower half you can see the results of searching the backlinks for Emacs using agrep:

To browse the recent changes I use dired, Emacs' directory browser. See picture 1. Dired sorts by date or by name.

File name completion (after find-file in the mini-buffer) lets me open files quickly when I know the beginning of a page name. By enter one character more or less it easy to narrow the search among files with similar prefixes.


Several versions exist:

FrankGerhardt is author of the original wiki-mode.

AlexSchroeder wrote another wiki-mode based on this page.

JohnWiegley is author of emacs-wiki.el, based on the wiki.el by AlexSchroeder but developing at a much faster rate.

Check out EmacsWiki, a wiki for everything related to Emacs!

Thank you FrankGerhardt for your offline WikiEditor, which is a must have for anyone who embraces the Wiki idea.

the world knows, that emacs people can solve any software problem within emacs ;-)

It might be interesting that there is a public domain Forth editor winwiew by TomZimmer?, who programmed it as an IDE for his Win32Forth (ForthLanguage).

This editor has a built in hypertext index generator and supports (partly) HTML in browse mode. Exactly this editor has two independent browse structures, one for supporting FORTH-development and the other for on- and offline document organization of HTML docs.

Its a similar start situation as in emacs. I think there is only very little effort (for TomZimmer?) to make it a full fledged local Wiki system, that has to implement two additional features:

The return stack for filename-strings and the presentation of the most important HTML tags (enough for Wiki) and much more is already realized.

I'll drop him or interested Win32Forth users a posting in news: comp.lang.forth.

-- FridemarPache

There is an emacs extension at called Hyperbole that seems like it has much of the functionality of wiki-mode, plus a whole lot more.

In Hyperbole one has to add all hyperlinks manually and the files contain some markup. WikiMode gives you automatic hyperlinks like on this Wiki here and the files are plain text files. -- FrankGerhardt

I've just written a little major mode in XEmacs to browse this wiki. Still pretty rough - once font locking is turned on for the mode, which you may do in your .emacs WikiNames and URLs are highlighted. No clicking yet, but M-x wiki-browse-thing-at-point is the function you'd call...and this does pretty much what you'd expect. I download the 'EditPage' version of a page, but at the moment don't clean out the top and tail HTML. The idea will be to scrape out the 'stamp' variable, and bind C-x C-s locally to post any changes you make.

Oh, and of course there's a M-x wiki-fix documented as "Mainline on RecentChanges"... can't think why I put that there :).

Anyone want a copy of it as it is now, especially if you can help with my terrible elisp, drop me a line. I'll upload it somewhere useful when its ready. -- BrianEwins

Hang on - what am I saying?? Ok the code appears over in WikiModeCode.

Someone was wondering how to get the code into emacs and make it a mode. The person tried to use the "original wiki-mode" described above and do a load-file. The ability to enter a mode was not seen. The person next used the version and the person was able to enter into emacs-wiki-mode A discussion of how to load the new code for a mode into emacs is discussed in GreatEmacsFeatures.

It's true! If you live in Emacs, then you're in for a special treat. Check out for the elisp that makes the magic possible. Furthermore, if you use httpd.el from, you can run a webserver within your Emacs session and push your Wiki pages online automagically.

Has anyone tried combining any of these with Conspire or WritingLark? to get live, collaborative wiki editing?

CategoryEmacs CategoryWiki CategoryMode

EditText of this page (last edited April 22, 2011) or FindPage with title or text search