992f77c17c
With positive heading shifts, starting in 2.8 this option caused metadata titles to be removed and changed to regular headings. This behavior is incompatible with the old behavior of `--base-header-level` and breaks old workflows, so with this commit we are rolling back this change. Now, there is an asymmetry in positive and negative heading level shifts: + With positive shifts, the metadata title stays the same and does not get changed to a heading in the body. + With negative shifts, a heading can be converted into the metadata title. I think this is a desirable combination of features, despite the asymmetry. One might, e.g., want to have a document with level-1 section headigs, but render it to HTML with level-2 headings, retaining the metadata title (which pandoc will render as a level-1 heading with the default template). Closes #5957. Revises #5615.
654 B
654 B
% pandoc --shift-heading-level-by 1 -t native -s
---
title: My title
...
# First heading
## Second
^D
Pandoc (Meta {unMeta = fromList [("title",MetaInlines [Str "My",Space,Str "title"])]})
[Header 2 ("first-heading",[],[]) [Str "First",Space,Str "heading"]
,Header 3 ("second",[],[]) [Str "Second"]]
% pandoc --shift-heading-level-by -1 -t native -s
---
title: Old title
...
# First heading
## Second
# Another top-level heading
^D
Pandoc (Meta {unMeta = fromList [("title",MetaInlines [Str "First",Space,Str "heading"])]})
[Header 1 ("second",[],[]) [Str "Second"]
,Para [Str "Another",Space,Str "top-level",Space,Str "heading"]]