MKD-EXTENSIONS(7)

NAME
mkd-extensions - Extensions to the Markdown text formatting syntax

DESCRIPTION
This version of markdown has been extended in a few ways by extending existing markup, creating new markup from scratch, and borrowing markup from other markup languages.

  Image dimensions
Markdown embedded images have been extended to allow specifying the dimensions of the image by adding a new argument =/height/x/width/ to the link description.

The new image syntax is
	![alt text](image =/height/x/width/ "title")

  pseudo-protocols
Five pseudo-protocols have been added to links

id: The alt text is marked up and written to the output, wrapped with <a id=id> and </a>.

class:
    The alt text is marked up and written to the output, wrapped with <span class=class> and </span>.

raw:
    The title is written -- with no further processing -- to the output. The alt text is discarded.

abbr:
    The alt text is marked up and written to the output, wrapped with <abbr title=abbr> and </abbr>.

lang:
    The alt text s marked up and written to the output, wrapped with <span lang=lang> and </span>.

  Pandoc headers
The markdown source document can have a 3-line Pandoc header in the format of
    % title
    % author(s)
    % date
which will be made available to the mkd_doc_title(), mkd_doc_author(), and mkd_doc_date() functions.

  Definition lists
A definition list item is defined as
=tag=
    description
(that is a =, followed by text, another =, a newline, 4 spaces of intent, and then more text.)

Alternatively, definition list items are defined as
tag
: description
(This is the format that PHP Markdown Extra uses.)

  embedded stylesheets
Stylesheets may be defined and modified in a <style> block. A style block is parsed like any other block level html; <style> starting on column 1, raw html (or, in this case, css) following it, and either ending with a </style> at the end of the line or a </style> at the beginning of a subsequent line.

Be warned that style blocks work like footnote links -- no matter where you define them they are valid for the entire document.

  alpha lists
Alphabetic lists (like regular numeric lists, but with alphabetic items) are supported. So:
    a. this
    b. is
    c. an alphabetic
    d. list
will produce:
    <ol type=a>
    <li>this</li>
    <li>is</li>
    <li>an alphabetic</li>
    <li>list</li>
    </ol>

  tables
PHP Markdown Extra tables are supported; input of the form
    header|header
    ------|------
     text | text
will produce:
    <table>
    <thead>
    <tr>
    <th>header</th>
    <th>header</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>text</td>
    <td>text</td>
    </tr>
    </tbody>
    </table>
The dashed line can also contain: characters for formatting; if a: is at the start of a column, it tells discount to align the cell contents to the left; if it's at the end, it aligns right, and if there's one at the start and at the end, it centers.

  strikethrough
A strikethrough syntax is supported in much the same way that ` is used to define a section of code. If you enclose text with two or more tildes, such as ~~erased text~~ it will be written as <del>erased text</del>. Like code sections, you may use as many ~ as you want, but there must be as many starting tildes as closing tildes.

  markdown extra-style footnotes
PHP Markdown Extra footnotes are supported. If a footnote link begins with a ^, the first use of that footnote will generate a link down to the bottom of the rendered document, which will contain a numbered footnote with a link back to where the footnote was called.

AUTHOR
David Parsons

SEE ALSO
markdown(1), markdown(3), mkd-callbacks(3), mkd-functions(3), mkd-line(3).