Title: Markdown export plugin for OmniOutliner
Author: Fletcher T. Penney
Copyright: (c) 2009-2011, Fletcher T. Penney.
This plugin for OmniOutliner allows you to export as a text file, suitable for processing through Markdown or MultiMarkdown. For more information, please see:
http://fletcherpenney.net/multimarkdown/multimarkdown_and_omnioutliner/
This script is "agnostic" as to the version of MultiMarkdown syntax being used, so it is compatible with MMD 2, or MMD 3.
Note: There are actually two versions of the export function included. In the text only version, images can be included, but must be handled manually. In the version with attachments, you can include images in your OmniOutliner document that will be exported. There is a single bundle with both versions.
-
Install the plugin (see the OmniOutliner directions for more details, as this keeps changing. Apparently, as of OO v4, you can finally double click plug-ins to install, but I have not verified this), but I recommend placing in:
~/Library/Application Support/OmniOutliner 3/Plug-Ins
NOTE: If you have trouble getting the plug-in to install -- that's an issue for Omni. I can't help you. Once you get it installed, if it's not working properly for you then I might be able to help. But I'm not actively developing this anymore, since it's pretty much complete as is.
-
Create an outline
-
Export it as Markdown text
The outline hierarchy is converted into headers of appropriate depths.
Notes are added as plain text after the header.
In order to use the metadata feature of MultiMarkdown, the last top level item
in the outline should be called Metadata
, and each sub-item is the name of
the key. The notes are the data for that key. In particular, the Title
, and
Format
keys are of use. Set Format
to complete
if you want to have
MultiMarkdown generate an entire HTML file, complete with header, etc.
Example:
First Item
Second Item
Sub-Item
Metadata
Title (with note containing your document's name)
Format (with note containing "complete")
You can use the outline to store notes that are NOT exported to the
Markdown document by naming that section of the outline My Notes
(not case
sensitive).
One thing to remember is that Note sections ARE counted in the numbering scheme within OO, but are NOT counted (obviously) in the exported version. This could lead to numbering discrepancies between the original outline and the final version. To avoid this (if it matters to you), I recommend ensuring that the Private Note sections be included as the last (or only) children at any given level.
It is possible to include images in your OmniOutliner document that are
exported appropriately. If you export using the "Folder" version, you will end
up with a folder that includes a Markdown text file, index.text
, as
well as copies of all the attachments in your OmniOutliner document. If your
image is included in an "active" part of the OO document, it will be
automatically included in the Markdown output. Note, however, that this
approach does not allow you to include an alt text attribute.
Instead, you could put the image in a My Notes
section - the image will be
exported, but not included in the text. You can then hand create a Markdown
image reference, allowing a caption. For example, if you add an image named
image-name.png
, you can reference it in your document:
![This is a caption that can be included about the image](image-name.png
"Alternate Text for Image")
-
1.1r2 - I grudgingly hacked the plugin to make it work with the version of xsltproc that ships with Mac OS X, and does not properly support the
last()
function.... Note: it should work properly with OmniOutliner 3.5b2 and beyond. -
1.1 - combine both formats into a single plug-in
-
1.0 - initial public release