---
name: "mkd-extensions"
section: "7"
platform: "linux"
package: "discount"
version: "3.0.2.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mkd-extensions"
---

# mkd-extensions(7)

Extensions to the Markdown text formatting syntax

## 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/1.md), [markdown(3)](/markdown/3.md), [mkd-callbacks(3)](/mkd-callbacks/3.md), [mkd-functions(3)](/mkd-functions/3.md), [mkd-line(3)](/mkd-line/3.md).
