mkd-extensions(1) 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 Fn mkd_doc_title , Fn mkd_doc_author , and Fn 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.