From 9f984ff26ac248a27212a37ab34754a2e9261e8c Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 7 Sep 2019 11:23:12 -0700 Subject: Replace Element and makeHierarchical with makeSections. Text.Pandoc.Shared: + Remove `Element` type [API change] + Remove `makeHierarchicalize` [API change] + Add `makeSections` [API change] + Export `deLink` [API change] Now that we have Divs, we can use them to represent the structure of sections, and we don't need a special Element type. `makeSections` reorganizes a block list, adding Divs with class `section` around sections, and adding numbering if needed. This change also fixes some longstanding issues recognizing section structure when the document contains Divs. Closes #3057, see also #997. All writers have been changed to use `makeSections`. Note that in the process we have reverted the change c1d058aeb1c6a331a2cc22786ffaab17f7118ccd made in response to #5168, which I'm not completely sure was a good idea. Lua modules have also been adjusted accordingly. Existing lua filters that use `hierarchicalize` will need to be rewritten to use `make_sections`. --- test/command/1710.md | 2 -- test/command/4016.md | 8 ++------ test/command/4690.md | 2 -- test/command/empty_paragraphs.md | 2 -- test/lua/module/pandoc-utils.lua | 13 +++++-------- test/writer.html4 | 1 - test/writer.html5 | 1 - 7 files changed, 7 insertions(+), 22 deletions(-) (limited to 'test') diff --git a/test/command/1710.md b/test/command/1710.md index 4d9c64b30..64d86cffe 100644 --- a/test/command/1710.md +++ b/test/command/1710.md @@ -56,7 +56,6 @@ ok ^D \begin{frame}{Slide one} \protect\hypertarget{slide-one}{} - \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{itemize} @@ -82,6 +81,5 @@ ok ok \end{column} \end{columns} - \end{frame} ``` diff --git a/test/command/4016.md b/test/command/4016.md index 5e4e35e0d..577ac1b09 100644 --- a/test/command/4016.md +++ b/test/command/4016.md @@ -15,32 +15,28 @@ pandoc -t beamer ^D \begin{frame}{Level 2 blocks} \protect\hypertarget{level-2-blocks}{} - \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{block}{Block one} - +\protect\hypertarget{block-one}{} \begin{itemize} \tightlist \item Item \end{itemize} - \end{block} \end{column} \begin{column}{0.6\textwidth} \begin{block}{Block two} - +\protect\hypertarget{block-two}{} \begin{itemize} \tightlist \item Item \end{itemize} - \end{block} \end{column} \end{columns} - \end{frame} ``` diff --git a/test/command/4690.md b/test/command/4690.md index deccfba13..9a46823cc 100644 --- a/test/command/4690.md +++ b/test/command/4690.md @@ -13,7 +13,6 @@ content2 ^D \begin{frame}{title} \protect\hypertarget{title}{} - \begin{columns}[T] \begin{column}{0.08\textwidth} content @@ -23,6 +22,5 @@ content content2 \end{column} \end{columns} - \end{frame} ``` diff --git a/test/command/empty_paragraphs.md b/test/command/empty_paragraphs.md index 001aaf1b0..14bd8d060 100644 --- a/test/command/empty_paragraphs.md +++ b/test/command/empty_paragraphs.md @@ -37,8 +37,6 @@ [Para [Str "hi"], Para [], Para [], Para [Str "lo"]] ^D

hi

- -

lo

``` diff --git a/test/lua/module/pandoc-utils.lua b/test/lua/module/pandoc-utils.lua index dc37ec354..963e70686 100644 --- a/test/lua/module/pandoc-utils.lua +++ b/test/lua/module/pandoc-utils.lua @@ -39,20 +39,17 @@ return { end) }, - group 'hierarchicalize' { + group 'make_sections' { test('sanity check', function () local blks = { pandoc.Header(1, {pandoc.Str 'First'}), pandoc.Header(2, {pandoc.Str 'Second'}), pandoc.Header(2, {pandoc.Str 'Third'}), } - local hblks = utils.hierarchicalize(blks) - -- cannot create Elements directly; performing only an approximate - -- sanity checking instead of a full equality comparison. - assert.are_equal('Sec', hblks[1].t) - assert.are_equal('Sec', hblks[1].contents[1].t) - assert.are_equal(1, hblks[1].contents[2].numbering[1]) - assert.are_equal(2, hblks[1].contents[2].numbering[2]) + local hblks = utils.make_sections(true, 1, blks) + assert.are_equal('Div', hblks[1].t) + assert.are_equal('Header', hblks[1].content[1].t) + assert.are_equal('1', hblks[1].content[1].attributes['number']) end) }, diff --git a/test/writer.html4 b/test/writer.html4 index 6882d6b6c..fdfb56f15 100644 --- a/test/writer.html4 +++ b/test/writer.html4 @@ -442,7 +442,6 @@ Blah
  • Escaped $: $73 this should be emphasized 23$.
  • Here’s a LaTeX table:

    -

    Special Characters

    Here is some unicode:

    diff --git a/test/writer.html5 b/test/writer.html5 index 9b0f19b64..35772350c 100644 --- a/test/writer.html5 +++ b/test/writer.html5 @@ -445,7 +445,6 @@ Blah
  • Escaped $: $73 this should be emphasized 23$.
  • Here’s a LaTeX table:

    -

    Special Characters

    Here is some unicode:

    -- cgit v1.2.3