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