pandoc-crossref 0.3.6.4 → 0.3.7.0
raw patch · 7 files changed
+158/−52 lines, 7 filesdep ~pandocdep ~pandoc-typesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: pandoc, pandoc-types
API changes (from Hackage documentation)
- Text.Pandoc.CrossRef: autoEqnLabels :: forall a_aAIE. ToMetaValue a_aAIE => a_aAIE -> Meta
+ Text.Pandoc.CrossRef: autoEqnLabels :: forall a_aB9l. ToMetaValue a_aB9l => a_aB9l -> Meta
- Text.Pandoc.CrossRef: autoSectionLabels :: forall a_aAI5. ToMetaValue a_aAI5 => a_aAI5 -> Meta
+ Text.Pandoc.CrossRef: autoSectionLabels :: forall a_aB8M. ToMetaValue a_aB8M => a_aB8M -> Meta
- Text.Pandoc.CrossRef: ccsDelim :: forall a_aAIB. ToMetaValue a_aAIB => a_aAIB -> Meta
+ Text.Pandoc.CrossRef: ccsDelim :: forall a_aB9i. ToMetaValue a_aB9i => a_aB9i -> Meta
- Text.Pandoc.CrossRef: ccsLabelSep :: forall a_aAIC. ToMetaValue a_aAIC => a_aAIC -> Meta
+ Text.Pandoc.CrossRef: ccsLabelSep :: forall a_aB9j. ToMetaValue a_aB9j => a_aB9j -> Meta
- Text.Pandoc.CrossRef: ccsTemplate :: forall a_aAIx. ToMetaValue a_aAIx => a_aAIx -> Meta
+ Text.Pandoc.CrossRef: ccsTemplate :: forall a_aB9e. ToMetaValue a_aB9e => a_aB9e -> Meta
- Text.Pandoc.CrossRef: chapDelim :: forall a_aAIl. ToMetaValue a_aAIl => a_aAIl -> Meta
+ Text.Pandoc.CrossRef: chapDelim :: forall a_aB92. ToMetaValue a_aB92 => a_aB92 -> Meta
- Text.Pandoc.CrossRef: chapters :: forall a_aB97. ToMetaValue a_aB97 => a_aB97 -> Meta
+ Text.Pandoc.CrossRef: chapters :: forall a_aBzO. ToMetaValue a_aBzO => a_aBzO -> Meta
- Text.Pandoc.CrossRef: chaptersDepth :: forall a_aAI2. ToMetaValue a_aAI2 => a_aAI2 -> Meta
+ Text.Pandoc.CrossRef: chaptersDepth :: forall a_aB8J. ToMetaValue a_aB8J => a_aB8J -> Meta
- Text.Pandoc.CrossRef: codeBlockCaptions :: forall a_aAI4. ToMetaValue a_aAI4 => a_aAI4 -> Meta
+ Text.Pandoc.CrossRef: codeBlockCaptions :: forall a_aB8L. ToMetaValue a_aB8L => a_aB8L -> Meta
- Text.Pandoc.CrossRef: cref :: forall a_aAI1. ToMetaValue a_aAI1 => a_aAI1 -> Meta
+ Text.Pandoc.CrossRef: cref :: forall a_aB8I. ToMetaValue a_aB8I => a_aB8I -> Meta
- Text.Pandoc.CrossRef: crossrefYaml :: forall a_aB95. ToMetaValue a_aB95 => a_aB95 -> Meta
+ Text.Pandoc.CrossRef: crossrefYaml :: forall a_aBzM. ToMetaValue a_aBzM => a_aBzM -> Meta
- Text.Pandoc.CrossRef: customLabel :: forall a_aAIA. ToMetaValue a_aAIA => a_aAIA -> Meta
+ Text.Pandoc.CrossRef: customLabel :: forall a_aB9h. ToMetaValue a_aB9h => a_aB9h -> Meta
- Text.Pandoc.CrossRef: eqLabels :: forall a_aB99. ToMetaValue a_aB99 => a_aB99 -> Meta
+ Text.Pandoc.CrossRef: eqLabels :: forall a_aBzQ. ToMetaValue a_aBzQ => a_aBzQ -> Meta
- Text.Pandoc.CrossRef: eqnPrefix :: forall a_aAI9. ToMetaValue a_aAI9 => a_aAI9 -> Meta
+ Text.Pandoc.CrossRef: eqnPrefix :: forall a_aB8Q. ToMetaValue a_aB8Q => a_aB8Q -> Meta
- Text.Pandoc.CrossRef: eqnPrefixTemplate :: forall a_aAIe. ToMetaValue a_aAIe => a_aAIe -> Meta
+ Text.Pandoc.CrossRef: eqnPrefixTemplate :: forall a_aB8V. ToMetaValue a_aB8V => a_aB8V -> Meta
- Text.Pandoc.CrossRef: figLabels :: forall a_aB98. ToMetaValue a_aB98 => a_aB98 -> Meta
+ Text.Pandoc.CrossRef: figLabels :: forall a_aBzP. ToMetaValue a_aBzP => a_aBzP -> Meta
- Text.Pandoc.CrossRef: figPrefix :: forall a_aAI8. ToMetaValue a_aAI8 => a_aAI8 -> Meta
+ Text.Pandoc.CrossRef: figPrefix :: forall a_aB8P. ToMetaValue a_aB8P => a_aB8P -> Meta
- Text.Pandoc.CrossRef: figPrefixTemplate :: forall a_aAId. ToMetaValue a_aAId => a_aAId -> Meta
+ Text.Pandoc.CrossRef: figPrefixTemplate :: forall a_aB8U. ToMetaValue a_aB8U => a_aB8U -> Meta
- Text.Pandoc.CrossRef: figureTemplate :: forall a_aAIu. ToMetaValue a_aAIu => a_aAIu -> Meta
+ Text.Pandoc.CrossRef: figureTemplate :: forall a_aB9b. ToMetaValue a_aB9b => a_aB9b -> Meta
- Text.Pandoc.CrossRef: figureTitle :: forall a_aB91. ToMetaValue a_aB91 => a_aB91 -> Meta
+ Text.Pandoc.CrossRef: figureTitle :: forall a_aBzI. ToMetaValue a_aBzI => a_aBzI -> Meta
- Text.Pandoc.CrossRef: lastDelim :: forall a_aAIo. ToMetaValue a_aAIo => a_aAIo -> Meta
+ Text.Pandoc.CrossRef: lastDelim :: forall a_aB95. ToMetaValue a_aB95 => a_aB95 -> Meta
- Text.Pandoc.CrossRef: linkReferences :: forall a_aAIG. ToMetaValue a_aAIG => a_aAIG -> Meta
+ Text.Pandoc.CrossRef: linkReferences :: forall a_aB9n. ToMetaValue a_aB9n => a_aB9n -> Meta
- Text.Pandoc.CrossRef: listingTemplate :: forall a_aAIz. ToMetaValue a_aAIz => a_aAIz -> Meta
+ Text.Pandoc.CrossRef: listingTemplate :: forall a_aB9g. ToMetaValue a_aB9g => a_aB9g -> Meta
- Text.Pandoc.CrossRef: listingTitle :: forall a_aB93. ToMetaValue a_aB93 => a_aB93 -> Meta
+ Text.Pandoc.CrossRef: listingTitle :: forall a_aBzK. ToMetaValue a_aBzK => a_aBzK -> Meta
- Text.Pandoc.CrossRef: listings :: forall a_aAI3. ToMetaValue a_aAI3 => a_aAI3 -> Meta
+ Text.Pandoc.CrossRef: listings :: forall a_aB8K. ToMetaValue a_aB8K => a_aB8K -> Meta
- Text.Pandoc.CrossRef: lofTitle :: forall a_aAIq. ToMetaValue a_aAIq => a_aAIq -> Meta
+ Text.Pandoc.CrossRef: lofTitle :: forall a_aB97. ToMetaValue a_aB97 => a_aB97 -> Meta
- Text.Pandoc.CrossRef: lolTitle :: forall a_aAIs. ToMetaValue a_aAIs => a_aAIs -> Meta
+ Text.Pandoc.CrossRef: lolTitle :: forall a_aB99. ToMetaValue a_aB99 => a_aB99 -> Meta
- Text.Pandoc.CrossRef: lotTitle :: forall a_aAIr. ToMetaValue a_aAIr => a_aAIr -> Meta
+ Text.Pandoc.CrossRef: lotTitle :: forall a_aB98. ToMetaValue a_aB98 => a_aB98 -> Meta
- Text.Pandoc.CrossRef: lstLabels :: forall a_aB9b. ToMetaValue a_aB9b => a_aB9b -> Meta
+ Text.Pandoc.CrossRef: lstLabels :: forall a_aBzS. ToMetaValue a_aBzS => a_aBzS -> Meta
- Text.Pandoc.CrossRef: lstPrefix :: forall a_aAIb. ToMetaValue a_aAIb => a_aAIb -> Meta
+ Text.Pandoc.CrossRef: lstPrefix :: forall a_aB8S. ToMetaValue a_aB8S => a_aB8S -> Meta
- Text.Pandoc.CrossRef: lstPrefixTemplate :: forall a_aAIg. ToMetaValue a_aAIg => a_aAIg -> Meta
+ Text.Pandoc.CrossRef: lstPrefixTemplate :: forall a_aB8X. ToMetaValue a_aB8X => a_aB8X -> Meta
- Text.Pandoc.CrossRef: nameInLink :: forall a_aAIH. ToMetaValue a_aAIH => a_aAIH -> Meta
+ Text.Pandoc.CrossRef: nameInLink :: forall a_aB9o. ToMetaValue a_aB9o => a_aB9o -> Meta
- Text.Pandoc.CrossRef: numberSections :: forall a_aAI6. ToMetaValue a_aAI6 => a_aAI6 -> Meta
+ Text.Pandoc.CrossRef: numberSections :: forall a_aB8N. ToMetaValue a_aB8N => a_aB8N -> Meta
- Text.Pandoc.CrossRef: outFormat :: forall a_aAIt. ToMetaValue a_aAIt => a_aAIt -> Meta
+ Text.Pandoc.CrossRef: outFormat :: forall a_aB9a. ToMetaValue a_aB9a => a_aB9a -> Meta
- Text.Pandoc.CrossRef: pairDelim :: forall a_aAIn. ToMetaValue a_aAIn => a_aAIn -> Meta
+ Text.Pandoc.CrossRef: pairDelim :: forall a_aB94. ToMetaValue a_aB94 => a_aB94 -> Meta
- Text.Pandoc.CrossRef: rangeDelim :: forall a_aAIm. ToMetaValue a_aAIm => a_aAIm -> Meta
+ Text.Pandoc.CrossRef: rangeDelim :: forall a_aB93. ToMetaValue a_aB93 => a_aB93 -> Meta
- Text.Pandoc.CrossRef: refDelim :: forall a_aAIp. ToMetaValue a_aAIp => a_aAIp -> Meta
+ Text.Pandoc.CrossRef: refDelim :: forall a_aB96. ToMetaValue a_aB96 => a_aB96 -> Meta
- Text.Pandoc.CrossRef: refIndexTemplate :: forall a_aAIi. ToMetaValue a_aAIi => a_aAIi -> Meta
+ Text.Pandoc.CrossRef: refIndexTemplate :: forall a_aB8Z. ToMetaValue a_aB8Z => a_aB8Z -> Meta
- Text.Pandoc.CrossRef: secHeaderDelim :: forall a_aB9d. ToMetaValue a_aB9d => a_aB9d -> Meta
+ Text.Pandoc.CrossRef: secHeaderDelim :: forall a_aBzU. ToMetaValue a_aBzU => a_aBzU -> Meta
- Text.Pandoc.CrossRef: secHeaderTemplate :: forall a_aAIk. ToMetaValue a_aAIk => a_aAIk -> Meta
+ Text.Pandoc.CrossRef: secHeaderTemplate :: forall a_aB91. ToMetaValue a_aB91 => a_aB91 -> Meta
- Text.Pandoc.CrossRef: secLabels :: forall a_aB9c. ToMetaValue a_aB9c => a_aB9c -> Meta
+ Text.Pandoc.CrossRef: secLabels :: forall a_aBzT. ToMetaValue a_aBzT => a_aBzT -> Meta
- Text.Pandoc.CrossRef: secPrefix :: forall a_aAIc. ToMetaValue a_aAIc => a_aAIc -> Meta
+ Text.Pandoc.CrossRef: secPrefix :: forall a_aB8T. ToMetaValue a_aB8T => a_aB8T -> Meta
- Text.Pandoc.CrossRef: secPrefixTemplate :: forall a_aAIh. ToMetaValue a_aAIh => a_aAIh -> Meta
+ Text.Pandoc.CrossRef: secPrefixTemplate :: forall a_aB8Y. ToMetaValue a_aB8Y => a_aB8Y -> Meta
- Text.Pandoc.CrossRef: sectionsDepth :: forall a_aAI7. ToMetaValue a_aAI7 => a_aAI7 -> Meta
+ Text.Pandoc.CrossRef: sectionsDepth :: forall a_aB8O. ToMetaValue a_aB8O => a_aB8O -> Meta
- Text.Pandoc.CrossRef: subfigGrid :: forall a_aAIF. ToMetaValue a_aAIF => a_aAIF -> Meta
+ Text.Pandoc.CrossRef: subfigGrid :: forall a_aB9m. ToMetaValue a_aB9m => a_aB9m -> Meta
- Text.Pandoc.CrossRef: subfigLabels :: forall a_aB96. ToMetaValue a_aB96 => a_aB96 -> Meta
+ Text.Pandoc.CrossRef: subfigLabels :: forall a_aBzN. ToMetaValue a_aBzN => a_aBzN -> Meta
- Text.Pandoc.CrossRef: subfigureChildTemplate :: forall a_aAIw. ToMetaValue a_aAIw => a_aAIw -> Meta
+ Text.Pandoc.CrossRef: subfigureChildTemplate :: forall a_aB9d. ToMetaValue a_aB9d => a_aB9d -> Meta
- Text.Pandoc.CrossRef: subfigureRefIndexTemplate :: forall a_aAIj. ToMetaValue a_aAIj => a_aAIj -> Meta
+ Text.Pandoc.CrossRef: subfigureRefIndexTemplate :: forall a_aB90. ToMetaValue a_aB90 => a_aB90 -> Meta
- Text.Pandoc.CrossRef: subfigureTemplate :: forall a_aAIv. ToMetaValue a_aAIv => a_aAIv -> Meta
+ Text.Pandoc.CrossRef: subfigureTemplate :: forall a_aB9c. ToMetaValue a_aB9c => a_aB9c -> Meta
- Text.Pandoc.CrossRef: tableEqns :: forall a_aAID. ToMetaValue a_aAID => a_aAID -> Meta
+ Text.Pandoc.CrossRef: tableEqns :: forall a_aB9k. ToMetaValue a_aB9k => a_aB9k -> Meta
- Text.Pandoc.CrossRef: tableTemplate :: forall a_aAIy. ToMetaValue a_aAIy => a_aAIy -> Meta
+ Text.Pandoc.CrossRef: tableTemplate :: forall a_aB9f. ToMetaValue a_aB9f => a_aB9f -> Meta
- Text.Pandoc.CrossRef: tableTitle :: forall a_aB92. ToMetaValue a_aB92 => a_aB92 -> Meta
+ Text.Pandoc.CrossRef: tableTitle :: forall a_aBzJ. ToMetaValue a_aBzJ => a_aBzJ -> Meta
- Text.Pandoc.CrossRef: tblLabels :: forall a_aB9a. ToMetaValue a_aB9a => a_aB9a -> Meta
+ Text.Pandoc.CrossRef: tblLabels :: forall a_aBzR. ToMetaValue a_aBzR => a_aBzR -> Meta
- Text.Pandoc.CrossRef: tblPrefix :: forall a_aAIa. ToMetaValue a_aAIa => a_aAIa -> Meta
+ Text.Pandoc.CrossRef: tblPrefix :: forall a_aB8R. ToMetaValue a_aB8R => a_aB8R -> Meta
- Text.Pandoc.CrossRef: tblPrefixTemplate :: forall a_aAIf. ToMetaValue a_aAIf => a_aAIf -> Meta
+ Text.Pandoc.CrossRef: tblPrefixTemplate :: forall a_aB8W. ToMetaValue a_aB8W => a_aB8W -> Meta
- Text.Pandoc.CrossRef: titleDelim :: forall a_aB94. ToMetaValue a_aB94 => a_aB94 -> Meta
+ Text.Pandoc.CrossRef: titleDelim :: forall a_aBzL. ToMetaValue a_aBzL => a_aBzL -> Meta
Files
- lib/Text/Pandoc/CrossRef.hs +0/−1
- lib/Text/Pandoc/CrossRef/References/Blocks.hs +47/−8
- lib/Text/Pandoc/CrossRef/Util/Util.hs +0/−1
- pandoc-crossref.cabal +11/−11
- test/demo-chapters.inc +48/−14
- test/demo.inc +48/−14
- test/test-pandoc-crossref.hs +4/−3
lib/Text/Pandoc/CrossRef.hs view
@@ -83,7 +83,6 @@ import Control.Monad.State import qualified Control.Monad.Reader as R import Text.Pandoc-import Data.Monoid ((<>)) import Text.Pandoc.CrossRef.References import Text.Pandoc.CrossRef.Util.Settings
lib/Text/Pandoc/CrossRef/References/Blocks.hs view
@@ -25,11 +25,11 @@ import Text.Pandoc.Definition import qualified Text.Pandoc.Builder as B-import Text.Pandoc.Shared (stringify)+import Text.Pandoc.Shared (stringify, blocksToInlines)+import Text.Pandoc.Walk (walk) import Control.Monad.State hiding (get, modify) import Data.List import Data.Maybe-import Data.Monoid import qualified Data.Map as M import qualified Data.Text as T import qualified Data.Text.Read as T@@ -55,6 +55,17 @@ = everywhere (mkT splitMath) | otherwise = id +simpleTable :: [Alignment] -> [ColWidth] -> [[[Block]]] -> Block+simpleTable align width bod = Table nullAttr noCaption (zip align width)+ noTableHead [mkBody bod] noTableFoot+ where+ mkBody xs = TableBody nullAttr (RowHeadColumns 0) [] (map mkRow xs)+ mkRow xs = Row nullAttr (map mkCell xs)+ mkCell xs = Cell nullAttr AlignDefault (RowSpan 0) (ColSpan 0) xs+ noCaption = Caption Nothing mempty+ noTableHead = TableHead nullAttr []+ noTableFoot = TableFoot nullAttr []+ replaceBlock :: Options -> Block -> WS (ReplacedResult Block) replaceBlock opts (Header n (label, cls, attrs) text') = do@@ -139,7 +150,8 @@ } toTable :: [Block] -> [Inline] -> [Block] toTable blks capt- | subfigGrid opts = [Table [] align widths [] $ map blkToRow blks, mkCaption opts "Image Caption" capt]+ | subfigGrid opts = [ simpleTable align (map ColWidth widths) (map blkToRow blks)+ , mkCaption opts "Image Caption" capt] | otherwise = blks <> [mkCaption opts "Image Caption" capt] where align | Para ils:_ <- blks = replicate (length $ mapMaybe getWidth ils) AlignCenter@@ -169,7 +181,7 @@ inlToCell (Image (id', cs, as) txt tgt) = Just [Para [Image (id', cs, setW as) txt tgt]] inlToCell _ = Nothing setW as = ("width", "100%"):filter ((/="width") . fst) as-replaceBlock opts (Div divOps@(label,_,attrs) [Table title align widths header cells])+replaceBlock opts (Div divOps@(label,_,attrs) [Table tattr (Caption short (btitle:rest)) colspec header cells foot]) | not $ null title , "tbl:" `T.isPrefixOf` label = do@@ -179,7 +191,22 @@ f | isLatexFormat f -> RawInline (Format "latex") (mkLaTeXLabel label) : title _ -> applyTemplate idxStr title $ tableTemplate opts- replaceNoRecurse $ Div divOps [Table title' align widths header cells]+ caption' = Caption short (walkReplaceInlines title' title btitle:rest)+ replaceNoRecurse $ Div divOps [Table tattr caption' colspec header cells foot]+ where title = blocksToInlines [btitle]+replaceBlock opts (Table divOps@(label,_,attrs) (Caption short (btitle:rest)) colspec header cells foot)+ | not $ null title+ , "tbl:" `T.isPrefixOf` label+ = do+ idxStr <- replaceAttr opts (Right label) (lookup "label" attrs) title tblRefs+ let title' =+ case outFormat opts of+ f | isLatexFormat f ->+ RawInline (Format "latex") (mkLaTeXLabel label) : title+ _ -> applyTemplate idxStr title $ tableTemplate opts+ caption' = Caption short (walkReplaceInlines title' title btitle:rest)+ replaceNoRecurse $ Table divOps caption' colspec header cells foot+ where title = blocksToInlines [btitle] replaceBlock opts cb@(CodeBlock (label, classes, attrs) code) | not $ T.null label , "lst:" `T.isPrefixOf` label@@ -241,7 +268,9 @@ , tableEqns opts = do (eq', idx) <- replaceEqn opts attrs eq- replaceNoRecurse $ Div attrs [Table [] [AlignCenter, AlignRight] [0.9, 0.09] [] [[[Plain [Math DisplayMath eq']], [Plain [Math DisplayMath $ "(" <> idx <> ")"]]]]]+ replaceNoRecurse $ Div attrs [+ simpleTable [AlignCenter, AlignRight] [ColWidth 0.9, ColWidth 0.09]+ [[[Plain [Math DisplayMath eq']], [Plain [Math DisplayMath $ "(" <> idx <> ")"]]]]] replaceBlock _ _ = noReplaceRecurse replaceEqn :: Options -> Attr -> T.Text -> WS (T.Text, T.Text)@@ -294,11 +323,21 @@ replaceSubfig _ x = return [x] divBlocks :: Block -> Block-divBlocks (Table title align widths header cells)+divBlocks (Table tattr (Caption short (btitle:rest)) colspec header cells foot) | not $ null title , Just label <- getRefLabel "tbl" [last title]- = Div (label,[],[]) [Table (dropWhileEnd isSpace $ init title) align widths header cells]+ = Div (label,[],[]) [+ Table tattr (Caption short $ walkReplaceInlines (dropWhileEnd isSpace (init title)) title btitle:rest) colspec header cells foot]+ where+ title = blocksToInlines [btitle] divBlocks x = x++walkReplaceInlines :: [Inline] -> [Inline] -> Block -> Block+walkReplaceInlines newTitle title = walk replaceInlines+ where+ replaceInlines xs+ | xs == title = newTitle+ | otherwise = xs splitMath :: [Block] -> [Block] splitMath (Para ils:xs)
lib/Text/Pandoc/CrossRef/Util/Util.hs view
@@ -33,7 +33,6 @@ import Data.Generics import Text.Pandoc.Writers.LaTeX import Data.Default-import Data.Monoid ((<>)) import qualified Data.Text as T intercalate' :: (Eq a, Monoid a, Foldable f) => a -> f a -> a
pandoc-crossref.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.2. -- -- see: https://github.com/sol/hpack ----- hash: f7cb34c672ba0593634354b36827e7739adae2afff9aa42987658d79b49c446a+-- hash: 232423e0b6a509d19ce5c9a2f9de39e0e1a56b2021f29f1ddec8cd41f4a15db8 name: pandoc-crossref-version: 0.3.6.4+version: 0.3.7.0 synopsis: Pandoc filter for cross-references description: pandoc-crossref is a pandoc filter for numbering figures, equations, tables and cross-references to them. category: Text@@ -104,8 +104,8 @@ , directory >=1 && <1.4 , filepath >=1.1 && <1.5 , mtl >=1.1 && <2.3- , pandoc >=2.9 && <2.10- , pandoc-types >=1.20 && <1.21+ , pandoc >=2.10 && <2.11+ , pandoc-types >=1.21 && <1.22 , roman-numerals ==0.5.* , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0@@ -135,9 +135,9 @@ , mtl >=1.1 && <2.3 , open-browser >=0.2 && <0.3 , optparse-applicative >=0.13 && <0.16- , pandoc >=2.9 && <2.10+ , pandoc >=2.10 && <2.11 , pandoc-crossref- , pandoc-types >=1.20 && <1.21+ , pandoc-types >=1.21 && <1.22 , roman-numerals ==0.5.* , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0@@ -163,9 +163,9 @@ , filepath >=1.1 && <1.5 , hspec >=2.4.4 && <3 , mtl >=1.1 && <2.3- , pandoc >=2.9 && <2.10+ , pandoc >=2.10 && <2.11 , pandoc-crossref- , pandoc-types >=1.20 && <1.21+ , pandoc-types >=1.21 && <1.22 , roman-numerals ==0.5.* , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0@@ -212,8 +212,8 @@ , filepath >=1.1 && <1.5 , hspec >=2.4.4 && <3 , mtl >=1.1 && <2.3- , pandoc >=2.9 && <2.10- , pandoc-types >=1.20 && <1.21+ , pandoc >=2.10 && <2.11+ , pandoc-types >=1.21 && <1.22 , roman-numerals ==0.5.* , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0
test/demo-chapters.inc view
@@ -22,21 +22,55 @@ ,Para [Str "Since",Space,Str "0.1.6.0",Space,Str "those",Space,Str "can",Space,Str "also",Space,Str "appear",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "paragraph",SoftBreak,Span ("eq:quadr",[],[]) [Math DisplayMath "a x^2 + b x^2 + c = 0\\qquad(2.2)"],Space,Str "like",Space,Str "this."] ,Header 1 ("sec:chapter-3.-tables",[],[]) [Str "Chapter",Space,Str "3.",Space,Str "Tables"] ,Div ("tbl:table1",[],[])- [Table [Emph [Str "Table",Space,Str "3.1"],Str ":",Space,Str "Table",Space,Str "example"] [AlignLeft,AlignLeft] [0.0,0.0]- [[Plain [Str "First",Space,Str "Header"]]- ,[Plain [Str "Second",Space,Str "Header"]]]- [[[Plain [Str "Content",Space,Str "Cell"]]- ,[Plain [Str "Content",Space,Str "Cell"]]]- ,[[Plain [Str "Content",Space,Str "Cell"]]- ,[Plain [Str "Content",Space,Str "Cell"]]]]]+ [Table ("",[],[]) (Caption Nothing+ [Plain [Emph [Str "Table",Space,Str "3.1"],Str ":",Space,Str "Table",Space,Str "example"]])+ [(AlignLeft,ColWidthDefault)+ ,(AlignLeft,ColWidthDefault)]+ (TableHead ("",[],[])+ [Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "First",Space,Str "Header"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Second",Space,Str "Header"]]]])+ [(TableBody ("",[],[]) (RowHeadColumns 0)+ []+ [Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]]+ ,Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]]])]+ (TableFoot ("",[],[])+ [])] ,Para [Str "Table",Space,Str "without",Space,Str "caption:"]- ,Table [] [AlignLeft,AlignLeft] [0.0,0.0]- [[Plain [Str "First",Space,Str "Header"]]- ,[Plain [Str "Second",Space,Str "Header"]]]- [[[Plain [Str "Content",Space,Str "Cell"]]- ,[Plain [Str "Content",Space,Str "Cell"]]]- ,[[Plain [Str "Content",Space,Str "Cell"]]- ,[Plain [Str "Content",Space,Str "Cell"]]]]+ ,Table ("",[],[]) (Caption Nothing+ [])+ [(AlignLeft,ColWidthDefault)+ ,(AlignLeft,ColWidthDefault)]+ (TableHead ("",[],[])+ [Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "First",Space,Str "Header"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Second",Space,Str "Header"]]]])+ [(TableBody ("",[],[]) (RowHeadColumns 0)+ []+ [Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]]+ ,Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]]])]+ (TableFoot ("",[],[])+ []) ,Header 1 ("sec:chapter-4.-code-blocks",[],[]) [Str "Chapter",Space,Str "4.",Space,Str "Code",Space,Str "blocks"] ,Para [Str "There",Space,Str "are",Space,Str "a",Space,Str "couple",Space,Str "options",Space,Str "for",Space,Str "code",Space,Str "block",Space,Str "labels.",Space,Str "Those",Space,Str "work",Space,Str "only",Space,Str "if",Space,Str "code",Space,Str "block",Space,Str "id",Space,Str "starts",Space,Str "with",Space,Code ("",[],[]) "lst:",Str ",",Space,Str "e.g.\160",Code ("",[],[]) "{#lst:label}"] ,Header 2 ("sec:caption-attr",[],[]) [Code ("",[],[]) "caption",Space,Str "attribute"]
test/demo.inc view
@@ -22,21 +22,55 @@ ,Para [Str "Since",Space,Str "0.1.6.0",Space,Str "those",Space,Str "can",Space,Str "also",Space,Str "appear",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "paragraph",SoftBreak,Span ("eq:quadr",[],[]) [Math DisplayMath "a x^2 + b x^2 + c = 0\\qquad(2)"],Space,Str "like",Space,Str "this."] ,Header 1 ("sec:chapter-3.-tables",[],[]) [Str "Chapter",Space,Str "3.",Space,Str "Tables"] ,Div ("tbl:table1",[],[])- [Table [Emph [Str "Table",Space,Str "1"],Str ":",Space,Str "Table",Space,Str "example"] [AlignLeft,AlignLeft] [0.0,0.0]- [[Plain [Str "First",Space,Str "Header"]]- ,[Plain [Str "Second",Space,Str "Header"]]]- [[[Plain [Str "Content",Space,Str "Cell"]]- ,[Plain [Str "Content",Space,Str "Cell"]]]- ,[[Plain [Str "Content",Space,Str "Cell"]]- ,[Plain [Str "Content",Space,Str "Cell"]]]]]+ [Table ("",[],[]) (Caption Nothing+ [Plain [Emph [Str "Table",Space,Str "1"],Str ":",Space,Str "Table",Space,Str "example"]])+ [(AlignLeft,ColWidthDefault)+ ,(AlignLeft,ColWidthDefault)]+ (TableHead ("",[],[])+ [Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "First",Space,Str "Header"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Second",Space,Str "Header"]]]])+ [(TableBody ("",[],[]) (RowHeadColumns 0)+ []+ [Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]]+ ,Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]]])]+ (TableFoot ("",[],[])+ [])] ,Para [Str "Table",Space,Str "without",Space,Str "caption:"]- ,Table [] [AlignLeft,AlignLeft] [0.0,0.0]- [[Plain [Str "First",Space,Str "Header"]]- ,[Plain [Str "Second",Space,Str "Header"]]]- [[[Plain [Str "Content",Space,Str "Cell"]]- ,[Plain [Str "Content",Space,Str "Cell"]]]- ,[[Plain [Str "Content",Space,Str "Cell"]]- ,[Plain [Str "Content",Space,Str "Cell"]]]]+ ,Table ("",[],[]) (Caption Nothing+ [])+ [(AlignLeft,ColWidthDefault)+ ,(AlignLeft,ColWidthDefault)]+ (TableHead ("",[],[])+ [Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "First",Space,Str "Header"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Second",Space,Str "Header"]]]])+ [(TableBody ("",[],[]) (RowHeadColumns 0)+ []+ [Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]]+ ,Row ("",[],[])+ [Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]+ ,Cell ("",[],[]) AlignDefault (RowSpan 1) (ColSpan 1)+ [Plain [Str "Content",Space,Str "Cell"]]]])]+ (TableFoot ("",[],[])+ []) ,Header 1 ("sec:chapter-4.-code-blocks",[],[]) [Str "Chapter",Space,Str "4.",Space,Str "Code",Space,Str "blocks"] ,Para [Str "There",Space,Str "are",Space,Str "a",Space,Str "couple",Space,Str "options",Space,Str "for",Space,Str "code",Space,Str "block",Space,Str "labels.",Space,Str "Those",Space,Str "work",Space,Str "only",Space,Str "if",Space,Str "code",Space,Str "block",Space,Str "id",Space,Str "starts",Space,Str "with",Space,Code ("",[],[]) "lst:",Str ",",Space,Str "e.g.\160",Code ("",[],[]) "{#lst:label}"] ,Header 2 ("sec:caption-attr",[],[]) [Code ("",[],[]) "caption",Space,Str "attribute"]
test/test-pandoc-crossref.hs view
@@ -387,9 +387,10 @@ equation' eq ref = displayMath eq <> ref' "eq" ref table' :: T.Text -> T.Text -> Blocks-table' title ref = table (text title <> ref' "tbl" ref) []- [para $ str "H1", para $ str "H2"]- [[para $ str "C1", para $ str "C2"]]+table' title ref = table (simpleCaption . plain $ text title <> ref' "tbl" ref) []+ (TableHead nullAttr [Row nullAttr $ map (Cell nullAttr AlignDefault (RowSpan 0) (ColSpan 0) . toList) [para $ str "H1", para $ str "H2"]])+ [TableBody nullAttr (RowHeadColumns 0) [] [Row nullAttr $ map (Cell nullAttr AlignDefault (RowSpan 0) (ColSpan 0) . toList) [para $ str "C1", para $ str "C2"]]]+ (TableFoot nullAttr []) codeBlock' :: T.Text -> T.Text -> Blocks codeBlock' title ref = codeBlockWith