From 992f77c17c4c86b7f4836767457094a3a20cdc65 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 5 Dec 2019 09:54:18 -0800 Subject: Roll back part of of `--shift-heading-level-by` change. 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. --- src/Text/Pandoc/Shared.hs | 6 ------ 1 file changed, 6 deletions(-) (limited to 'src/Text') diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs index efb2e56dd..0e195d3da 100644 --- a/src/Text/Pandoc/Shared.hs +++ b/src/Text/Pandoc/Shared.hs @@ -641,12 +641,6 @@ headerShift n (Pandoc meta (Header m _ ils : bs)) | n < 0 , m + n == 0 = headerShift n $ B.setTitle (B.fromList ils) $ Pandoc meta bs -headerShift n (Pandoc meta bs) - | n > 0 - , not (null (docTitle meta)) - = Pandoc meta' (Header n nullAttr (docTitle meta) : bs') - where - Pandoc meta' bs' = headerShift n $ B.deleteMeta "title" $ Pandoc meta bs headerShift n (Pandoc meta bs) = Pandoc meta (walk shift bs) where shift :: Block -> Block -- cgit v1.2.3