aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2022-09-06 20:54:06 -0700
committerJohn MacFarlane <[email protected]>2022-09-06 21:23:59 -0700
commit1ff6afdec8e0def4445026262ec941c70d6f3d07 (patch)
treeec808bcd485548141e3e21d09cbaa24931497aa6 /test
parent47dcb5720e6f3bb334df5fb58b0fbe32c062a4a4 (diff)
Add prefixes to identifiers with `--file-scope`.multifile
This change only affects the case where `--file-scope` is used and more than one file is specified on the command line. In this case, identifiers will be prefixed with a string derived from the file path, to disambiguate them. For example, an identifier `foo` in `contents/file1.txt` will become `contents__file1.txt__foo`. Links will be adjusted accordingly: if `file2.txt` links to `file1.txt#foo`, then the link will be changed to point to `#file1.txt__foo`. Similarly, a link to `file1.txt` will point to `#file1.txt`. A Div with an identifier derived from the file path will be added around each file's content, so that links to files will still work. Closes #6384. [API change]: Text.Pandoc.Shared exports `textToIdentifier`.
Diffstat (limited to 'test')
-rw-r--r--test/command/6384.md16
-rw-r--r--test/command/file1.txt9
-rw-r--r--test/command/file2.txt5
3 files changed, 30 insertions, 0 deletions
diff --git a/test/command/6384.md b/test/command/6384.md
new file mode 100644
index 000000000..1be1c3e45
--- /dev/null
+++ b/test/command/6384.md
@@ -0,0 +1,16 @@
+```
+% pandoc --wrap=preserve --file-scope command/file1.txt command/file2.txt
+^D
+<div id="command__file1.txt">
+<h1 id="command__file1.txt__zed">Zed</h1>
+<p><a href="bar">foo</a>
+and <a href="#command__file1.txt__zed">Zed</a>
+and <a href="#command__file2.txt__zed">other Zed</a>
+and <a href="#command__file2.txt">other file</a>
+and <a href="c.md#zed">foreign Zed</a></p>
+</div>
+<div id="command__file2.txt">
+<h2 id="command__file2.txt__zed">Zed</h2>
+<p><a href="baz">foo</a></p>
+</div>
+```
diff --git a/test/command/file1.txt b/test/command/file1.txt
new file mode 100644
index 000000000..5416f3a6c
--- /dev/null
+++ b/test/command/file1.txt
@@ -0,0 +1,9 @@
+# Zed
+
+[foo]: bar
+
+[foo]
+and [Zed](#zed)
+and [other Zed](command/file2.txt#zed)
+and [other file](command/file2.txt)
+and [foreign Zed](c.md#zed)
diff --git a/test/command/file2.txt b/test/command/file2.txt
new file mode 100644
index 000000000..20ee06c8c
--- /dev/null
+++ b/test/command/file2.txt
@@ -0,0 +1,5 @@
+## Zed
+
+[foo]: baz
+
+[foo]