Support rebase_relative_paths for commonmark based formats.

(Including `gfm`.)
This commit is contained in:
John MacFarlane 2021-05-28 13:58:44 -07:00
parent e72d2dd962
commit b6b2331fdc
3 changed files with 20 additions and 1 deletions

View file

@ -517,6 +517,7 @@ getAllExtensions f = universalExtensions <> getAll f
, Ext_attributes
, Ext_sourcepos
, Ext_yaml_metadata_block
, Ext_rebase_relative_paths
]
getAll "commonmark_x" = getAll "commonmark"
getAll "org" = autoIdExtensions <>

View file

@ -112,5 +112,7 @@ specFor opts = foldr ($) defaultSyntaxSpec exts
| isEnabled Ext_implicit_header_references opts ] ++
[ (footnoteSpec <>) | isEnabled Ext_footnotes opts ] ++
[ (definitionListSpec <>) | isEnabled Ext_definition_lists opts ] ++
[ (taskListSpec <>) | isEnabled Ext_task_lists opts ]
[ (taskListSpec <>) | isEnabled Ext_task_lists opts ] ++
[ (rebaseRelativePathsSpec <>)
| isEnabled Ext_rebase_relative_paths opts ]

View file

@ -42,3 +42,19 @@ A spider: [spider]
<h1 id="chapter-two">Chapter two</h1>
<p>A spider: <img src="command/chap2/spider.png" alt="spider" /></p>
```
```
% pandoc command/chap1/text.md command/chap2/text.md -f commonmark+rebase_relative_paths -t html
^D
<h1>Chapter one</h1>
<p>A spider: <img src="command/chap1/spider.png" alt="spider" /></p>
<p>Another spider: <img src="command/chap2/spider.png" alt="another spider" /></p>
<p>The moon: <img src="command/chap1/../../lalune.jpg" alt="moon" /></p>
<p>Link to <a href="command/chap1/spider.png">spider picture</a>.</p>
<p>URL left alone: <a href="https://pandoc.org/MANUAL.html">manual</a>.</p>
<p>Absolute path left alone: <a href="/foo/bar/baz.png">absolute</a>.</p>
<p>Link to fragment: <a href="#chapter-two">chapter two</a>.</p>
<p>Empty path: <a href="">empty</a>.</p>
<h1>Chapter two</h1>
<p>A spider: <img src="command/chap2/spider.png" alt="spider" /></p>
```