Mimulus is a lightweight XHTML editor implemented as a Firefox extension.
Download: mimulus.xpi (v. 1.0-r332)
It turns any tab into a WYSIWYG editor, enabling a cursor and letting you change existing content just by typing in the browser window, or add new elements such as headings and lists using simple key combinations. It saves to your hard drive, has an option to let you edit the source, and is as minimally invasive as possible. It's great for taking quick HTML notes.
Once you've installed the extension by downloading it and restarting Firefox, you'll notice a grey m icon to the right of the status bar at the bottom of the browser. To turn Mimulus on you can either click the icon or press Ctrl+I, both of which turn the icon green to indicate that Mimulus is now active.
To start editing, click somewhere in this paragraph and just start typing. Notice that you now have a cursor, formally known as a caret, enabled so the arrow keys move the cursor around rather than scrolling the window. You can edit most content, and paste content in using Ctrl+V (even on OS X, where Command+V doesn't work).
To save the document, press Ctrl+S. If you're not editing a local document, when you turn Mimulus on it asks you where you want to save your edits to. The status bar reports successful saves, and shows the length of the saved document in bytes.
If you press Ctrl+E whilst editing, your text will become emphasized like this. The status bar will tell you which element you're currently in, so after you press Ctrl+E it should say "Mimulus is on. Editing <em>." Press Return to exit the emphasis.
To remove inline formatting, make sure the cursor is inside the thing you want to remove phrasing from, and press Ctrl+Y. For example, that'll turn "this" into "this".
To create a new paragraph, if you're in a heading or a paragraph already just go to the end of it and press Return. Or you can press Ctrl+N to do the same thing, and this should work in any other element, including preformatted sections and list items.
Note that if you press Return in the middle of a paragraph, it splits the paragraph up into two new paragraphs. Press Backspace to rejoin them if you did this by accident.
Whenever you create a new paragraph or other block level element, the document will autosave and this will be reflected in the status bar. To create a new <pre> element, use Ctrl+P at the end of an element; to create a new <ul> element, use Ctrl+U at the end of an element; and to create a new heading, use either Ctrl+1, Ctrl+2, or Ctrl+3 depending on the level of heading you want to create.
The only exception to the "you must be at the end of the current element to create a new one after it" rule is inside a preformatted section, where you can create new elements at any time. This is because preformatted sections are rather buggy to edit due to a caret browsing bug in Firefox. This bug also makes editing preformatted sections very difficult if you want to add a new line, so for anything but trivial edits, you can press Ctrl+K inside a <pre> element to convert it into a <textarea> which is then much easier to edit. Press Ctrl+K again to turn it back into a <pre>. This element source editing mode also works with <p> and <ul>.
When you press Ctrl+U to make a new unordered list, you should be able to manipulate list items as follows:
Don't forget, Ctrl+N lets you create a new paragraph after the list. One other little trick is that Ctrl+J lets you convert paragraphs into preformatted blocks and vice versa; this functionality may change or vanish.
To edit document source, press Ctrl+H. This will change the tab into a window with two textareas, one for the <head> of the current document and one for the <body>. Pressing Ctrl+S will save, and Ctrl+H will exit source edit mode; no other key combinations work.
When Mimulus is on in a tab, navigating away from it by refreshing the page, clicking a link, moving forwards or backwards through the history etc. will come up with a prompt asking if you really want to do that. This is to make sure that you don't lose work via accidental navigation, which sometimes happens when, for example, deleting a list for some unknown reason.
If you keep getting bugged by the confirmation messages, make sure that you always turn Mimulus off, by pressing Ctrl+I or clicking the green m logo, when you're finished editing! Note that Mimulus is active per tab, not as a browser-wide state. So if it's activated in tab 1 and you switch to tab 2, where it's not activated, it'll still be "running in the background". When you switch back to tab 1, you won't have to reactivate it, it'll be on already automatically.
Sometimes you'll get ghost cursors being displayed around the window. To get rid of these, save the document, exit Mimulus with Ctrl+I, refresh it using F5 or Command+R etc., and then turn Mimulus back on with Ctrl+I again.
As mentioned, preformatted sections do not stand up well to multiline edits. This appears to be a problem with Firefox's caret browsing mode, and not something that is fixable by any direct workaround in Mimulus, other than the <textarea> hack that can be invoked with Ctrl+K.
I hope to fix all of the following bugs that are currently in Mimulus. If one of these is affecting you more than the others, please let me know so that I can reprioritise it accordingly.
Note that using the source edit mode (invoke it with Ctrl+H) can often solve these bugs in the interim.
Mimulus is a lightweight editor, and as such it's mainly there to help you to edit existing simple documents in simple ways. More extensive editing can be done using one of the source edit modes, or by using your favourite text editor. Mimulus is also unable to create documents, so you may want to write a little shell script to generate templates.
Since Mimulus preserves any extra information like stylesheets and images, it can be great for making quick edits to even complex existing pages, but it was primarily written to enable taking notes quicker than one can do in, for example, nxml-mode in emacs, awesome though nxml-mode is.
And yes, this documentation was written in Mimulus!
Block level functions:
Inline level functions:
Of course, projects need identities and styles. Whenever I want a style for something, I say to Cody Woodard "hey, I just made such-and-such, could you make some kind of logo for it?", and he consistently delivers pure awesome. Chris had made a pretty good logo for it already, but it did look a bit too much like the logo of a certain fast food chain for comfort, so thanks to Cody we now have a very elegant and cool looking logo and icon.
Mimulus is now mirrored on Firefox Add-Ons, though the version linked to on this page will always be as new or newer than the version there. You can, however, provide feedback comments and ratings on the Add-Ons site.
Some bits of code were derived from the Bitflux Editor and TiddlyWiki, both of which are licensed under BSD style Open Source licenses. To give back to the community in the same way that Bitflux and TiddlyWiki have made Mimulus possible, Mimulus is also licensed under a BSD style license.
The mimulus from which this project gets its name is a yellow flower of the Phrymaceae family, whose name was coined by the great taxonomer Linnaeus. For interested programmers, all the magic happens in mimulus.js.Sean B. Palmer