summaryrefslogtreecommitdiffstats
path: root/t/fmt/txt-markdown
diff options
context:
space:
mode:
Diffstat (limited to 't/fmt/txt-markdown')
-rw-r--r--t/fmt/txt-markdown/Basic.md24
-rw-r--r--t/fmt/txt-markdown/Basic.norm25
-rw-r--r--t/fmt/txt-markdown/Basic.po97
-rw-r--r--t/fmt/txt-markdown/Basic.pot104
-rw-r--r--t/fmt/txt-markdown/Basic.trans25
-rw-r--r--t/fmt/txt-markdown/NestedLists.md28
-rw-r--r--t/fmt/txt-markdown/NestedLists.norm23
-rw-r--r--t/fmt/txt-markdown/NestedLists.po64
-rw-r--r--t/fmt/txt-markdown/NestedLists.pot71
-rw-r--r--t/fmt/txt-markdown/NestedLists.trans23
-rw-r--r--t/fmt/txt-markdown/NoWrap.md39
-rw-r--r--t/fmt/txt-markdown/NoWrap.norm39
-rw-r--r--t/fmt/txt-markdown/NoWrap.po103
-rw-r--r--t/fmt/txt-markdown/NoWrap.pot72
-rw-r--r--t/fmt/txt-markdown/NoWrap.trans39
-rw-r--r--t/fmt/txt-markdown/PandocFencedCodeBlocks.md68
-rw-r--r--t/fmt/txt-markdown/PandocFencedCodeBlocks.norm68
-rw-r--r--t/fmt/txt-markdown/PandocFencedCodeBlocks.po116
-rw-r--r--t/fmt/txt-markdown/PandocFencedCodeBlocks.pot97
-rw-r--r--t/fmt/txt-markdown/PandocFencedCodeBlocks.trans68
-rw-r--r--t/fmt/txt-markdown/PandocHeaderOnlyAuthor.md4
-rw-r--r--t/fmt/txt-markdown/PandocHeaderOnlyAuthor.norm4
-rw-r--r--t/fmt/txt-markdown/PandocHeaderOnlyAuthor.po28
-rw-r--r--t/fmt/txt-markdown/PandocHeaderOnlyAuthor.pot29
-rw-r--r--t/fmt/txt-markdown/PandocHeaderOnlyAuthor.trans4
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitle.md3
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitle.norm3
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitle.po27
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitle.pot28
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitle.trans3
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleAuthors.md9
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleAuthors.norm6
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleAuthors.po45
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleAuthors.pot46
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleAuthors.trans6
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleDate.md5
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleDate.norm5
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleDate.po33
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleDate.pot34
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleDate.trans5
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultilines.md9
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultilines.norm7
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultilines.po45
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultilines.pot43
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultilines.trans7
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.md5
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.norm5
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.po39
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.pot40
-rw-r--r--t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.trans5
-rw-r--r--t/fmt/txt-markdown/Rules.md71
-rw-r--r--t/fmt/txt-markdown/Rules.norm71
-rw-r--r--t/fmt/txt-markdown/Rules.po168
-rw-r--r--t/fmt/txt-markdown/Rules.pot177
-rw-r--r--t/fmt/txt-markdown/Rules.trans71
-rw-r--r--t/fmt/txt-markdown/Tables.md11
-rw-r--r--t/fmt/txt-markdown/Tables.norm8
-rw-r--r--t/fmt/txt-markdown/Tables.po45
-rw-r--r--t/fmt/txt-markdown/Tables.pot40
-rw-r--r--t/fmt/txt-markdown/Tables.trans8
-rw-r--r--t/fmt/txt-markdown/Width.md45
-rw-r--r--t/fmt/txt-markdown/Width.norm50
-rw-r--r--t/fmt/txt-markdown/Width.po152
-rw-r--r--t/fmt/txt-markdown/Width.pot144
-rw-r--r--t/fmt/txt-markdown/Width.trans50
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter.md43
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter.norm37
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter.po132
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter.pot130
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter.trans37
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.md38
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.norm37
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.po60
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.pot61
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.trans37
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_Options.md37
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_Options.norm36
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_Options.po60
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_Options.pot61
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_Options.trans36
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_fake.md11
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_fake.norm13
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_fake.norm.stderr2
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_fake.po49
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_fake.pot45
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_fake.trans13
-rw-r--r--t/fmt/txt-markdown/YamlFrontMatter_fake.trans.stderr2
87 files changed, 3813 insertions, 0 deletions
diff --git a/t/fmt/txt-markdown/Basic.md b/t/fmt/txt-markdown/Basic.md
new file mode 100644
index 0000000..de0425a
--- /dev/null
+++ b/t/fmt/txt-markdown/Basic.md
@@ -0,0 +1,24 @@
+% The document title
+% The document first author; The document second author
+
+A nice title
+============
+
+The first paragraph.
+
+The second paragraph.
+
+ * Some bullet point
+ * Another bullet point with a second line, which is so long that it should
+ get wrapped by the output of po4a
+ * A third bullet point
+
+# Another title with different markup
+
+## Subtitle
+
+And more text in a paragraph.
+
+This is a [link][] with long URL.
+
+[link]: https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long
diff --git a/t/fmt/txt-markdown/Basic.norm b/t/fmt/txt-markdown/Basic.norm
new file mode 100644
index 0000000..5653495
--- /dev/null
+++ b/t/fmt/txt-markdown/Basic.norm
@@ -0,0 +1,25 @@
+% The document title
+% The document first author
+ The document second author
+
+A nice title
+============
+
+The first paragraph.
+
+The second paragraph.
+
+ * Some bullet point
+ * Another bullet point with a second line, which is so long that it should
+ get wrapped by the output of po4a
+ * A third bullet point
+
+# Another title with different markup
+
+## Subtitle
+
+And more text in a paragraph.
+
+This is a [link][] with long URL.
+
+[link]: https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long
diff --git a/t/fmt/txt-markdown/Basic.po b/t/fmt/txt-markdown/Basic.po
new file mode 100644
index 0000000..43a6474
--- /dev/null
+++ b/t/fmt/txt-markdown/Basic.po
@@ -0,0 +1,97 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2023-06-01 01:27+0900\n"
+"PO-Revision-Date: 2023-06-01 01:32+0900\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Pandoc title block
+#: Basic.md:1
+msgid "The document title"
+msgstr "THE DOCUMENT TITLE"
+
+#. type: Pandoc title block
+#: Basic.md:2
+#, no-wrap
+msgid "The document first author"
+msgstr "THE DOCUMENT FIRST AUTHOR"
+
+#. type: Pandoc title block
+#: Basic.md:2
+#, no-wrap
+msgid "The document second author"
+msgstr "THE DOCUMENT SECOND AUTHOR"
+
+#. type: Title =
+#: Basic.md:5
+#, no-wrap
+msgid "A nice title"
+msgstr "A NICE TITLE"
+
+#. type: Plain text
+#: Basic.md:8
+msgid "The first paragraph."
+msgstr "THE FIRST PARAGRAPH."
+
+#. type: Plain text
+#: Basic.md:10
+msgid "The second paragraph."
+msgstr "THE SECOND PARAGRAPH."
+
+#. type: Bullet: ' * '
+#: Basic.md:15
+msgid "Some bullet point"
+msgstr "SOME BULLET POINT"
+
+#. type: Bullet: ' * '
+#: Basic.md:15
+msgid ""
+"Another bullet point with a second line, which is so long that it should get "
+"wrapped by the output of po4a"
+msgstr ""
+"ANOTHER BULLET POINT WITH A SECOND LINE, WHICH IS SO LONG THAT IT SHOULD GET "
+"WRAPPED BY THE OUTPUT OF PO4A"
+
+#. type: Bullet: ' * '
+#: Basic.md:15
+msgid "A third bullet point"
+msgstr "A THIRD BULLET POINT"
+
+#. type: Title #
+#: Basic.md:16
+#, no-wrap
+msgid "Another title with different markup"
+msgstr "ANOTHER TITLE WITH DIFFERENT MARKUP"
+
+#. type: Title ##
+#: Basic.md:18
+#, no-wrap
+msgid "Subtitle"
+msgstr "SUBTITLE"
+
+#. type: Plain text
+#: Basic.md:21
+msgid "And more text in a paragraph."
+msgstr "AND MORE TEXT IN A PARAGRAPH."
+
+#. type: Plain text
+#: Basic.md:23
+msgid "This is a [link][] with long URL."
+msgstr "THIS IS A [LINK][] WITH LONG URL."
+
+#. type: Link reference
+#: Basic.md:24
+#, no-wrap
+msgid "[link]: https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long"
+msgstr "[LINK]: https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long"
diff --git a/t/fmt/txt-markdown/Basic.pot b/t/fmt/txt-markdown/Basic.pot
new file mode 100644
index 0000000..b5e809e
--- /dev/null
+++ b/t/fmt/txt-markdown/Basic.pot
@@ -0,0 +1,104 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2023-06-01 01:43+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: Basic.md:1
+msgid "The document title"
+msgstr ""
+
+#. type: Pandoc title block
+#: Basic.md:2
+#, no-wrap
+msgid "The document first author"
+msgstr ""
+
+#. type: Pandoc title block
+#: Basic.md:2
+#, no-wrap
+msgid "The document second author"
+msgstr ""
+
+#. type: Title =
+#: Basic.md:5
+#, markdown-text, no-wrap
+msgid "A nice title"
+msgstr ""
+
+#. type: Plain text
+#: Basic.md:8
+#, markdown-text
+msgid "The first paragraph."
+msgstr ""
+
+#. type: Plain text
+#: Basic.md:10
+#, markdown-text
+msgid "The second paragraph."
+msgstr ""
+
+#. type: Bullet: ' * '
+#: Basic.md:15
+#, markdown-text
+msgid "Some bullet point"
+msgstr ""
+
+#. type: Bullet: ' * '
+#: Basic.md:15
+#, markdown-text
+msgid ""
+"Another bullet point with a second line, which is so long that it should get "
+"wrapped by the output of po4a"
+msgstr ""
+
+#. type: Bullet: ' * '
+#: Basic.md:15
+#, markdown-text
+msgid "A third bullet point"
+msgstr ""
+
+#. type: Title #
+#: Basic.md:16
+#, markdown-text, no-wrap
+msgid "Another title with different markup"
+msgstr ""
+
+#. type: Title ##
+#: Basic.md:18
+#, markdown-text, no-wrap
+msgid "Subtitle"
+msgstr ""
+
+#. type: Plain text
+#: Basic.md:21
+#, markdown-text
+msgid "And more text in a paragraph."
+msgstr ""
+
+#. type: Plain text
+#: Basic.md:23
+#, markdown-text
+msgid "This is a [link][] with long URL."
+msgstr ""
+
+#. type: Link reference
+#: Basic.md:24
+#, no-wrap
+msgid ""
+"[link]: "
+"https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long"
+msgstr ""
diff --git a/t/fmt/txt-markdown/Basic.trans b/t/fmt/txt-markdown/Basic.trans
new file mode 100644
index 0000000..4d5b4e9
--- /dev/null
+++ b/t/fmt/txt-markdown/Basic.trans
@@ -0,0 +1,25 @@
+% THE DOCUMENT TITLE
+% THE DOCUMENT FIRST AUTHOR
+ THE DOCUMENT SECOND AUTHOR
+
+A NICE TITLE
+============
+
+THE FIRST PARAGRAPH.
+
+THE SECOND PARAGRAPH.
+
+ * SOME BULLET POINT
+ * ANOTHER BULLET POINT WITH A SECOND LINE, WHICH IS SO LONG THAT IT SHOULD
+ GET WRAPPED BY THE OUTPUT OF PO4A
+ * A THIRD BULLET POINT
+
+# ANOTHER TITLE WITH DIFFERENT MARKUP
+
+## SUBTITLE
+
+AND MORE TEXT IN A PARAGRAPH.
+
+THIS IS A [LINK][] WITH LONG URL.
+
+[LINK]: https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long
diff --git a/t/fmt/txt-markdown/NestedLists.md b/t/fmt/txt-markdown/NestedLists.md
new file mode 100644
index 0000000..a953efb
--- /dev/null
+++ b/t/fmt/txt-markdown/NestedLists.md
@@ -0,0 +1,28 @@
+This serves as testcase for simple lists.
+
+ * Item 1
+ * This item paragraph runs over
+ several lines.
+
+This serves as testcase for nested lists.
+
+ * Item 1
+ * This item paragraph runs over
+ several lines.
+ * Nested item 1
+ * Sub-sub item
+ * Nested item 2
+
+Leading spaces are optional, and hyphen or plus can be used as list markers.
+
+- This item paragraph runs over
+ several lines.
++ This item paragraph runs over
+ several lines.
+* This item paragraph runs over
+ several lines.
+ - Nested item 1
+ + Sub-sub item
+ + Nested item 2
+
+Normal paragraph.
diff --git a/t/fmt/txt-markdown/NestedLists.norm b/t/fmt/txt-markdown/NestedLists.norm
new file mode 100644
index 0000000..b41fd81
--- /dev/null
+++ b/t/fmt/txt-markdown/NestedLists.norm
@@ -0,0 +1,23 @@
+This serves as testcase for simple lists.
+
+ * Item 1
+ * This item paragraph runs over several lines.
+
+This serves as testcase for nested lists.
+
+ * Item 1
+ * This item paragraph runs over several lines.
+ * Nested item 1
+ * Sub-sub item
+ * Nested item 2
+
+Leading spaces are optional, and hyphen or plus can be used as list markers.
+
+- This item paragraph runs over several lines.
++ This item paragraph runs over several lines.
+* This item paragraph runs over several lines.
+ - Nested item 1
+ + Sub-sub item
+ + Nested item 2
+
+Normal paragraph.
diff --git a/t/fmt/txt-markdown/NestedLists.po b/t/fmt/txt-markdown/NestedLists.po
new file mode 100644
index 0000000..62ad91d
--- /dev/null
+++ b/t/fmt/txt-markdown/NestedLists.po
@@ -0,0 +1,64 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2018-06-17 12:06+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Plain text
+#: NestedLists.md:2
+msgid "This serves as testcase for simple lists."
+msgstr "THIS SERVES AS TESTCASE FOR SIMPLE LISTS."
+
+#. type: Bullet: ' * '
+#: NestedLists.md:6 NestedLists.md:15
+msgid "Item 1"
+msgstr "ITEM 1"
+
+#. type: Bullet: '* '
+#: NestedLists.md:6 NestedLists.md:15 NestedLists.md:27
+msgid "This item paragraph runs over several lines."
+msgstr "THIS ITEM PARAGRAPH RUNS OVER SEVERAL LINES."
+
+#. type: Plain text
+#: NestedLists.md:8
+msgid "This serves as testcase for nested lists."
+msgstr "THIS SERVES AS TESTCASE FOR NESTED LISTS."
+
+#. type: Bullet: ' - '
+#: NestedLists.md:15 NestedLists.md:27
+msgid "Nested item 1"
+msgstr "NESTED ITEM 1"
+
+#. type: Bullet: ' + '
+#: NestedLists.md:15 NestedLists.md:27
+msgid "Sub-sub item"
+msgstr "SUB-SUB ITEM"
+
+#. type: Bullet: ' + '
+#: NestedLists.md:15 NestedLists.md:27
+msgid "Nested item 2"
+msgstr "NESTED ITEM 2"
+
+#. type: Plain text
+#: NestedLists.md:17
+msgid ""
+"Leading spaces are optional, and hyphen or plus can be used as list markers."
+msgstr ""
+"lEADING SPACES ARE OPTIONAL, AND HYPHEN OR PLUS CAN BE USED AS LIST MARKERS."
+
+#. type: Plain text
+#: NestedLists.md:28
+msgid "Normal paragraph."
+msgstr "NORMAL PARAGRAPH."
diff --git a/t/fmt/txt-markdown/NestedLists.pot b/t/fmt/txt-markdown/NestedLists.pot
new file mode 100644
index 0000000..664a81e
--- /dev/null
+++ b/t/fmt/txt-markdown/NestedLists.pot
@@ -0,0 +1,71 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2018-06-17 12:06+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Plain text
+#: NestedLists.md:2
+#, markdown-text
+msgid "This serves as testcase for simple lists."
+msgstr ""
+
+#. type: Bullet: ' * '
+#: NestedLists.md:6 NestedLists.md:15
+#, markdown-text
+msgid "Item 1"
+msgstr ""
+
+#. type: Bullet: '* '
+#: NestedLists.md:6 NestedLists.md:15 NestedLists.md:27
+#, markdown-text
+msgid "This item paragraph runs over several lines."
+msgstr ""
+
+#. type: Plain text
+#: NestedLists.md:8
+#, markdown-text
+msgid "This serves as testcase for nested lists."
+msgstr ""
+
+#. type: Bullet: ' - '
+#: NestedLists.md:15 NestedLists.md:27
+#, markdown-text
+msgid "Nested item 1"
+msgstr ""
+
+#. type: Bullet: ' + '
+#: NestedLists.md:15 NestedLists.md:27
+#, markdown-text
+msgid "Sub-sub item"
+msgstr ""
+
+#. type: Bullet: ' + '
+#: NestedLists.md:15 NestedLists.md:27
+#, markdown-text
+msgid "Nested item 2"
+msgstr ""
+
+#. type: Plain text
+#: NestedLists.md:17
+#, markdown-text
+msgid "Leading spaces are optional, and hyphen or plus can be used as list markers."
+msgstr ""
+
+#. type: Plain text
+#: NestedLists.md:28
+#, markdown-text
+msgid "Normal paragraph."
+msgstr ""
diff --git a/t/fmt/txt-markdown/NestedLists.trans b/t/fmt/txt-markdown/NestedLists.trans
new file mode 100644
index 0000000..30b91c8
--- /dev/null
+++ b/t/fmt/txt-markdown/NestedLists.trans
@@ -0,0 +1,23 @@
+THIS SERVES AS TESTCASE FOR SIMPLE LISTS.
+
+ * ITEM 1
+ * THIS ITEM PARAGRAPH RUNS OVER SEVERAL LINES.
+
+THIS SERVES AS TESTCASE FOR NESTED LISTS.
+
+ * ITEM 1
+ * THIS ITEM PARAGRAPH RUNS OVER SEVERAL LINES.
+ * NESTED ITEM 1
+ * SUB-SUB ITEM
+ * NESTED ITEM 2
+
+lEADING SPACES ARE OPTIONAL, AND HYPHEN OR PLUS CAN BE USED AS LIST MARKERS.
+
+- THIS ITEM PARAGRAPH RUNS OVER SEVERAL LINES.
++ THIS ITEM PARAGRAPH RUNS OVER SEVERAL LINES.
+* THIS ITEM PARAGRAPH RUNS OVER SEVERAL LINES.
+ - NESTED ITEM 1
+ + SUB-SUB ITEM
+ + NESTED ITEM 2
+
+NORMAL PARAGRAPH.
diff --git a/t/fmt/txt-markdown/NoWrap.md b/t/fmt/txt-markdown/NoWrap.md
new file mode 100644
index 0000000..5f0aef5
--- /dev/null
+++ b/t/fmt/txt-markdown/NoWrap.md
@@ -0,0 +1,39 @@
+
+# All About Descriptions, Graphics, and Screenshots
+
+Each app can have complete app store content, including localized descriptions, feature graphics, and screenshots (as of v0.103 of the F-Droid client app and v0.8 of _fdroidserver_).
+This is possible both when apps are added via [build metadata](../Build_Metadata_Reference) as well as when including pre-built files in a simple repository.
+There are three paths to including app store content for apps (in order of preference):
+
+* Do not remove this line (it will not be displayed)
+{:toc}
+
+
+```
+- <fdroiddata>/
+ └── metadata/
+ └── <package-id>/
+ └── <locale>/
+ ├── full_description.txt
+ ├── short_description.txt
+ ├── title.txt
+ ├── video.txt
+ ├── changelogs/
+ │ ├── <version-code>.txt
+ │ └── <version-code>.txt
+ └── images/
+ ├── featureGraphic.png
+ ├── icon.png
+ ├── promoGraphic.png
+ ├── tvBanner.png
+ ├── phoneScreenshots/
+ │ └── *.png
+ ├── sevenInchScreenshots/
+ │ └── *.png
+ ├── tenInchScreenshots/
+ │ └── *.png
+ ├── tvScreenshots/
+ │ └── *.png
+ └── wearScreenshots/
+ └── *.png
+```
diff --git a/t/fmt/txt-markdown/NoWrap.norm b/t/fmt/txt-markdown/NoWrap.norm
new file mode 100644
index 0000000..5f0aef5
--- /dev/null
+++ b/t/fmt/txt-markdown/NoWrap.norm
@@ -0,0 +1,39 @@
+
+# All About Descriptions, Graphics, and Screenshots
+
+Each app can have complete app store content, including localized descriptions, feature graphics, and screenshots (as of v0.103 of the F-Droid client app and v0.8 of _fdroidserver_).
+This is possible both when apps are added via [build metadata](../Build_Metadata_Reference) as well as when including pre-built files in a simple repository.
+There are three paths to including app store content for apps (in order of preference):
+
+* Do not remove this line (it will not be displayed)
+{:toc}
+
+
+```
+- <fdroiddata>/
+ └── metadata/
+ └── <package-id>/
+ └── <locale>/
+ ├── full_description.txt
+ ├── short_description.txt
+ ├── title.txt
+ ├── video.txt
+ ├── changelogs/
+ │ ├── <version-code>.txt
+ │ └── <version-code>.txt
+ └── images/
+ ├── featureGraphic.png
+ ├── icon.png
+ ├── promoGraphic.png
+ ├── tvBanner.png
+ ├── phoneScreenshots/
+ │ └── *.png
+ ├── sevenInchScreenshots/
+ │ └── *.png
+ ├── tenInchScreenshots/
+ │ └── *.png
+ ├── tvScreenshots/
+ │ └── *.png
+ └── wearScreenshots/
+ └── *.png
+```
diff --git a/t/fmt/txt-markdown/NoWrap.po b/t/fmt/txt-markdown/NoWrap.po
new file mode 100644
index 0000000..2f2d5ea
--- /dev/null
+++ b/t/fmt/txt-markdown/NoWrap.po
@@ -0,0 +1,103 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:56+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Title #
+#: NoWrap.md:2
+#, no-wrap
+msgid "All About Descriptions, Graphics, and Screenshots"
+msgstr "ALL ABOUT DESCRIPTIONS, GRAPHICS, AND SCREENSHOTS"
+
+#. type: Plain text
+#: NoWrap.md:7
+#, no-wrap
+msgid ""
+"Each app can have complete app store content, including localized descriptions, feature graphics, and screenshots (as of v0.103 of the F-Droid client app and v0.8 of _fdroidserver_).\n"
+"This is possible both when apps are added via [build metadata](../Build_Metadata_Reference) as well as when including pre-built files in a simple repository.\n"
+"There are three paths to including app store content for apps (in order of preference):\n"
+msgstr ""
+"EACH APP CAN HAVE COMPLETE APP STORE CONTENT, INCLUDING LOCALIZED DESCRIPTIONS, FEATURE GRAPHICS, AND SCREENSHOTS (AS OF V0.103 OF THE F-DROID CLIENT APP AND V0.8 OF _FDROIDSERVER_).\n"
+"THIS IS POSSIBLE BOTH WHEN APPS ARE ADDED VIA [BUILD METADATA](../BUILD_METADATA_REFERENCE) AS WELL AS WHEN INCLUDING PRE-BUILT FILES IN A SIMPLE REPOSITORY.\n"
+"THERE ARE THREE PATHS TO INCLUDING APP STORE CONTENT FOR APPS (IN ORDER OF PREFERENCE):\n"
+
+#. type: Plain text
+#: NoWrap.md:10
+#, no-wrap
+msgid ""
+"* Do not remove this line (it will not be displayed)\n"
+"{:toc}\n"
+msgstr ""
+"* DO NOT REMOVE THIS LINE (IT WILL NOT BE DISPLAYED)\n"
+"{:TOC}\n"
+
+#. type: Fenced code block
+#: NoWrap.md:12
+#, no-wrap
+msgid ""
+"- <fdroiddata>/\n"
+" └── metadata/\n"
+" └── <package-id>/\n"
+" └── <locale>/\n"
+" ├── full_description.txt\n"
+" ├── short_description.txt\n"
+" ├── title.txt\n"
+" ├── video.txt\n"
+" ├── changelogs/\n"
+" │ ├── <version-code>.txt\n"
+" │ └── <version-code>.txt\n"
+" └── images/\n"
+" ├── featureGraphic.png\n"
+" ├── icon.png\n"
+" ├── promoGraphic.png\n"
+" ├── tvBanner.png\n"
+" ├── phoneScreenshots/\n"
+" │ └── *.png\n"
+" ├── sevenInchScreenshots/\n"
+" │ └── *.png\n"
+" ├── tenInchScreenshots/\n"
+" │ └── *.png\n"
+" ├── tvScreenshots/\n"
+" │ └── *.png\n"
+" └── wearScreenshots/\n"
+" └── *.png\n"
+msgstr ""
+"- <FDROIDDATA>/\n"
+" └── METADATA/\n"
+" └── <PACKAGE-ID>/\n"
+" └── <LOCALIZED>/\n"
+" ├── FULL_DESCRIPTION.TXT\n"
+" ├── SHORT_DESCRIPTION.TXT\n"
+" ├── TITLE.TXT\n"
+" ├── VIDEO.TXT\n"
+" ├── CHANGELOGS/\n"
+" │ ├── <VERSION-CODE>.TXT\n"
+" │ └── <VERSION-CODE>.TXT\n"
+" └── IMAGES/\n"
+" ├── FEATUREGRAPHIC.PNG\n"
+" ├── ICON.PNG\n"
+" ├── PROMOGRAPHIC.PNG\n"
+" ├── TVBANNER.PNG\n"
+" ├── PHONESCREENSHOTS/\n"
+" │ └── *.PNG\n"
+" ├── SEVENINCHSCREENSHOTS/\n"
+" │ └── *.PNG\n"
+" ├── TENINCHSCREENSHOTS/\n"
+" │ └── *.PNG\n"
+" ├── TVSCREENSHOTS/\n"
+" │ └── *.PNG\n"
+" └── WEARSCREENSHOTS/\n"
+" └── *.PNG\n"
diff --git a/t/fmt/txt-markdown/NoWrap.pot b/t/fmt/txt-markdown/NoWrap.pot
new file mode 100644
index 0000000..98e6a86
--- /dev/null
+++ b/t/fmt/txt-markdown/NoWrap.pot
@@ -0,0 +1,72 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:56+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Title #
+#: NoWrap.md:2
+#, markdown-text, no-wrap
+msgid "All About Descriptions, Graphics, and Screenshots"
+msgstr ""
+
+#. type: Plain text
+#: NoWrap.md:7
+#, markdown-text, no-wrap
+msgid ""
+"Each app can have complete app store content, including localized descriptions, feature graphics, and screenshots (as of v0.103 of the F-Droid client app and v0.8 of _fdroidserver_).\n"
+"This is possible both when apps are added via [build metadata](../Build_Metadata_Reference) as well as when including pre-built files in a simple repository.\n"
+"There are three paths to including app store content for apps (in order of preference):\n"
+msgstr ""
+
+#. type: Plain text
+#: NoWrap.md:10
+#, markdown-text, no-wrap
+msgid ""
+"* Do not remove this line (it will not be displayed)\n"
+"{:toc}\n"
+msgstr ""
+
+#. type: Fenced code block
+#: NoWrap.md:12
+#, no-wrap
+msgid ""
+"- <fdroiddata>/\n"
+" └── metadata/\n"
+" └── <package-id>/\n"
+" └── <locale>/\n"
+" ├── full_description.txt\n"
+" ├── short_description.txt\n"
+" ├── title.txt\n"
+" ├── video.txt\n"
+" ├── changelogs/\n"
+" │ ├── <version-code>.txt\n"
+" │ └── <version-code>.txt\n"
+" └── images/\n"
+" ├── featureGraphic.png\n"
+" ├── icon.png\n"
+" ├── promoGraphic.png\n"
+" ├── tvBanner.png\n"
+" ├── phoneScreenshots/\n"
+" │ └── *.png\n"
+" ├── sevenInchScreenshots/\n"
+" │ └── *.png\n"
+" ├── tenInchScreenshots/\n"
+" │ └── *.png\n"
+" ├── tvScreenshots/\n"
+" │ └── *.png\n"
+" └── wearScreenshots/\n"
+" └── *.png\n"
+msgstr ""
diff --git a/t/fmt/txt-markdown/NoWrap.trans b/t/fmt/txt-markdown/NoWrap.trans
new file mode 100644
index 0000000..e95190c
--- /dev/null
+++ b/t/fmt/txt-markdown/NoWrap.trans
@@ -0,0 +1,39 @@
+
+# ALL ABOUT DESCRIPTIONS, GRAPHICS, AND SCREENSHOTS
+
+EACH APP CAN HAVE COMPLETE APP STORE CONTENT, INCLUDING LOCALIZED DESCRIPTIONS, FEATURE GRAPHICS, AND SCREENSHOTS (AS OF V0.103 OF THE F-DROID CLIENT APP AND V0.8 OF _FDROIDSERVER_).
+THIS IS POSSIBLE BOTH WHEN APPS ARE ADDED VIA [BUILD METADATA](../BUILD_METADATA_REFERENCE) AS WELL AS WHEN INCLUDING PRE-BUILT FILES IN A SIMPLE REPOSITORY.
+THERE ARE THREE PATHS TO INCLUDING APP STORE CONTENT FOR APPS (IN ORDER OF PREFERENCE):
+
+* DO NOT REMOVE THIS LINE (IT WILL NOT BE DISPLAYED)
+{:TOC}
+
+
+```
+- <FDROIDDATA>/
+ └── METADATA/
+ └── <PACKAGE-ID>/
+ └── <LOCALIZED>/
+ ├── FULL_DESCRIPTION.TXT
+ ├── SHORT_DESCRIPTION.TXT
+ ├── TITLE.TXT
+ ├── VIDEO.TXT
+ ├── CHANGELOGS/
+ │ ├── <VERSION-CODE>.TXT
+ │ └── <VERSION-CODE>.TXT
+ └── IMAGES/
+ ├── FEATUREGRAPHIC.PNG
+ ├── ICON.PNG
+ ├── PROMOGRAPHIC.PNG
+ ├── TVBANNER.PNG
+ ├── PHONESCREENSHOTS/
+ │ └── *.PNG
+ ├── SEVENINCHSCREENSHOTS/
+ │ └── *.PNG
+ ├── TENINCHSCREENSHOTS/
+ │ └── *.PNG
+ ├── TVSCREENSHOTS/
+ │ └── *.PNG
+ └── WEARSCREENSHOTS/
+ └── *.PNG
+```
diff --git a/t/fmt/txt-markdown/PandocFencedCodeBlocks.md b/t/fmt/txt-markdown/PandocFencedCodeBlocks.md
new file mode 100644
index 0000000..8098a83
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocFencedCodeBlocks.md
@@ -0,0 +1,68 @@
+~~~~~~~
+if (a > 3) {
+ moveShip(5 * gravity, DOWN);
+}
+~~~~~~~
+
+~~~~~~~~~~~~~~~~
+~~~~~~~~~~
+code including tildes
+line2
+~~~~~~~~~~
+~~~~~~~~~~~~~~~~
+
+~~~~ {#mycode .haskell .numberLines startFrom="100"}
+qsort [] = []
+qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
+ qsort (filter (>= x) xs)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+~~~haskell
+qsort [] = []
+qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
+ qsort (filter (>= x) xs)
+~~~
+
+```````
+if (a > 3) {
+ moveShip(5 * gravity, DOWN);
+}
+```````
+
+````````````````
+``````````
+code including backticks
+line2
+``````````
+````````````````
+
+```` {#mycode .haskell .numberLines startFrom="100"}
+qsort [] = []
+qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
+ qsort (filter (>= x) xs)
+`````````````````````````````````````````````````
+
+```haskell
+qsort [] = []
+qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
+ qsort (filter (>= x) xs)
+```
+
+This first pandoc fenced_div is non-nested.
+
+::::: {#special .sidebar}
+Here is a paragraph.
+
+And another.
+:::::
+The second pandoc fenced div is nested.
+
+::: Warning ::::::
+This is a warning.
+
+::: Danger
+This is a warning within a warning.
+:::
+::::::::::::::::::
+
+Some extra text.
diff --git a/t/fmt/txt-markdown/PandocFencedCodeBlocks.norm b/t/fmt/txt-markdown/PandocFencedCodeBlocks.norm
new file mode 100644
index 0000000..8098a83
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocFencedCodeBlocks.norm
@@ -0,0 +1,68 @@
+~~~~~~~
+if (a > 3) {
+ moveShip(5 * gravity, DOWN);
+}
+~~~~~~~
+
+~~~~~~~~~~~~~~~~
+~~~~~~~~~~
+code including tildes
+line2
+~~~~~~~~~~
+~~~~~~~~~~~~~~~~
+
+~~~~ {#mycode .haskell .numberLines startFrom="100"}
+qsort [] = []
+qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
+ qsort (filter (>= x) xs)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+~~~haskell
+qsort [] = []
+qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
+ qsort (filter (>= x) xs)
+~~~
+
+```````
+if (a > 3) {
+ moveShip(5 * gravity, DOWN);
+}
+```````
+
+````````````````
+``````````
+code including backticks
+line2
+``````````
+````````````````
+
+```` {#mycode .haskell .numberLines startFrom="100"}
+qsort [] = []
+qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
+ qsort (filter (>= x) xs)
+`````````````````````````````````````````````````
+
+```haskell
+qsort [] = []
+qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
+ qsort (filter (>= x) xs)
+```
+
+This first pandoc fenced_div is non-nested.
+
+::::: {#special .sidebar}
+Here is a paragraph.
+
+And another.
+:::::
+The second pandoc fenced div is nested.
+
+::: Warning ::::::
+This is a warning.
+
+::: Danger
+This is a warning within a warning.
+:::
+::::::::::::::::::
+
+Some extra text.
diff --git a/t/fmt/txt-markdown/PandocFencedCodeBlocks.po b/t/fmt/txt-markdown/PandocFencedCodeBlocks.po
new file mode 100644
index 0000000..a16a350
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocFencedCodeBlocks.po
@@ -0,0 +1,116 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:23+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Fenced code block
+#: PandocFencedCodeBlocks.md:1 PandocFencedCodeBlocks.md:26
+#, no-wrap
+msgid ""
+"if (a > 3) {\n"
+" moveShip(5 * gravity, DOWN);\n"
+"}\n"
+msgstr ""
+"IF (A > 3) {\n"
+" MOVESHIP(5 * GRAVITY, DOWN);\n"
+"}\n"
+
+#. type: Fenced code block
+#: PandocFencedCodeBlocks.md:7
+#, no-wrap
+msgid ""
+"~~~~~~~~~~\n"
+"code including tildes\n"
+"line2\n"
+"~~~~~~~~~~\n"
+msgstr ""
+"~~~~~~~~~~\n"
+"CODE INCLUDING TILDES\n"
+"LINE2\n"
+"~~~~~~~~~~\n"
+
+#. type: Fenced code block (haskell)
+#: PandocFencedCodeBlocks.md:14 PandocFencedCodeBlocks.md:20
+#: PandocFencedCodeBlocks.md:39 PandocFencedCodeBlocks.md:45
+#, no-wrap
+msgid ""
+"qsort [] = []\n"
+"qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++\n"
+" qsort (filter (>= x) xs)\n"
+msgstr ""
+"QSORT [] = []\n"
+"QSORT (X:XS) = QSORT (FILTER (< X) XS) ++ [X] ++\n"
+" QSORT (FILTER (>= X) XS)\n"
+
+#. type: Fenced code block
+#: PandocFencedCodeBlocks.md:32
+#, no-wrap
+msgid ""
+"``````````\n"
+"code including backticks\n"
+"line2\n"
+"``````````\n"
+msgstr ""
+"``````````\n"
+"CODE INCLUDING BACKTICKS\n"
+"LINE2\n"
+"``````````\n"
+
+#. type: Plain text
+#: PandocFencedCodeBlocks.md:52
+#, markdown-text
+msgid "This first pandoc fenced_div is non-nested."
+msgstr "tHIS FIRST PANDOC FENCED DIV IS NON-NESTED."
+
+#. type: Fenced div block ({#special .sidebar})
+#: PandocFencedCodeBlocks.md:53
+#, no-wrap
+msgid ""
+"Here is a paragraph.\n"
+"\n"
+"And another.\n"
+msgstr ""
+"hERE IS A PARAGRAPH.\n"
+"\n"
+"aND ANOTHER.\n"
+
+#. type: Plain text
+#: PandocFencedCodeBlocks.md:59
+#, markdown-text
+msgid "The second pandoc fenced div is nested."
+msgstr "tHE SECOND PANDOC FENCED DIV IS NESTED."
+
+#. type: Fenced div block (Warning ::::::)
+#: PandocFencedCodeBlocks.md:60
+#, no-wrap
+msgid ""
+"This is a warning.\n"
+"\n"
+msgstr ""
+"tHIS IS A WARNING.\n"
+"\n"
+
+#. type: Fenced div block (Warning ::::::|Danger)
+#: PandocFencedCodeBlocks.md:60
+#, no-wrap
+msgid "This is a warning within a warning.\n"
+msgstr "tHIS IS A WARNING WITHIN A WARNING.\n"
+
+#. type: Plain text
+#: PandocFencedCodeBlocks.md:68
+#, markdown-text
+msgid "Some extra text."
+msgstr "sOME EXTRA TEXT."
diff --git a/t/fmt/txt-markdown/PandocFencedCodeBlocks.pot b/t/fmt/txt-markdown/PandocFencedCodeBlocks.pot
new file mode 100644
index 0000000..289814b
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocFencedCodeBlocks.pot
@@ -0,0 +1,97 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:23+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Fenced code block
+#: PandocFencedCodeBlocks.md:1 PandocFencedCodeBlocks.md:26
+#, no-wrap
+msgid ""
+"if (a > 3) {\n"
+" moveShip(5 * gravity, DOWN);\n"
+"}\n"
+msgstr ""
+
+#. type: Fenced code block
+#: PandocFencedCodeBlocks.md:7
+#, no-wrap
+msgid ""
+"~~~~~~~~~~\n"
+"code including tildes\n"
+"line2\n"
+"~~~~~~~~~~\n"
+msgstr ""
+
+#. type: Fenced code block (haskell)
+#: PandocFencedCodeBlocks.md:14 PandocFencedCodeBlocks.md:20
+#: PandocFencedCodeBlocks.md:39 PandocFencedCodeBlocks.md:45
+#, no-wrap
+msgid ""
+"qsort [] = []\n"
+"qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++\n"
+" qsort (filter (>= x) xs)\n"
+msgstr ""
+
+#. type: Fenced code block
+#: PandocFencedCodeBlocks.md:32
+#, no-wrap
+msgid ""
+"``````````\n"
+"code including backticks\n"
+"line2\n"
+"``````````\n"
+msgstr ""
+
+#. type: Plain text
+#: PandocFencedCodeBlocks.md:52
+#, markdown-text
+msgid "This first pandoc fenced_div is non-nested."
+msgstr ""
+
+#. type: Fenced div block ({#special .sidebar})
+#: PandocFencedCodeBlocks.md:53
+#, no-wrap
+msgid ""
+"Here is a paragraph.\n"
+"\n"
+"And another.\n"
+msgstr ""
+
+#. type: Plain text
+#: PandocFencedCodeBlocks.md:59
+#, markdown-text
+msgid "The second pandoc fenced div is nested."
+msgstr ""
+
+#. type: Fenced div block (Warning ::::::)
+#: PandocFencedCodeBlocks.md:60
+#, no-wrap
+msgid ""
+"This is a warning.\n"
+"\n"
+msgstr ""
+
+#. type: Fenced div block (Warning ::::::|Danger)
+#: PandocFencedCodeBlocks.md:60
+#, no-wrap
+msgid "This is a warning within a warning.\n"
+msgstr ""
+
+#. type: Plain text
+#: PandocFencedCodeBlocks.md:68
+#, markdown-text
+msgid "Some extra text."
+msgstr ""
diff --git a/t/fmt/txt-markdown/PandocFencedCodeBlocks.trans b/t/fmt/txt-markdown/PandocFencedCodeBlocks.trans
new file mode 100644
index 0000000..9e8ce46
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocFencedCodeBlocks.trans
@@ -0,0 +1,68 @@
+~~~~~~~
+IF (A > 3) {
+ MOVESHIP(5 * GRAVITY, DOWN);
+}
+~~~~~~~
+
+~~~~~~~~~~~~~~~~
+~~~~~~~~~~
+CODE INCLUDING TILDES
+LINE2
+~~~~~~~~~~
+~~~~~~~~~~~~~~~~
+
+~~~~ {#mycode .haskell .numberLines startFrom="100"}
+QSORT [] = []
+QSORT (X:XS) = QSORT (FILTER (< X) XS) ++ [X] ++
+ QSORT (FILTER (>= X) XS)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+~~~haskell
+QSORT [] = []
+QSORT (X:XS) = QSORT (FILTER (< X) XS) ++ [X] ++
+ QSORT (FILTER (>= X) XS)
+~~~
+
+```````
+IF (A > 3) {
+ MOVESHIP(5 * GRAVITY, DOWN);
+}
+```````
+
+````````````````
+``````````
+CODE INCLUDING BACKTICKS
+LINE2
+``````````
+````````````````
+
+```` {#mycode .haskell .numberLines startFrom="100"}
+QSORT [] = []
+QSORT (X:XS) = QSORT (FILTER (< X) XS) ++ [X] ++
+ QSORT (FILTER (>= X) XS)
+`````````````````````````````````````````````````
+
+```haskell
+QSORT [] = []
+QSORT (X:XS) = QSORT (FILTER (< X) XS) ++ [X] ++
+ QSORT (FILTER (>= X) XS)
+```
+
+tHIS FIRST PANDOC FENCED DIV IS NON-NESTED.
+
+::::: {#special .sidebar}
+hERE IS A PARAGRAPH.
+
+aND ANOTHER.
+:::::
+tHE SECOND PANDOC FENCED DIV IS NESTED.
+
+::: Warning ::::::
+tHIS IS A WARNING.
+
+::: Danger
+tHIS IS A WARNING WITHIN A WARNING.
+:::
+::::::::::::::::::
+
+sOME EXTRA TEXT.
diff --git a/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.md b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.md
new file mode 100644
index 0000000..535c4ae
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.md
@@ -0,0 +1,4 @@
+%
+% Only author, no title
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.norm b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.norm
new file mode 100644
index 0000000..535c4ae
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.norm
@@ -0,0 +1,4 @@
+%
+% Only author, no title
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.po b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.po
new file mode 100644
index 0000000..403fe3b
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.po
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:19+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Pandoc title block
+#: PandocHeaderOnlyAuthor.md:2
+#, no-wrap
+msgid "Only author, no title"
+msgstr "ONLY AUTHOR, NO TITLE"
+
+#. type: Plain text
+#: PandocHeaderOnlyAuthor.md:4
+msgid "Other text."
+msgstr "OTHER TEXT."
diff --git a/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.pot b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.pot
new file mode 100644
index 0000000..03271a5
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.pot
@@ -0,0 +1,29 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:16+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: PandocHeaderOnlyAuthor.md:2
+#, no-wrap
+msgid "Only author, no title"
+msgstr ""
+
+#. type: Plain text
+#: PandocHeaderOnlyAuthor.md:4
+#, markdown-text
+msgid "Other text."
+msgstr ""
diff --git a/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.trans b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.trans
new file mode 100644
index 0000000..1c570fe
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderOnlyAuthor.trans
@@ -0,0 +1,4 @@
+%
+% ONLY AUTHOR, NO TITLE
+
+OTHER TEXT.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitle.md b/t/fmt/txt-markdown/PandocHeaderTitle.md
new file mode 100644
index 0000000..b10659d
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitle.md
@@ -0,0 +1,3 @@
+% Only title
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitle.norm b/t/fmt/txt-markdown/PandocHeaderTitle.norm
new file mode 100644
index 0000000..b10659d
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitle.norm
@@ -0,0 +1,3 @@
+% Only title
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitle.po b/t/fmt/txt-markdown/PandocHeaderTitle.po
new file mode 100644
index 0000000..942a181
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitle.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:15+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitle.md:1
+msgid "Only title"
+msgstr "ONLY TITLE"
+
+#. type: Plain text
+#: PandocHeaderTitle.md:3
+msgid "Other text."
+msgstr "OTHER TEXT."
diff --git a/t/fmt/txt-markdown/PandocHeaderTitle.pot b/t/fmt/txt-markdown/PandocHeaderTitle.pot
new file mode 100644
index 0000000..7aee824
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitle.pot
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:15+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitle.md:1
+msgid "Only title"
+msgstr ""
+
+#. type: Plain text
+#: PandocHeaderTitle.md:3
+#, markdown-text
+msgid "Other text."
+msgstr ""
diff --git a/t/fmt/txt-markdown/PandocHeaderTitle.trans b/t/fmt/txt-markdown/PandocHeaderTitle.trans
new file mode 100644
index 0000000..bf06b2c
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitle.trans
@@ -0,0 +1,3 @@
+% ONLY TITLE
+
+OTHER TEXT.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleAuthors.md b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.md
new file mode 100644
index 0000000..1301113
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.md
@@ -0,0 +1,9 @@
+% Title
+ over
+ some
+ lines
+% Author 1;
+ Author 2
+% The Date
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleAuthors.norm b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.norm
new file mode 100644
index 0000000..0805a14
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.norm
@@ -0,0 +1,6 @@
+% Title over some lines
+% Author 1
+ Author 2
+% The Date
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleAuthors.po b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.po
new file mode 100644
index 0000000..08c157c
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.po
@@ -0,0 +1,45 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:19+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleAuthors.md:1
+msgid "Title over some lines"
+msgstr "TITLE OVER SOME LINES"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleAuthors.md:5
+#, no-wrap
+msgid "Author 1"
+msgstr "AUTHOR 1"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleAuthors.md:5
+#, no-wrap
+msgid "Author 2"
+msgstr "AUTHOR 2"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleAuthors.md:7
+#, no-wrap
+msgid "The Date"
+msgstr "THE DATE"
+
+#. type: Plain text
+#: PandocHeaderTitleAuthors.md:9
+msgid "Other text."
+msgstr "OTHER TEXT."
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleAuthors.pot b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.pot
new file mode 100644
index 0000000..08bd655
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.pot
@@ -0,0 +1,46 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:16+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleAuthors.md:1
+msgid "Title over some lines"
+msgstr ""
+
+#. type: Pandoc title block
+#: PandocHeaderTitleAuthors.md:5
+#, no-wrap
+msgid "Author 1"
+msgstr ""
+
+#. type: Pandoc title block
+#: PandocHeaderTitleAuthors.md:5
+#, no-wrap
+msgid "Author 2"
+msgstr ""
+
+#. type: Pandoc title block
+#: PandocHeaderTitleAuthors.md:7
+#, no-wrap
+msgid "The Date"
+msgstr ""
+
+#. type: Plain text
+#: PandocHeaderTitleAuthors.md:9
+#, markdown-text
+msgid "Other text."
+msgstr ""
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleAuthors.trans b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.trans
new file mode 100644
index 0000000..345a47c
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleAuthors.trans
@@ -0,0 +1,6 @@
+% TITLE OVER SOME LINES
+% AUTHOR 1
+ AUTHOR 2
+% THE DATE
+
+OTHER TEXT.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleDate.md b/t/fmt/txt-markdown/PandocHeaderTitleDate.md
new file mode 100644
index 0000000..5ad2833
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleDate.md
@@ -0,0 +1,5 @@
+% Only title
+%
+% and date.
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleDate.norm b/t/fmt/txt-markdown/PandocHeaderTitleDate.norm
new file mode 100644
index 0000000..5ad2833
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleDate.norm
@@ -0,0 +1,5 @@
+% Only title
+%
+% and date.
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleDate.po b/t/fmt/txt-markdown/PandocHeaderTitleDate.po
new file mode 100644
index 0000000..eedd222
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleDate.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:19+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleDate.md:1
+msgid "Only title"
+msgstr "ONLY TITLE"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleDate.md:3
+#, no-wrap
+msgid "and date."
+msgstr "AND DATE."
+
+#. type: Plain text
+#: PandocHeaderTitleDate.md:5
+msgid "Other text."
+msgstr "OTHER TEXT."
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleDate.pot b/t/fmt/txt-markdown/PandocHeaderTitleDate.pot
new file mode 100644
index 0000000..c28d4b2
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleDate.pot
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:16+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleDate.md:1
+msgid "Only title"
+msgstr ""
+
+#. type: Pandoc title block
+#: PandocHeaderTitleDate.md:3
+#, no-wrap
+msgid "and date."
+msgstr ""
+
+#. type: Plain text
+#: PandocHeaderTitleDate.md:5
+#, markdown-text
+msgid "Other text."
+msgstr ""
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleDate.trans b/t/fmt/txt-markdown/PandocHeaderTitleDate.trans
new file mode 100644
index 0000000..9506c97
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleDate.trans
@@ -0,0 +1,5 @@
+% ONLY TITLE
+%
+% AND DATE.
+
+OTHER TEXT.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultilines.md b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.md
new file mode 100644
index 0000000..1cc04b0
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.md
@@ -0,0 +1,9 @@
+% The document title
+ which spans
+ multiple lines and is actually so long that it
+ will get wrapped by po4a in the output document in order to
+ test the wrapping of the output.
+% Author
+% June 14, 2018
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultilines.norm b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.norm
new file mode 100644
index 0000000..2661449
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.norm
@@ -0,0 +1,7 @@
+% The document title which spans multiple lines and is actually so long that
+ it will get wrapped by po4a in the output document in order to test the
+ wrapping of the output.
+% Author
+% June 14, 2018
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultilines.po b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.po
new file mode 100644
index 0000000..4f5c871
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.po
@@ -0,0 +1,45 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:18+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultilines.md:1
+msgid ""
+"The document title which spans multiple lines and is actually so long that "
+"it will get wrapped by po4a in the output document in order to test the "
+"wrapping of the output."
+msgstr ""
+"THE DOCUMENT TITLE WHICH SPANS MULTIPLE LINES AND IS ACTUALLY SO LONG THAT "
+"IT WILL GET WRAPPED BY PO4A IN THE OUTPUT DOCUMENT IN ORDER TO TEST THE "
+"WRAPPING OF THE OUTPUT."
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultilines.md:6
+#, no-wrap
+msgid "Author"
+msgstr "AUTHOR"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultilines.md:7
+#, no-wrap
+msgid "June 14, 2018"
+msgstr "JUNE 14, 2018"
+
+#. type: Plain text
+#: PandocHeaderTitleMultilines.md:9
+msgid "Other text."
+msgstr "OTHER TEXT."
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultilines.pot b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.pot
new file mode 100644
index 0000000..27453dd
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.pot
@@ -0,0 +1,43 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:15+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultilines.md:1
+msgid ""
+"The document title which spans multiple lines and is actually so long that "
+"it will get wrapped by po4a in the output document in order to test the "
+"wrapping of the output."
+msgstr ""
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultilines.md:6
+#, no-wrap
+msgid "Author"
+msgstr ""
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultilines.md:7
+#, no-wrap
+msgid "June 14, 2018"
+msgstr ""
+
+#. type: Plain text
+#: PandocHeaderTitleMultilines.md:9
+#, markdown-text
+msgid "Other text."
+msgstr ""
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultilines.trans b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.trans
new file mode 100644
index 0000000..6baa01b
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultilines.trans
@@ -0,0 +1,7 @@
+% THE DOCUMENT TITLE WHICH SPANS MULTIPLE LINES AND IS ACTUALLY SO LONG THAT
+ IT WILL GET WRAPPED BY PO4A IN THE OUTPUT DOCUMENT IN ORDER TO TEST THE
+ WRAPPING OF THE OUTPUT.
+% AUTHOR
+% JUNE 14, 2018
+
+OTHER TEXT.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.md b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.md
new file mode 100644
index 0000000..e66eb3f
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.md
@@ -0,0 +1,5 @@
+% Title
+% Author 1
+ Author 2
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.norm b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.norm
new file mode 100644
index 0000000..e66eb3f
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.norm
@@ -0,0 +1,5 @@
+% Title
+% Author 1
+ Author 2
+
+Other text.
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.po b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.po
new file mode 100644
index 0000000..418c02f
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.po
@@ -0,0 +1,39 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:20+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultipleAuthors.md:1
+msgid "Title"
+msgstr "TITLE"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultipleAuthors.md:2
+#, no-wrap
+msgid "Author 1"
+msgstr "AUTHOR 1"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultipleAuthors.md:2
+#, no-wrap
+msgid "Author 2"
+msgstr "AUTHOR 2"
+
+#. type: Plain text
+#: PandocHeaderTitleMultipleAuthors.md:5
+msgid "Other text."
+msgstr "OTHER TEXT."
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.pot b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.pot
new file mode 100644
index 0000000..970832d
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.pot
@@ -0,0 +1,40 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:19+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultipleAuthors.md:1
+msgid "Title"
+msgstr ""
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultipleAuthors.md:2
+#, no-wrap
+msgid "Author 1"
+msgstr ""
+
+#. type: Pandoc title block
+#: PandocHeaderTitleMultipleAuthors.md:2
+#, no-wrap
+msgid "Author 2"
+msgstr ""
+
+#. type: Plain text
+#: PandocHeaderTitleMultipleAuthors.md:5
+#, markdown-text
+msgid "Other text."
+msgstr ""
diff --git a/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.trans b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.trans
new file mode 100644
index 0000000..4d45d26
--- /dev/null
+++ b/t/fmt/txt-markdown/PandocHeaderTitleMultipleAuthors.trans
@@ -0,0 +1,5 @@
+% TITLE
+% AUTHOR 1
+ AUTHOR 2
+
+OTHER TEXT.
diff --git a/t/fmt/txt-markdown/Rules.md b/t/fmt/txt-markdown/Rules.md
new file mode 100644
index 0000000..818dbfd
--- /dev/null
+++ b/t/fmt/txt-markdown/Rules.md
@@ -0,0 +1,71 @@
+Here are three horisontal rules / thematic breaks:
+***
+---
+___
+This is a paragraph
++++
+which continues
+===
+and continues
+--
+**
+__
+until here
+
+Here are three more rules:
+ ***
+ ***
+ ***
+but this is code:
+
+ ***
+
+and this is a paragraph:
+
+Foo
+ ***
+
+here are 5 rules:
+_____________________________________
+ - - -
+ ** * ** * ** * **
+- - - -
+- - - -
+but these are not rules:
+
+_ _ _ _ a
+
+a------
+
+---a---
+
+ *-*
+
+Below is an interrupting rule:
+
+- foo
+***
+- bar
+
+Below is an interrupting rule:
+
+Foo
+***
+bar
+
+But this is a header:
+
+Foo
+---
+bar
+
+This is interrupted by rule:
+
+* Foo
+* * *
+* Bar
+
+This is a list:
+
+- Foo
+- * * *
diff --git a/t/fmt/txt-markdown/Rules.norm b/t/fmt/txt-markdown/Rules.norm
new file mode 100644
index 0000000..818dbfd
--- /dev/null
+++ b/t/fmt/txt-markdown/Rules.norm
@@ -0,0 +1,71 @@
+Here are three horisontal rules / thematic breaks:
+***
+---
+___
+This is a paragraph
++++
+which continues
+===
+and continues
+--
+**
+__
+until here
+
+Here are three more rules:
+ ***
+ ***
+ ***
+but this is code:
+
+ ***
+
+and this is a paragraph:
+
+Foo
+ ***
+
+here are 5 rules:
+_____________________________________
+ - - -
+ ** * ** * ** * **
+- - - -
+- - - -
+but these are not rules:
+
+_ _ _ _ a
+
+a------
+
+---a---
+
+ *-*
+
+Below is an interrupting rule:
+
+- foo
+***
+- bar
+
+Below is an interrupting rule:
+
+Foo
+***
+bar
+
+But this is a header:
+
+Foo
+---
+bar
+
+This is interrupted by rule:
+
+* Foo
+* * *
+* Bar
+
+This is a list:
+
+- Foo
+- * * *
diff --git a/t/fmt/txt-markdown/Rules.po b/t/fmt/txt-markdown/Rules.po
new file mode 100644
index 0000000..4afa0cd
--- /dev/null
+++ b/t/fmt/txt-markdown/Rules.po
@@ -0,0 +1,168 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:25+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Plain text
+#: Rules.md:2
+msgid "Here are three horisontal rules / thematic breaks:"
+msgstr "HERE ARE THREE HORISONTAL RULES / THEMATIC BREAKS:"
+
+#. type: Plain text
+#: Rules.md:8
+#, no-wrap
+msgid ""
+"This is a paragraph\n"
+"+++\n"
+"which continues\n"
+"===\n"
+msgstr ""
+"THIS IS A PARAGRAPH\n"
+"+++\n"
+"WHICH CONTINUES\n"
+"===\n"
+
+#. type: Plain text
+#: Rules.md:10
+#, no-wrap
+msgid ""
+"and continues\n"
+"--\n"
+msgstr ""
+"AND CONTINUES\n"
+"--\n"
+
+#. type: Plain text
+#: Rules.md:12
+#, no-wrap
+msgid ""
+"**\n"
+"__\n"
+msgstr ""
+"**\n"
+"__\n"
+
+#. type: Plain text
+#: Rules.md:14
+msgid "until here"
+msgstr "UNTIL HERE"
+
+#. type: Plain text
+#: Rules.md:16
+msgid "Here are three more rules:"
+msgstr "HERE ARE THREE MORE RULES:"
+
+#. type: Plain text
+#: Rules.md:20
+msgid "but this is code:"
+msgstr "BUT THIS IS CODE:"
+
+#. type: Plain text
+#: Rules.md:22
+#, no-wrap
+msgid " ***\n"
+msgstr " ***\n"
+
+#. type: Plain text
+#: Rules.md:24
+msgid "and this is a paragraph:"
+msgstr "AND THIS IS A PARAGRAPH:"
+
+#. type: Plain text
+#: Rules.md:27
+#, no-wrap
+msgid ""
+"Foo\n"
+" ***\n"
+msgstr ""
+"FOO\n"
+" ***\n"
+
+#. type: Plain text
+#: Rules.md:29
+msgid "here are 5 rules:"
+msgstr "HERE ARE 5 RULES:"
+
+#. type: Plain text
+#: Rules.md:35
+msgid "but these are not rules:"
+msgstr "BUT THESE ARE NOT RULES:"
+
+#. type: Plain text
+#: Rules.md:37
+msgid "_ _ _ _ a"
+msgstr "_ _ _ _ A"
+
+#. type: Plain text
+#: Rules.md:39
+msgid "a------"
+msgstr "A------"
+
+#. type: Plain text
+#: Rules.md:41
+msgid "---a---"
+msgstr "---A---"
+
+#. type: Plain text
+#: Rules.md:43
+#, no-wrap
+msgid " *-*\n"
+msgstr " *-*\n"
+
+#. type: Plain text
+#: Rules.md:45 Rules.md:51
+msgid "Below is an interrupting rule:"
+msgstr "BELOW IS AN INTERRUPTING RULE:"
+
+#. type: Bullet: '- '
+#: Rules.md:47
+msgid "foo"
+msgstr "FOO"
+
+#. type: Plain text
+#: Rules.md:49 Rules.md:55 Rules.md:61
+msgid "bar"
+msgstr "BAR"
+
+#. type: Bullet: '- '
+#: Rules.md:53 Rules.md:59 Rules.md:65 Rules.md:71
+msgid "Foo"
+msgstr "FOO"
+
+#. type: Plain text
+#: Rules.md:57
+msgid "But this is a header:"
+msgstr "BUT THIS IS A HEADER:"
+
+#. type: Plain text
+#: Rules.md:63
+msgid "This is interrupted by rule:"
+msgstr "THIS IS INTERRUPTED BY RULE:"
+
+#. type: Bullet: '* '
+#: Rules.md:67
+msgid "Bar"
+msgstr "BAR"
+
+#. type: Plain text
+#: Rules.md:69
+msgid "This is a list:"
+msgstr "THIS IS A LIST:"
+
+#. type: Bullet: '- '
+#: Rules.md:71
+msgid "* * *"
+msgstr "* * *"
diff --git a/t/fmt/txt-markdown/Rules.pot b/t/fmt/txt-markdown/Rules.pot
new file mode 100644
index 0000000..b710667
--- /dev/null
+++ b/t/fmt/txt-markdown/Rules.pot
@@ -0,0 +1,177 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 18:25+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Plain text
+#: Rules.md:2
+#, markdown-text
+msgid "Here are three horisontal rules / thematic breaks:"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:8
+#, markdown-text, no-wrap
+msgid ""
+"This is a paragraph\n"
+"+++\n"
+"which continues\n"
+"===\n"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:10
+#, markdown-text, no-wrap
+msgid ""
+"and continues\n"
+"--\n"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:12
+#, markdown-text, no-wrap
+msgid ""
+"**\n"
+"__\n"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:14
+#, markdown-text
+msgid "until here"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:16
+#, markdown-text
+msgid "Here are three more rules:"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:20
+#, markdown-text
+msgid "but this is code:"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:22
+#, markdown-text, no-wrap
+msgid " ***\n"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:24
+#, markdown-text
+msgid "and this is a paragraph:"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:27
+#, markdown-text, no-wrap
+msgid ""
+"Foo\n"
+" ***\n"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:29
+#, markdown-text
+msgid "here are 5 rules:"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:35
+#, markdown-text
+msgid "but these are not rules:"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:37
+#, markdown-text
+msgid "_ _ _ _ a"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:39
+#, markdown-text
+msgid "a------"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:41
+#, markdown-text
+msgid "---a---"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:43
+#, markdown-text, no-wrap
+msgid " *-*\n"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:45 Rules.md:51
+#, markdown-text
+msgid "Below is an interrupting rule:"
+msgstr ""
+
+#. type: Bullet: '- '
+#: Rules.md:47
+#, markdown-text
+msgid "foo"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:49 Rules.md:55 Rules.md:61
+#, markdown-text
+msgid "bar"
+msgstr ""
+
+#. type: Bullet: '- '
+#: Rules.md:53 Rules.md:59 Rules.md:65 Rules.md:71
+#, markdown-text
+msgid "Foo"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:57
+#, markdown-text
+msgid "But this is a header:"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:63
+#, markdown-text
+msgid "This is interrupted by rule:"
+msgstr ""
+
+#. type: Bullet: '* '
+#: Rules.md:67
+#, markdown-text
+msgid "Bar"
+msgstr ""
+
+#. type: Plain text
+#: Rules.md:69
+#, markdown-text
+msgid "This is a list:"
+msgstr ""
+
+#. type: Bullet: '- '
+#: Rules.md:71
+#, markdown-text
+msgid "* * *"
+msgstr ""
diff --git a/t/fmt/txt-markdown/Rules.trans b/t/fmt/txt-markdown/Rules.trans
new file mode 100644
index 0000000..5b14202
--- /dev/null
+++ b/t/fmt/txt-markdown/Rules.trans
@@ -0,0 +1,71 @@
+HERE ARE THREE HORISONTAL RULES / THEMATIC BREAKS:
+***
+---
+___
+THIS IS A PARAGRAPH
++++
+WHICH CONTINUES
+===
+AND CONTINUES
+--
+**
+__
+UNTIL HERE
+
+HERE ARE THREE MORE RULES:
+ ***
+ ***
+ ***
+BUT THIS IS CODE:
+
+ ***
+
+AND THIS IS A PARAGRAPH:
+
+FOO
+ ***
+
+HERE ARE 5 RULES:
+_____________________________________
+ - - -
+ ** * ** * ** * **
+- - - -
+- - - -
+BUT THESE ARE NOT RULES:
+
+_ _ _ _ A
+
+A------
+
+---A---
+
+ *-*
+
+BELOW IS AN INTERRUPTING RULE:
+
+- FOO
+***
+- BAR
+
+BELOW IS AN INTERRUPTING RULE:
+
+FOO
+***
+BAR
+
+BUT THIS IS A HEADER:
+
+FOO
+---
+BAR
+
+THIS IS INTERRUPTED BY RULE:
+
+* FOO
+* * *
+* BAR
+
+THIS IS A LIST:
+
+- FOO
+- * * *
diff --git a/t/fmt/txt-markdown/Tables.md b/t/fmt/txt-markdown/Tables.md
new file mode 100644
index 0000000..b550432
--- /dev/null
+++ b/t/fmt/txt-markdown/Tables.md
@@ -0,0 +1,11 @@
+# This is a test about tables
+
+| Head 1 | Head 2 |
+| ------ | ------ |
+| Cell 1 | Cell 2 |
+
+This should probably not be a table.
+| even if | it looks |
+| ------- | -------- |
+| quite | similar |
+But I'm not sure either. \ No newline at end of file
diff --git a/t/fmt/txt-markdown/Tables.norm b/t/fmt/txt-markdown/Tables.norm
new file mode 100644
index 0000000..cd8c0a9
--- /dev/null
+++ b/t/fmt/txt-markdown/Tables.norm
@@ -0,0 +1,8 @@
+# This is a test about tables
+
+| Head 1 | Head 2 |
+| ------ | ------ |
+| Cell 1 | Cell 2 |
+
+This should probably not be a table. | even if | it looks | | ------- |
+-------- | | quite | similar | But I'm not sure either.
diff --git a/t/fmt/txt-markdown/Tables.po b/t/fmt/txt-markdown/Tables.po
new file mode 100644
index 0000000..4a04cf1
--- /dev/null
+++ b/t/fmt/txt-markdown/Tables.po
@@ -0,0 +1,45 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-05-09 23:17+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Title #
+#: Tables.md:1
+#, markdown-text, no-wrap
+msgid "This is a test about tables"
+msgstr "THIS IS A TEST ABOUT TABLES"
+
+#. type: Plain text
+#: Tables.md:6
+#, markdown-text, no-wrap
+msgid ""
+"| Head 1 | Head 2 |\n"
+"| ------ | ------ |\n"
+"| Cell 1 | Cell 2 |\n"
+msgstr ""
+"| HEAD 1 | HEAD 2 |\n"
+"| ------ | ------ |\n"
+"| CELL 1 | CELL 2 |\n"
+
+#. type: Plain text
+#: Tables.md:11
+#, markdown-text
+msgid ""
+"This should probably not be a table. | even if | it looks | | ------- | "
+"-------- | | quite | similar | But I'm not sure either."
+msgstr ""
+"THIS SHOULD PROBABLY NOT BE A TABLE. | EVEN IF | IT LOOKS | | ------- | "
+"-------- | | QUITE | SIMILAR | BUT I'M NOT SURE EITHER."
diff --git a/t/fmt/txt-markdown/Tables.pot b/t/fmt/txt-markdown/Tables.pot
new file mode 100644
index 0000000..87f614e
--- /dev/null
+++ b/t/fmt/txt-markdown/Tables.pot
@@ -0,0 +1,40 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-05-09 23:17+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Title #
+#: Tables.md:1
+#, markdown-text, no-wrap
+msgid "This is a test about tables"
+msgstr ""
+
+#. type: Plain text
+#: Tables.md:6
+#, markdown-text, no-wrap
+msgid ""
+"| Head 1 | Head 2 |\n"
+"| ------ | ------ |\n"
+"| Cell 1 | Cell 2 |\n"
+msgstr ""
+
+#. type: Plain text
+#: Tables.md:11
+#, markdown-text
+msgid ""
+"This should probably not be a table. | even if | it looks | | ------- | "
+"-------- | | quite | similar | But I'm not sure either."
+msgstr ""
diff --git a/t/fmt/txt-markdown/Tables.trans b/t/fmt/txt-markdown/Tables.trans
new file mode 100644
index 0000000..d40301f
--- /dev/null
+++ b/t/fmt/txt-markdown/Tables.trans
@@ -0,0 +1,8 @@
+# THIS IS A TEST ABOUT TABLES
+
+| HEAD 1 | HEAD 2 |
+| ------ | ------ |
+| CELL 1 | CELL 2 |
+
+THIS SHOULD PROBABLY NOT BE A TABLE. | EVEN IF | IT LOOKS | | ------- |
+-------- | | QUITE | SIMILAR | BUT I'M NOT SURE EITHER.
diff --git a/t/fmt/txt-markdown/Width.md b/t/fmt/txt-markdown/Width.md
new file mode 100644
index 0000000..c088ea6
--- /dev/null
+++ b/t/fmt/txt-markdown/Width.md
@@ -0,0 +1,45 @@
+% The document title with length over 40 symbols
+% The document first author; The document second author
+
+A nice long title which shouldn't be rewrapped
+==============================================
+
+This paragraph is 39 columns width.....
+
+This paragraph is 40 columns width......
+
+This paragraph is 41 columns width.......
+
+This paragraph is 39 columns
+width.....
+
+This paragraph is 40 columns
+width......
+
+This paragraph is 41 columns
+width.......
+
+
+# List items should be rewrapped two symbols shorter to accomodate the bullet marker
+
+* This list item is 37 columns width...
+* This list item is 38 columns width....
+* This list item is 39 columns width.....
+ * Nested items should be rewrapped even shorter.
+ * Like this: nested items should be
+ rewrapped even shorter.
+ * Or even as short as this one here....
+ * But not like this one..............
+
+* This list item is 37 columns width.
+
+This paragraph is 42 columns [width][link]
+
+ This is a very long verbatim paragraph that shouldn't be rewraped no matter how long it is.
+
+```
+This is a very long verbatim paragraph that shouldn't
+be rewraped no matter how long it is.
+```
+
+[link]: https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long
diff --git a/t/fmt/txt-markdown/Width.norm b/t/fmt/txt-markdown/Width.norm
new file mode 100644
index 0000000..93d4923
--- /dev/null
+++ b/t/fmt/txt-markdown/Width.norm
@@ -0,0 +1,50 @@
+% The document title with length over 40
+ symbols
+% The document first author
+ The document second author
+
+A nice long title which shouldn't be rewrapped
+==============================================
+
+This paragraph is 39 columns width.....
+
+This paragraph is 40 columns width......
+
+This paragraph is 41 columns
+width.......
+
+This paragraph is 39 columns width.....
+
+This paragraph is 40 columns width......
+
+This paragraph is 41 columns
+width.......
+
+
+# List items should be rewrapped two symbols shorter to accomodate the bullet marker
+
+* This list item is 37 columns width...
+* This list item is 38 columns width....
+* This list item is 39 columns
+ width.....
+ * Nested items should be rewrapped
+ even shorter.
+ * Like this: nested items should be
+ rewrapped even shorter.
+ * Or even as short as this one
+ here....
+ * But not like this one..............
+
+* This list item is 37 columns width.
+
+This paragraph is 42 columns
+[width][link]
+
+ This is a very long verbatim paragraph that shouldn't be rewraped no matter how long it is.
+
+```
+This is a very long verbatim paragraph that shouldn't
+be rewraped no matter how long it is.
+```
+
+[link]: https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long
diff --git a/t/fmt/txt-markdown/Width.po b/t/fmt/txt-markdown/Width.po
new file mode 100644
index 0000000..3555cd9
--- /dev/null
+++ b/t/fmt/txt-markdown/Width.po
@@ -0,0 +1,152 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-03-24 22:33+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: Width.md:1
+msgid "The document title with length over 40 symbols"
+msgstr "THE DOCUMENT TITLE WITH LENGTH OVER 40 SYMBOLS"
+
+#. type: Pandoc title block
+#: Width.md:2
+#, no-wrap
+msgid "The document first author"
+msgstr "THE DOCUMENT FIRST AUTHOR"
+
+#. type: Pandoc title block
+#: Width.md:2
+#, no-wrap
+msgid "The document second author"
+msgstr "THE DOCUMENT SECOND AUTHOR"
+
+#. type: Title =
+#: Width.md:5
+#, markdown-text, no-wrap
+msgid "A nice long title which shouldn't be rewrapped"
+msgstr "A NICE LONG TITLE WHICH SHOULDN'T BE REWRAPPED"
+
+#. type: Plain text
+#: Width.md:8 Width.md:15
+#, markdown-text
+msgid "This paragraph is 39 columns width....."
+msgstr "THIS PARAGRAPH IS 39 COLUMNS WIDTH....."
+
+#. type: Plain text
+#: Width.md:10 Width.md:18
+#, markdown-text
+msgid "This paragraph is 40 columns width......"
+msgstr "THIS PARAGRAPH IS 40 COLUMNS WIDTH......"
+
+#. type: Plain text
+#: Width.md:12 Width.md:21
+#, markdown-text
+msgid "This paragraph is 41 columns width......."
+msgstr "THIS PARAGRAPH IS 41 COLUMNS WIDTH......."
+
+#. type: Title #
+#: Width.md:23
+#, markdown-text, no-wrap
+msgid ""
+"List items should be rewrapped two symbols shorter to accomodate the bullet "
+"marker"
+msgstr ""
+"LIST ITEMS SHOULD BE REWRAPPED TWO SYMBOLS SHORTER TO ACCOMODATE THE BULLET "
+"MARKER"
+
+#. type: Bullet: '* '
+#: Width.md:33
+#, markdown-text
+msgid "This list item is 37 columns width..."
+msgstr "THIS LIST ITEM IS 37 COLUMNS WIDTH..."
+
+#. type: Bullet: '* '
+#: Width.md:33
+#, markdown-text
+msgid "This list item is 38 columns width...."
+msgstr "THIS LIST ITEM IS 38 COLUMNS WIDTH...."
+
+#. type: Bullet: '* '
+#: Width.md:33
+#, markdown-text
+msgid "This list item is 39 columns width....."
+msgstr "THIS LIST ITEM IS 39 COLUMNS WIDTH....."
+
+#. type: Bullet: ' * '
+#: Width.md:33
+#, markdown-text
+msgid "Nested items should be rewrapped even shorter."
+msgstr "NESTED ITEMS SHOULD BE REWRAPPED EVEN SHORTER."
+
+#. type: Bullet: ' * '
+#: Width.md:33
+#, markdown-text
+msgid "Like this: nested items should be rewrapped even shorter."
+msgstr "LIKE THIS: NESTED ITEMS SHOULD BE REWRAPPED EVEN SHORTER."
+
+#. type: Bullet: ' * '
+#: Width.md:33
+#, markdown-text
+msgid "Or even as short as this one here...."
+msgstr "OR EVEN AS SHORT AS THIS ONE HERE...."
+
+#. type: Bullet: ' * '
+#: Width.md:33
+#, markdown-text
+msgid "But not like this one.............."
+msgstr "BUT NOT LIKE THIS ONE.............."
+
+#. type: Bullet: '* '
+#: Width.md:35
+#, markdown-text
+msgid "This list item is 37 columns width."
+msgstr "THIS LIST ITEM IS 37 COLUMNS WIDTH."
+
+#. type: Plain text
+#: Width.md:37
+#, markdown-text
+msgid "This paragraph is 42 columns [width][link]"
+msgstr "THIS PARAGRAPH IS 42 COLUMNS [WIDTH][LINK]"
+
+#. type: Plain text
+#: Width.md:39
+#, markdown-text, no-wrap
+msgid ""
+" This is a very long verbatim paragraph that shouldn't be rewraped no "
+"matter how long it is.\n"
+msgstr ""
+" THIS IS A VERY LONG VERBATIM PARAGRAPH THAT SHOULDN'T BE REWRAPED NO "
+"MATTER HOW LONG IT IS.\n"
+
+#. type: Fenced code block
+#: Width.md:40
+#, no-wrap
+msgid ""
+"This is a very long verbatim paragraph that shouldn't\n"
+"be rewraped no matter how long it is.\n"
+msgstr ""
+"THIS IS A VERY LONG VERBATIM PARAGRAPH THAT SHOULDN'T\n"
+"BE REWRAPED NO MATTER HOW LONG IT IS.\n"
+
+#. type: Link reference
+#: Width.md:45
+#, no-wrap
+msgid ""
+"[link]: "
+"https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long"
+msgstr ""
+"[LINK]: "
+"HTTPS://EXAMPLE.COM/SOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO/LONG"
diff --git a/t/fmt/txt-markdown/Width.pot b/t/fmt/txt-markdown/Width.pot
new file mode 100644
index 0000000..eff7691
--- /dev/null
+++ b/t/fmt/txt-markdown/Width.pot
@@ -0,0 +1,144 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-03-24 22:33+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Pandoc title block
+#: Width.md:1
+msgid "The document title with length over 40 symbols"
+msgstr ""
+
+#. type: Pandoc title block
+#: Width.md:2
+#, no-wrap
+msgid "The document first author"
+msgstr ""
+
+#. type: Pandoc title block
+#: Width.md:2
+#, no-wrap
+msgid "The document second author"
+msgstr ""
+
+#. type: Title =
+#: Width.md:5
+#, markdown-text, no-wrap
+msgid "A nice long title which shouldn't be rewrapped"
+msgstr ""
+
+#. type: Plain text
+#: Width.md:8 Width.md:15
+#, markdown-text
+msgid "This paragraph is 39 columns width....."
+msgstr ""
+
+#. type: Plain text
+#: Width.md:10 Width.md:18
+#, markdown-text
+msgid "This paragraph is 40 columns width......"
+msgstr ""
+
+#. type: Plain text
+#: Width.md:12 Width.md:21
+#, markdown-text
+msgid "This paragraph is 41 columns width......."
+msgstr ""
+
+#. type: Title #
+#: Width.md:23
+#, markdown-text, no-wrap
+msgid ""
+"List items should be rewrapped two symbols shorter to accomodate the bullet "
+"marker"
+msgstr ""
+
+#. type: Bullet: '* '
+#: Width.md:33
+#, markdown-text
+msgid "This list item is 37 columns width..."
+msgstr ""
+
+#. type: Bullet: '* '
+#: Width.md:33
+#, markdown-text
+msgid "This list item is 38 columns width...."
+msgstr ""
+
+#. type: Bullet: '* '
+#: Width.md:33
+#, markdown-text
+msgid "This list item is 39 columns width....."
+msgstr ""
+
+#. type: Bullet: ' * '
+#: Width.md:33
+#, markdown-text
+msgid "Nested items should be rewrapped even shorter."
+msgstr ""
+
+#. type: Bullet: ' * '
+#: Width.md:33
+#, markdown-text
+msgid "Like this: nested items should be rewrapped even shorter."
+msgstr ""
+
+#. type: Bullet: ' * '
+#: Width.md:33
+#, markdown-text
+msgid "Or even as short as this one here...."
+msgstr ""
+
+#. type: Bullet: ' * '
+#: Width.md:33
+#, markdown-text
+msgid "But not like this one.............."
+msgstr ""
+
+#. type: Bullet: '* '
+#: Width.md:35
+#, markdown-text
+msgid "This list item is 37 columns width."
+msgstr ""
+
+#. type: Plain text
+#: Width.md:37
+#, markdown-text
+msgid "This paragraph is 42 columns [width][link]"
+msgstr ""
+
+#. type: Plain text
+#: Width.md:39
+#, markdown-text, no-wrap
+msgid ""
+" This is a very long verbatim paragraph that shouldn't be rewraped no "
+"matter how long it is.\n"
+msgstr ""
+
+#. type: Fenced code block
+#: Width.md:40
+#, no-wrap
+msgid ""
+"This is a very long verbatim paragraph that shouldn't\n"
+"be rewraped no matter how long it is.\n"
+msgstr ""
+
+#. type: Link reference
+#: Width.md:45
+#, no-wrap
+msgid ""
+"[link]: "
+"https://example.com/sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo/long"
+msgstr ""
diff --git a/t/fmt/txt-markdown/Width.trans b/t/fmt/txt-markdown/Width.trans
new file mode 100644
index 0000000..d3f6557
--- /dev/null
+++ b/t/fmt/txt-markdown/Width.trans
@@ -0,0 +1,50 @@
+% THE DOCUMENT TITLE WITH LENGTH OVER 40
+ SYMBOLS
+% THE DOCUMENT FIRST AUTHOR
+ THE DOCUMENT SECOND AUTHOR
+
+A NICE LONG TITLE WHICH SHOULDN'T BE REWRAPPED
+==============================================
+
+THIS PARAGRAPH IS 39 COLUMNS WIDTH.....
+
+THIS PARAGRAPH IS 40 COLUMNS WIDTH......
+
+THIS PARAGRAPH IS 41 COLUMNS
+WIDTH.......
+
+THIS PARAGRAPH IS 39 COLUMNS WIDTH.....
+
+THIS PARAGRAPH IS 40 COLUMNS WIDTH......
+
+THIS PARAGRAPH IS 41 COLUMNS
+WIDTH.......
+
+
+# LIST ITEMS SHOULD BE REWRAPPED TWO SYMBOLS SHORTER TO ACCOMODATE THE BULLET MARKER
+
+* THIS LIST ITEM IS 37 COLUMNS WIDTH...
+* THIS LIST ITEM IS 38 COLUMNS WIDTH....
+* THIS LIST ITEM IS 39 COLUMNS
+ WIDTH.....
+ * NESTED ITEMS SHOULD BE REWRAPPED
+ EVEN SHORTER.
+ * LIKE THIS: NESTED ITEMS SHOULD BE
+ REWRAPPED EVEN SHORTER.
+ * OR EVEN AS SHORT AS THIS ONE
+ HERE....
+ * BUT NOT LIKE THIS ONE..............
+
+* THIS LIST ITEM IS 37 COLUMNS WIDTH.
+
+THIS PARAGRAPH IS 42 COLUMNS
+[WIDTH][LINK]
+
+ THIS IS A VERY LONG VERBATIM PARAGRAPH THAT SHOULDN'T BE REWRAPED NO MATTER HOW LONG IT IS.
+
+```
+THIS IS A VERY LONG VERBATIM PARAGRAPH THAT SHOULDN'T
+BE REWRAPED NO MATTER HOW LONG IT IS.
+```
+
+[LINK]: HTTPS://EXAMPLE.COM/SOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO/LONG
diff --git a/t/fmt/txt-markdown/YamlFrontMatter.md b/t/fmt/txt-markdown/YamlFrontMatter.md
new file mode 100644
index 0000000..68038c2
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter.md
@@ -0,0 +1,43 @@
+---
+title: "YAML: does it fit in Markdown?"
+author: test
+tags:
+- yaml
+- markdown
+wrappedtext: >
+ this is really a
+ single line of text
+ despite appearances
+include_newlines: |
+ exactly as you see
+ will appear these three
+ lines of poetry
+bool: false
+people:
+ -
+ name: John D'vloper
+ job: Developer
+ alive: true
+ hobbies:
+ - Amateur radio
+ - Pet adoption & fostering
+ - Puzzle
+ -
+ name: Tabitha Bitumen
+ job: Developer
+ hobbies:
+ - Ice skating
+ - Water polo
+ - Caving
+---
+
+# YAML: does it fit in Markdown?
+
+Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use
+a standard format: Markdown with YAML Front Matter.
+
+Why
+---
+
+Because blog posts need metadata!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter.norm b/t/fmt/txt-markdown/YamlFrontMatter.norm
new file mode 100644
index 0000000..30681f5
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter.norm
@@ -0,0 +1,37 @@
+---
+author: test
+bool: false
+include_newlines: "exactly as you see\nwill appear these three\nlines of poetry\n"
+people:
+ -
+ alive: true
+ hobbies:
+ - 'Amateur radio'
+ - 'Pet adoption & fostering'
+ - Puzzle
+ job: Developer
+ name: "John D'vloper"
+ -
+ hobbies:
+ - 'Ice skating'
+ - 'Water polo'
+ - Caving
+ job: Developer
+ name: 'Tabitha Bitumen'
+tags:
+ - yaml
+ - markdown
+title: 'YAML: does it fit in Markdown?'
+wrappedtext: "this is really a single line of text despite appearances\n"
+---
+
+# YAML: does it fit in Markdown?
+
+Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a
+standard format: Markdown with YAML Front Matter.
+
+Why
+---
+
+Because blog posts need metadata!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter.po b/t/fmt/txt-markdown/YamlFrontMatter.po
new file mode 100644
index 0000000..41928da
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter.po
@@ -0,0 +1,132 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2022-07-09 23:23+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Yaml Front Matter Hash Value: author
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "test"
+msgstr "TEST"
+
+#. type: Yaml Front Matter Hash Value: include_newlines
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid ""
+"exactly as you see\n"
+"will appear these three\n"
+"lines of poetry\n"
+msgstr ""
+"EXACTLY AS YOU SEE\n"
+"WILL APPEAR THESE THREE\n"
+"LINES OF POETRY\n"
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Amateur radio"
+msgstr "AMATEUR RADIO"
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Pet adoption & fostering"
+msgstr "PET ADOPTION & FOSTERING"
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Puzzle"
+msgstr "PUZZLE"
+
+#. type: Yaml Front Matter Hash Value: people job
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Developer"
+msgstr "DEVELOPER"
+
+#. type: Yaml Front Matter Hash Value: people name
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "John D'vloper"
+msgstr "JOHN D'VLOPER"
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Ice skating"
+msgstr "ICE SKATING"
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Water polo"
+msgstr "WATER POLO"
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Caving"
+msgstr "CAVING"
+
+#. type: Yaml Front Matter Hash Value: people name
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Tabitha Bitumen"
+msgstr "TABITHA BITUMEN"
+
+#. type: Yaml Front Matter Array Element: tags
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "yaml"
+msgstr "YAML"
+
+#. type: Yaml Front Matter Array Element: tags
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "markdown"
+msgstr "MARKDOWN"
+
+#. type: Title #
+#: YamlFrontMatter.md:1 YamlFrontMatter.md:34
+#, no-wrap
+msgid "YAML: does it fit in Markdown?"
+msgstr "YAML: DOES IT FIT IN MARKDOWN?"
+
+#. type: Yaml Front Matter Hash Value: wrappedtext
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "this is really a single line of text despite appearances\n"
+msgstr "THIS IS REALLY A SINGLE LINE OF TEXT DESPITE APPEARANCES\n"
+
+#. type: Plain text
+#: YamlFrontMatter.md:38
+msgid ""
+"Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a "
+"standard format: Markdown with YAML Front Matter."
+msgstr ""
+"LOTS OF STATIC SITE GENERATORS LIKE JEKYLL, HUGO, LEKTOR AND MORE USE A "
+"STANDARD FORMAT: MARKDOWN WITH YAML FRONT MATTER."
+
+#. type: Plain text
+#: YamlFrontMatter.md:40
+msgid "Why"
+msgstr "WHY"
+
+#. type: Plain text
+#: YamlFrontMatter.md:43
+msgid "Because blog posts need metadata!"
+msgstr "BECAUSE BLOG POSTS NEED METADATA!"
diff --git a/t/fmt/txt-markdown/YamlFrontMatter.pot b/t/fmt/txt-markdown/YamlFrontMatter.pot
new file mode 100644
index 0000000..9c3632d
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter.pot
@@ -0,0 +1,130 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2022-07-09 23:33+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: author
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "test"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: include_newlines
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid ""
+"exactly as you see\n"
+"will appear these three\n"
+"lines of poetry\n"
+msgstr ""
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Amateur radio"
+msgstr ""
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Pet adoption & fostering"
+msgstr ""
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Puzzle"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: people job
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Developer"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: people name
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "John D'vloper"
+msgstr ""
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Ice skating"
+msgstr ""
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Water polo"
+msgstr ""
+
+#. type: Yaml Front Matter Array Element: people hobbies
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Caving"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: people name
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "Tabitha Bitumen"
+msgstr ""
+
+#. type: Yaml Front Matter Array Element: tags
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "yaml"
+msgstr ""
+
+#. type: Yaml Front Matter Array Element: tags
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "markdown"
+msgstr ""
+
+#. type: Title #
+#: YamlFrontMatter.md:1 YamlFrontMatter.md:34
+#, markdown-text, no-wrap
+msgid "YAML: does it fit in Markdown?"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: wrappedtext
+#: YamlFrontMatter.md:1
+#, no-wrap
+msgid "this is really a single line of text despite appearances\n"
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter.md:38
+#, markdown-text
+msgid ""
+"Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a "
+"standard format: Markdown with YAML Front Matter."
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter.md:40
+#, markdown-text
+msgid "Why"
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter.md:43
+#, markdown-text
+msgid "Because blog posts need metadata!"
+msgstr ""
diff --git a/t/fmt/txt-markdown/YamlFrontMatter.trans b/t/fmt/txt-markdown/YamlFrontMatter.trans
new file mode 100644
index 0000000..dee5252
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter.trans
@@ -0,0 +1,37 @@
+---
+author: TEST
+bool: false
+include_newlines: "EXACTLY AS YOU SEE\nWILL APPEAR THESE THREE\nLINES OF POETRY\n"
+people:
+ -
+ alive: true
+ hobbies:
+ - 'AMATEUR RADIO'
+ - 'PET ADOPTION & FOSTERING'
+ - PUZZLE
+ job: DEVELOPER
+ name: "JOHN D'VLOPER"
+ -
+ hobbies:
+ - 'ICE SKATING'
+ - 'WATER POLO'
+ - CAVING
+ job: DEVELOPER
+ name: 'TABITHA BITUMEN'
+tags:
+ - YAML
+ - MARKDOWN
+title: 'YAML: DOES IT FIT IN MARKDOWN?'
+wrappedtext: "THIS IS REALLY A SINGLE LINE OF TEXT DESPITE APPEARANCES\n"
+---
+
+# YAML: DOES IT FIT IN MARKDOWN?
+
+LOTS OF STATIC SITE GENERATORS LIKE JEKYLL, HUGO, LEKTOR AND MORE USE A
+STANDARD FORMAT: MARKDOWN WITH YAML FRONT MATTER.
+
+WHY
+---
+
+BECAUSE BLOG POSTS NEED METADATA!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.md b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.md
new file mode 100644
index 0000000..8b21706
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.md
@@ -0,0 +1,38 @@
+---
+title: "YAML: does it fit in Markdown?"
+subtitle: "I mean: why not?"
+author: test
+numeric_ignored_value: 22
+tags:
+- yaml
+- markdown
+emptytag:
+people:
+ -
+ name: John D'vloper
+ title: Developer
+ hobbies:
+ - Amateur radio
+ - Pet adoption & fostering
+ - Puzzle
+ -
+ name: Tabitha Bitumen
+ title: Developer
+ hobbies:
+ - Ice skating
+ - Water polo
+ - Caving
+paragraph: >
+ Some text to translate, please.
+---
+
+# YAML: does it fit in Markdown?
+
+Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use
+a standard format: Markdown with YAML Front Matter.
+
+Why
+---
+
+Because blog posts need metadata!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.norm b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.norm
new file mode 100644
index 0000000..d58bfc2
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.norm
@@ -0,0 +1,37 @@
+---
+author: test
+emptytag:
+numeric_ignored_value: 22
+paragraph: "Some text to translate, please.\n"
+people:
+ -
+ hobbies:
+ - 'Amateur radio'
+ - 'Pet adoption & fostering'
+ - Puzzle
+ name: "John D'vloper"
+ title: Developer
+ -
+ hobbies:
+ - 'Ice skating'
+ - 'Water polo'
+ - Caving
+ name: 'Tabitha Bitumen'
+ title: Developer
+subtitle: 'I mean: why not?'
+tags:
+ - yaml
+ - markdown
+title: 'YAML: does it fit in Markdown?'
+---
+
+# YAML: does it fit in Markdown?
+
+Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a
+standard format: Markdown with YAML Front Matter.
+
+Why
+---
+
+Because blog posts need metadata!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.po b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.po
new file mode 100644
index 0000000..f015725
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.po
@@ -0,0 +1,60 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 19:10+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Yaml Front Matter Hash Value: paragraph
+#: YamlFrontMatter_KeysPaths.md:1
+#, no-wrap
+msgid "Some text to translate, please.\n"
+msgstr "SOME TEXT TO TRANSLATE, PLEASE.\n"
+
+#. type: Yaml Front Matter Hash Value: people title
+#: YamlFrontMatter_KeysPaths.md:1
+#, no-wrap
+msgid "Developer"
+msgstr "DEVELOPER"
+
+#. type: Yaml Front Matter Hash Value: subtitle
+#: YamlFrontMatter_KeysPaths.md:1
+#, no-wrap
+msgid "I mean: why not?"
+msgstr "I MEAN: WHY NOT?"
+
+#. type: Title #
+#: YamlFrontMatter_KeysPaths.md:29
+#, no-wrap
+msgid "YAML: does it fit in Markdown?"
+msgstr "YAML: DOES IT FIT IN MARKDOWN?"
+
+#. type: Plain text
+#: YamlFrontMatter_KeysPaths.md:33
+msgid ""
+"Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a "
+"standard format: Markdown with YAML Front Matter."
+msgstr ""
+"LOTS OF STATIC SITE GENERATORS LIKE JEKYLL, HUGO, LEKTOR AND MORE USE A "
+"STANDARD FORMAT: MARKDOWN WITH YAML FRONT MATTER."
+
+#. type: Plain text
+#: YamlFrontMatter_KeysPaths.md:35
+msgid "Why"
+msgstr "WHY"
+
+#. type: Plain text
+#: YamlFrontMatter_KeysPaths.md:38
+msgid "Because blog posts need metadata!"
+msgstr "BECAUSE BLOG POSTS NEED METADATA!"
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.pot b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.pot
new file mode 100644
index 0000000..8f56bfa
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.pot
@@ -0,0 +1,61 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 19:10+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: paragraph
+#: YamlFrontMatter_KeysPaths.md:1
+#, no-wrap
+msgid "Some text to translate, please.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: people title
+#: YamlFrontMatter_KeysPaths.md:1
+#, no-wrap
+msgid "Developer"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: subtitle
+#: YamlFrontMatter_KeysPaths.md:1
+#, no-wrap
+msgid "I mean: why not?"
+msgstr ""
+
+#. type: Title #
+#: YamlFrontMatter_KeysPaths.md:29
+#, markdown-text, no-wrap
+msgid "YAML: does it fit in Markdown?"
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_KeysPaths.md:33
+#, markdown-text
+msgid ""
+"Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a "
+"standard format: Markdown with YAML Front Matter."
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_KeysPaths.md:35
+#, markdown-text
+msgid "Why"
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_KeysPaths.md:38
+#, markdown-text
+msgid "Because blog posts need metadata!"
+msgstr ""
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.trans b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.trans
new file mode 100644
index 0000000..1cc159e
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_KeysPaths.trans
@@ -0,0 +1,37 @@
+---
+author: test
+emptytag:
+numeric_ignored_value: 22
+paragraph: "SOME TEXT TO TRANSLATE, PLEASE.\n"
+people:
+ -
+ hobbies:
+ - 'Amateur radio'
+ - 'Pet adoption & fostering'
+ - Puzzle
+ name: "John D'vloper"
+ title: DEVELOPER
+ -
+ hobbies:
+ - 'Ice skating'
+ - 'Water polo'
+ - Caving
+ name: 'Tabitha Bitumen'
+ title: DEVELOPER
+subtitle: 'I MEAN: WHY NOT?'
+tags:
+ - yaml
+ - markdown
+title: 'YAML: does it fit in Markdown?'
+---
+
+# YAML: DOES IT FIT IN MARKDOWN?
+
+LOTS OF STATIC SITE GENERATORS LIKE JEKYLL, HUGO, LEKTOR AND MORE USE A
+STANDARD FORMAT: MARKDOWN WITH YAML FRONT MATTER.
+
+WHY
+---
+
+BECAUSE BLOG POSTS NEED METADATA!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_Options.md b/t/fmt/txt-markdown/YamlFrontMatter_Options.md
new file mode 100644
index 0000000..a3b9a62
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_Options.md
@@ -0,0 +1,37 @@
+---
+title: "YAML: does it fit in Markdown?"
+subtitle: "I mean: why not?"
+author: test
+numeric_ignored_value: 22
+tags:
+- yaml
+- markdown
+people:
+ -
+ name: John D'vloper
+ title: Developer
+ hobbies:
+ - Amateur radio
+ - Pet adoption & fostering
+ - Puzzle
+ -
+ name: Tabitha Bitumen
+ title: Developer
+ hobbies:
+ - Ice skating
+ - Water polo
+ - Caving
+paragraph: >
+ Some text to translate, please.
+---
+
+# YAML: does it fit in Markdown?
+
+Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use
+a standard format: Markdown with YAML Front Matter.
+
+Why
+---
+
+Because blog posts need metadata!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_Options.norm b/t/fmt/txt-markdown/YamlFrontMatter_Options.norm
new file mode 100644
index 0000000..03654cd
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_Options.norm
@@ -0,0 +1,36 @@
+---
+author: test
+numeric_ignored_value: 22
+paragraph: "Some text to translate, please.\n"
+people:
+ -
+ hobbies:
+ - 'Amateur radio'
+ - 'Pet adoption & fostering'
+ - Puzzle
+ name: "John D'vloper"
+ title: Developer
+ -
+ hobbies:
+ - 'Ice skating'
+ - 'Water polo'
+ - Caving
+ name: 'Tabitha Bitumen'
+ title: Developer
+subtitle: 'I mean: why not?'
+tags:
+ - yaml
+ - markdown
+title: 'YAML: does it fit in Markdown?'
+---
+
+# YAML: does it fit in Markdown?
+
+Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a
+standard format: Markdown with YAML Front Matter.
+
+Why
+---
+
+Because blog posts need metadata!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_Options.po b/t/fmt/txt-markdown/YamlFrontMatter_Options.po
new file mode 100644
index 0000000..e18ed1b
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_Options.po
@@ -0,0 +1,60 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 19:10+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@LI.ORG>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: TEXT/PLAIN; CHARSET=UTF-8\n"
+"Content-Transfer-Encoding: 8BIT\n"
+
+#. type: Yaml Front Matter Hash Value: paragraph
+#: YamlFrontMatter_Options.md:1
+#, no-wrap
+msgid "Some text to translate, please.\n"
+msgstr "SOME TEXT TO TRANSLATE, PLEASE.\n"
+
+#. type: Yaml Front Matter Hash Value: people title
+#: YamlFrontMatter_Options.md:1
+#, no-wrap
+msgid "Developer"
+msgstr "DEVELOPER"
+
+#. type: Yaml Front Matter Hash Value: subtitle
+#: YamlFrontMatter_Options.md:1
+#, no-wrap
+msgid "I mean: why not?"
+msgstr "I MEAN: WHY NOT?"
+
+#. type: Title #
+#: YamlFrontMatter_Options.md:1 YamlFrontMatter_Options.md:28
+#, no-wrap
+msgid "YAML: does it fit in Markdown?"
+msgstr "YAML: DOES IT FIT IN MARKDOWN?"
+
+#. type: Plain text
+#: YamlFrontMatter_Options.md:32
+msgid ""
+"Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a "
+"standard format: Markdown with YAML Front Matter."
+msgstr ""
+"LOTS OF STATIC SITE GENERATORS LIKE JEKYLL, HUGO, LEKTOR AND MORE USE A "
+"STANDARD FORMAT: MARKDOWN WITH YAML FRONT MATTER."
+
+#. type: Plain text
+#: YamlFrontMatter_Options.md:34
+msgid "Why"
+msgstr "WHY"
+
+#. type: Plain text
+#: YamlFrontMatter_Options.md:37
+msgid "Because blog posts need metadata!"
+msgstr "BECAUSE BLOG POSTS NEED METADATA!"
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_Options.pot b/t/fmt/txt-markdown/YamlFrontMatter_Options.pot
new file mode 100644
index 0000000..c048c34
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_Options.pot
@@ -0,0 +1,61 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-28 19:10+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: paragraph
+#: YamlFrontMatter_Options.md:1
+#, no-wrap
+msgid "Some text to translate, please.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: people title
+#: YamlFrontMatter_Options.md:1
+#, no-wrap
+msgid "Developer"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: subtitle
+#: YamlFrontMatter_Options.md:1
+#, no-wrap
+msgid "I mean: why not?"
+msgstr ""
+
+#. type: Title #
+#: YamlFrontMatter_Options.md:1 YamlFrontMatter_Options.md:28
+#, markdown-text, no-wrap
+msgid "YAML: does it fit in Markdown?"
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_Options.md:32
+#, markdown-text
+msgid ""
+"Lots of Static Site Generators like Jekyll, Hugo, Lektor and more use a "
+"standard format: Markdown with YAML Front Matter."
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_Options.md:34
+#, markdown-text
+msgid "Why"
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_Options.md:37
+#, markdown-text
+msgid "Because blog posts need metadata!"
+msgstr ""
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_Options.trans b/t/fmt/txt-markdown/YamlFrontMatter_Options.trans
new file mode 100644
index 0000000..0069809
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_Options.trans
@@ -0,0 +1,36 @@
+---
+author: test
+numeric_ignored_value: 22
+paragraph: "SOME TEXT TO TRANSLATE, PLEASE.\n"
+people:
+ -
+ hobbies:
+ - 'Amateur radio'
+ - 'Pet adoption & fostering'
+ - Puzzle
+ name: "John D'vloper"
+ title: DEVELOPER
+ -
+ hobbies:
+ - 'Ice skating'
+ - 'Water polo'
+ - Caving
+ name: 'Tabitha Bitumen'
+ title: DEVELOPER
+subtitle: 'I MEAN: WHY NOT?'
+tags:
+ - yaml
+ - markdown
+title: 'YAML: DOES IT FIT IN MARKDOWN?'
+---
+
+# YAML: DOES IT FIT IN MARKDOWN?
+
+LOTS OF STATIC SITE GENERATORS LIKE JEKYLL, HUGO, LEKTOR AND MORE USE A
+STANDARD FORMAT: MARKDOWN WITH YAML FRONT MATTER.
+
+WHY
+---
+
+BECAUSE BLOG POSTS NEED METADATA!
+
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_fake.md b/t/fmt/txt-markdown/YamlFrontMatter_fake.md
new file mode 100644
index 0000000..8b307f4
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_fake.md
@@ -0,0 +1,11 @@
+---
+
+This file begins with three dash, but not because there is a Yaml Front Matter.
+
+Intead, this file is a footer that should start with an horizontal ruler.
+
+third paragraph.
+
+---
+
+Why shouldn't pages be allowed to include horizontal rulers on top and then somewhere else?
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_fake.norm b/t/fmt/txt-markdown/YamlFrontMatter_fake.norm
new file mode 100644
index 0000000..0510e43
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_fake.norm
@@ -0,0 +1,13 @@
+---
+
+This file begins with three dash, but not because there is a Yaml Front
+Matter.
+
+Intead, this file is a footer that should start with an horizontal ruler.
+
+third paragraph.
+
+---
+
+Why shouldn't pages be allowed to include horizontal rulers on top and then
+somewhere else?
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_fake.norm.stderr b/t/fmt/txt-markdown/YamlFrontMatter_fake.norm.stderr
new file mode 100644
index 0000000..0c215ad
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_fake.norm.stderr
@@ -0,0 +1,2 @@
+po4a::text: Proceeding even if the YAML Front Matter could not be parsed. Remove the 'yfm_lenient' option for a stricter behavior.
+Ignored error: YAML::Tiny failed to classify line 'This file begins with three dash, but not because there is a Yaml Front Matter.'
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_fake.po b/t/fmt/txt-markdown/YamlFrontMatter_fake.po
new file mode 100644
index 0000000..e149e17
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_fake.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2022-07-09 16:12+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Plain text
+#: YamlFrontMatter_fake.md:4
+#, markdown-text
+msgid ""
+"This file begins with three dash, but not because there is a Yaml Front "
+"Matter."
+msgstr ""
+"tHIS FILE BEGINS WITH THREE DASH, BUT NOT BECAUSE THERE IS A yAML fRONT "
+"mATTER."
+
+#. type: Plain text
+#: YamlFrontMatter_fake.md:6
+#, markdown-text
+msgid "Intead, this file is a footer that should start with an horizontal ruler."
+msgstr "iNSTEAD, THIS FILE IS A FOOTET THAT SHOULD START WITH AN HORIZONTAL RULER."
+
+#. type: Plain text
+#: YamlFrontMatter_fake.md:8
+#, markdown-text
+msgid "third paragraph."
+msgstr "THIRD PARAGRAPH"
+
+#. type: Plain text
+#: YamlFrontMatter_fake.md:11
+#, markdown-text
+msgid ""
+"Why shouldn't pages be allowed to include horizontal rulers on top and then "
+"somewhere else?"
+msgstr ""
+"wHY SHOULDN'T PAGES BE ALLOWED TO INCLUDE HORIZONTAL RULERS ON TOP AND THEN "
+"SOMEWHERE ELSE?"
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_fake.pot b/t/fmt/txt-markdown/YamlFrontMatter_fake.pot
new file mode 100644
index 0000000..692cf4c
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_fake.pot
@@ -0,0 +1,45 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2022-07-09 16:04+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Plain text
+#: YamlFrontMatter_fake.md:4
+#, markdown-text
+msgid ""
+"This file begins with three dash, but not because there is a Yaml Front "
+"Matter."
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_fake.md:6
+#, markdown-text
+msgid "Intead, this file is a footer that should start with an horizontal ruler."
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_fake.md:8
+#, markdown-text
+msgid "third paragraph."
+msgstr ""
+
+#. type: Plain text
+#: YamlFrontMatter_fake.md:11
+#, markdown-text
+msgid ""
+"Why shouldn't pages be allowed to include horizontal rulers on top and then "
+"somewhere else?"
+msgstr ""
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_fake.trans b/t/fmt/txt-markdown/YamlFrontMatter_fake.trans
new file mode 100644
index 0000000..88cfa6b
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_fake.trans
@@ -0,0 +1,13 @@
+---
+
+tHIS FILE BEGINS WITH THREE DASH, BUT NOT BECAUSE THERE IS A yAML fRONT
+mATTER.
+
+iNSTEAD, THIS FILE IS A FOOTET THAT SHOULD START WITH AN HORIZONTAL RULER.
+
+THIRD PARAGRAPH
+
+---
+
+wHY SHOULDN'T PAGES BE ALLOWED TO INCLUDE HORIZONTAL RULERS ON TOP AND THEN
+SOMEWHERE ELSE?
diff --git a/t/fmt/txt-markdown/YamlFrontMatter_fake.trans.stderr b/t/fmt/txt-markdown/YamlFrontMatter_fake.trans.stderr
new file mode 100644
index 0000000..0c215ad
--- /dev/null
+++ b/t/fmt/txt-markdown/YamlFrontMatter_fake.trans.stderr
@@ -0,0 +1,2 @@
+po4a::text: Proceeding even if the YAML Front Matter could not be parsed. Remove the 'yfm_lenient' option for a stricter behavior.
+Ignored error: YAML::Tiny failed to classify line 'This file begins with three dash, but not because there is a Yaml Front Matter.'