Notenik offers extensive support for Markdown, John Gruber's text-to-HTML conversion tool for web writers.
If you're new to Markdown, and would like to read about some of its advantages, feel free to consult my blog post titled Why I Use Markdown (And Why You Should Too).
Within Notenik the body of each Note can be formatted using Markdown, but so can any other field declared to be of the type
Conversion to HTML will be done when displaying a Note, but can also be invoked when sharing a Note, or when generating HTML through Notenik's templating engine.
Thanks to the generosity of other open-source developers, Notenik gives you a choice of Markdown parsers to use. Visit the app preferences to change your choice of parser.
Ink - A fast and flexible Markdown parser written in Swift.
Mkdown - Notenik's own Markdown parser, allowing wiki-style inter-note linking within Notenik.
Feel free to follow the links above to consult the documentation for Down and/or Ink.
The rest of this article will describe Notenik's own parser.
Following are the intended changes/additions found within the Notenik parser.
The Notenik Markdown parser supports double-bracket wiki-style links as an extension to the original Markdown spec from John Gruber.
Simply enclose the name of another note within double brackets, like this –
[[Overview]] – and a click on the resulting link will take you to that note.
As an extension to the original Markdown spec from John Gruber, headings may be auto-numbered in a fashion similar to the usual numbering of ordered items.
As an extension to the original Markdown spec from John Gruber, headings will automatically have IDs assigned, based on the contents between the opening and closing tags, so that they can become targets for links.
As an extension to the original Markdown spec from John Gruber, a Table of Contents may be generated by placing the literal
[toc] on a line by itself. The resulting table will contain all of the headings found in the Markdown following the
[toc] line itself.
As an extension to the original Markdown spec from John Gruber, citations are supported using the MultiMarkdown syntax.
As an extension to the original Markdown spec from John Gruber, fenced code blocks are supported.
A code fence will consist of a line consisting of only a repeated number of special characters.
The character used may be either a backtick (`) or a tilde (
The character must be repeated three or more times.
The ending code fence must contain the same number of repetitions as the line that started the code block, using the same special character.
Automatic links for email addresses do not perform any randomized decimal and hex entity-encoding of the email addresses.
Backticks-style quotes are not converted to curly quotes.