%%textdomain mdview
<!--
The line above should be invisible. it sets the translation domain for this document.

This is a block comment and should not be visible anywhere.
It can span multiple lines and use all characters including " * > < and &.

White space in this document matters for some of the examples.
-->

This document displays all supported features.
Open the document on the side with a text editor to see how things are done.

------------------------------------------------------

## Heading

Levels 1-3 headings comprise one to three # characters followed by the heading text.

```
# Heading 1
## Heading 2
### Heading 3
```

An alternative notation is also available.
Level 1 headings are specified by underlining the heading with a row of `=` characters.
Level 2 headings are specified by underlining with a row of `-` characters.

```
Heading 1
===

Heading 2
---
```

[more examples and notes](heading.md)

------------------------------------------------------

## Ruler

This is a ruler

---

This one too

***

## Bullets

Only unordered bullets are supported for now.

%%nopot yes

 * a
 * b
 * c

%%nopot no

## Inline styles

*italic1*, _italic2_, **bold1**, __bold2__, `inline code`, and `inline code again`, then
**_bold-italic1_**, __*bold-italic2*__, ***bold-italic3***, ___bold-italic4___.

We also have non-standard ---strikethrough---, and em-dash: -- .

### Extension: smart quotes

"Smart double-quoting" and 'smart single-quoting'.

## Links

Links:
* [Link to another file](file.md)
* [HTTP link to google](http://www.google.com) "Google Search"
* [HTTPS link to google](https://www.google.com)
* This is not a link: http://www.google.com
* This is not a link: https://www.google.com

## Images

Local image files can be displayed inline using image link syntax.
The image path is resolved first relative to the document directory then to the current file.

Inline image support: ![This should be a picture of Tux](linux3.png)

## Paragraphs and line breaks

A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines.
A blank line consists of only white-space characters or no characters.
To insert a hard line break after a line of text, you end the line with two or more spaces.

This line ends with .
This line ends with one space. 
This line joins the line above.

This line ends with .
This line ends with two spaces.  
This line does __not__ join the line above.

[Learn more](br_test.md) (test file)

## Code

Code block (each line starts with 4 spaces or tabs):
    function a()
      b="*c*"
    }

### Extension: GFM code block

GFM code block (start and end with 3 backticks):
```
function a()
  b="*c*"
}
```

GFM code block with syntax tag (append tag name immediately after opening backticks):
```sh
export DIALOG="<widget></widget>"
```

### Extension: Table code block

No, mdview does not support table alignment and formatting. However, considering
that many authors neatly pre-align text tables in their markdown documents,
mdview can recognize the table syntax, and displays the table as an unstyled
code block.  Therefore, if the original table text is aligned, the output table
will remain aligned and roughly look like a set of "columns" instead of
imploding into a single line of gibberish.

| Subject | Verb | Object |
| ------- | ---- | ------ |
|       I | say  | potato |
|     You | say  | potato |

[Learn more](table_test.md) (test file)

## Extension: auto-codes

Some words are automatically rendered as code even though they are not surrounded by backticks.

* https://www.example.com
* /usr/share/mdview/examples

[Learn more](autocodes_test.md) (test file)

## Executing embedded code

If you use the `-x` option, mdview will run shell code embedded in the document:

$(echo '$LANG') is $(echo $LANG).

_(run `mdview -x` to see the code above turn into shell code output)_

[Learn more](quote-test.md) (test file).

<!-- HTML
Section anchors using HTML tag `<a name="*"></a>` are ignored.
See test file: examples/tag_a_name_test.md for more.
-->
<a name="this line should not be visible"></a>

## Translations

mdview can extract a translation template from the current document,
and display a translation of the document using the GNU gettext library.

[Learn more](gettext.md)
