diff --git a/MANUAL.txt b/MANUAL.txt index b14796c74..af089caa5 100644 --- a/MANUAL.txt +++ b/MANUAL.txt @@ -493,14 +493,15 @@ header when requesting a document from a URL: headings become level 1 headings, and level 3 headings become level 2 headings. Headings cannot have a level less than 1, so a heading that would be shifted below level 1 - becomes a regular paragraph. Exception: with a shift of -1, - a level-1 heading at the beginning of the document - replaces the metadata title. Conversely, with a shift - of +1, a nonempty metadata title becomes a level-1 heading at - the beginning of the document. `--shift-heading-level-by=-1` + becomes a regular paragraph. Exception: with a shift of -N, + a level-N heading at the beginning of the document + replaces the metadata title. `--shift-heading-level-by=-1` is a good choice when converting HTML or Markdown documents that use an initial level-1 heading for the document title and - level-2+ headings for sections. + level-2+ headings for sections. `--shift-heading-level-by=1` + may be a good choice for converting Markdown documents that + use level-1 headings for sections to HTML, since pandoc uses + a level-1 heading to render the document title. `--base-header-level=`*NUMBER* 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 diff --git a/test/command/shift-heading-level-by.md b/test/command/shift-heading-level-by.md index 1d8b8bdd0..323783f24 100644 --- a/test/command/shift-heading-level-by.md +++ b/test/command/shift-heading-level-by.md @@ -8,9 +8,8 @@ title: My title ## Second ^D -Pandoc (Meta {unMeta = fromList []}) -[Header 1 ("",[],[]) [Str "My",Space,Str "title"] -,Header 2 ("first-heading",[],[]) [Str "First",Space,Str "heading"] +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"]] ```