tools/pandoc-site: pass in generated toc from top-level filter
This commit is contained in:
parent
e2a322283a
commit
ae987b236b
@ -64,18 +64,17 @@ createTable alignment headers
|
|||||||
tocString = unpack . fromRight mempty . runPure . writeHtml5String def $ tocDoc
|
tocString = unpack . fromRight mempty . runPure . writeHtml5String def $ tocDoc
|
||||||
in RawBlock "html" (navBegin ++ "\n" ++ tocString ++ "\n" ++ navEnd)
|
in RawBlock "html" (navBegin ++ "\n" ++ tocString ++ "\n" ++ navEnd)
|
||||||
|
|
||||||
generateTOC :: [Block] -> TOCAlignment -> Block -> Block
|
generateTOC :: Block -> Block -> Block
|
||||||
generateTOC headers alignment x@(BulletList (( (( Plain ((Str "toc"):_)):_)):_))
|
generateTOC toc (BulletList (( (( Plain ((Str "toc"):_)):_)):_))
|
||||||
= createTable alignment . groupByHierarchy $ headers
|
= toc
|
||||||
generateTOC _ _ x = x
|
generateTOC _ x = x
|
||||||
|
|
||||||
tableOfContents :: TOCAlignment -> Pandoc -> Pandoc
|
tableOfContents :: TOCAlignment -> Pandoc -> Pandoc
|
||||||
|
tableOfContents TOCOff ast = walk ignoreTOC ast
|
||||||
tableOfContents alignment ast
|
tableOfContents alignment ast
|
||||||
= let headers = query collectHeaders ast
|
= let headers = query collectHeaders ast
|
||||||
tocGen = case alignment of
|
toc = createTable alignment . groupByHierarchy $ headers
|
||||||
TOCOff -> walk ignoreTOC
|
in walk (generateTOC toc) ast
|
||||||
_ -> walk (generateTOC headers alignment)
|
|
||||||
in tocGen $ ast
|
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = toJSONFilter (tableOfContents TOCRight)
|
main = toJSONFilter (tableOfContents TOCRight)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user