aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
AgeCommit message (Collapse)AuthorFilesLines
2020-03-29Clean up and simplify Text.Pandoc.Writers.Docx (#6229)Joseph C. Sible1-56/+48
* Use <|> to simplify the Semigroup instance * Use map instead of reimplementing it * Simplify isValidChar * Remove an unnecessary nested do block * Simplify pgContentWidth * Simplify addLang * Simplify newStyles * Avoid an unnecessary fmap in headerFooterEntries * Remove unnecessary monadicity from mkNumbering and mkAbstractNum * Use randomRs instead of constantly messing with the RNG state * Lift common functions out of ifs * Hoist not * Clarify withTextPropM and withParaPropM
2020-03-29Clean up some fmaps (#6226)Joseph C. Sible7-22/+22
* Avoid fmapping when we're just binding right after anyway * Clean up unnecessary fmaps in the LaTeX reader
2020-03-29Split the RNG so they don't end up equal again after 1 call to next (#6227)Joseph C. Sible1-5/+5
2020-03-29Docx reader: better error messages.John MacFarlane1-8/+12
Distinguish between docx parsing and docx container unpacking errors.
2020-03-28More cleanup (#6209)Joseph C. Sible1-4/+3
* Simplify by collapsing a do block into a single <$> * Remove an unnecessary variable: `all` takes any Foldable, so only blocksToInlines needs toList.
2020-03-28Simplify fixAuthors (#6223)Joseph C. Sible1-6/+1
2020-03-22Finer grained imports of Text.Pandoc.Class submodules (#6203)Albert Krewinkel89-111/+120
This should speed-up recompilation after changes in `Text.Pandoc.Class`, as the number of modules affected by a change will be smaller in general. It also offers faster insights into the parts of `T.P.Class` used within a module.
2020-03-22Text.Pandoc.Class: extract submodules PandocIO, PandocPureAlbert Krewinkel3-393/+446
2020-03-21Class: fix missing import when data files are not embeddedAlbert Krewinkel1-0/+3
2020-03-19Add to html5 attributes.John MacFarlane1-0/+7
Add: allow, autocapitalize, decoding, enterkeyhint, imagesizes, imagesrcset, loading.
2020-03-15Use implicit Prelude (#6187)Albert Krewinkel158-310/+2
* Use implicit Prelude The previous behavior was introduced as a fix for #4464. It seems that this change alone did not fix the issue, and `stack ghci` and `cabal repl` only work with GHC 8.4.1 or newer, as no custom Prelude is loaded for these versions. Given this, it seems cleaner to revert to the implicit Prelude. * PandocMonad: remove outdated check for base version Only base versions 4.9 and later are supported, the check for `MIN_VERSION_base(4,8,0)` is therefore unnecessary. * Always use custom prelude Previously, the custom prelude was used only with older GHC versions, as a workaround for problems with ghci. The ghci problems are resolved by replacing package `base` with `base-noprelude`, allowing for consistent use of the custom prelude across all GHC versions.
2020-03-15PandocMonad: remove outdated check for base versionAlbert Krewinkel1-6/+1
Only base versions 4.9 and later are supported, the check for `MIN_VERSION_base(4,8,0)` is therefore unnecessary.
2020-03-14Subdivide Text.Pandoc.Class into small modules (#6106)Albert Krewinkel3-695/+823
* Extract CommonState into submodule * Extract PandocMonad into submodule * PandocMonad: ensure all functions have Haddock documentation
2020-03-13Update copyright year (#6186)Albert Krewinkel134-147/+148
* Update copyright year * Copyright: add notes for Lua and Jira modules
2020-03-13Lua marshalling: Remove unused language extensionsAlbert Krewinkel4-8/+3
2020-03-13Jira reader: support colored inline text, indented listsAlbert Krewinkel1-0/+2
* Support for colored inlines has been added. * Lists are now allowed to be indented; i.e., lists are still recognized if list markers are preceded by spaces. Closes: #6183, #6184
2020-03-07Ms writer: fix definition lists so indent even when...John MacFarlane1-3/+4
paragraph indent is set to 0 (as is the default). Also ensure indent for display math that falls back to TeX.
2020-03-06Ms writer: use .QS/.QE instead of .RS/.RE for block quotes.John MacFarlane1-1/+1
2020-03-05Fix parsing of `\'` in man/ms readers.John MacFarlane1-1/+1
It was being parsed as a backtick. Closes #6175.
2020-03-05Fix parsing of `\.` in man/ms readers.John MacFarlane1-1/+1
Previously due to a typo it was being parsed as `` ` ``. Closes #6175.
2020-03-04EPUB writer: fix regression on detection of front/back/bodymatter.John MacFarlane1-1/+2
This bug caused sections with epub:type "dedication" to be misplaced in bodymatter instead of frontmatter as specified in the manual. The same problem would affect other epub:types. The pattern matching needed to be changed with the use of `makeSection`. Closes #6170.
2020-03-02PDF via wkhtmltopdf: put user-specified options last.John MacFarlane1-2/+2
Certain options (e.g. "cover") need to come after flags on the command line. Closes #6171.
2020-02-21Fix table alignment when heading begins with t.John MacFarlane1-1/+1
Due to a typo (`t` instead of `\t`) we were center aligning column headings that begin with a lowercase t! Closes #6153.
2020-02-19Text.Pandoc.App: set resource path at the beginning...John MacFarlane1-1/+2
...so it can affect things like include-in-header. See #5982.
2020-02-17Revert "Allow specifying string value in metadata using `!!literal` tag."John MacFarlane1-6/+4
This reverts commit 3493d6afaa6586c46898cf8bdb0c45bb70d31f28. This might be worth considering in the future, but let's not do it yet...the additional complexity needs a better justification.
2020-02-17Allow specifying string value in metadata using `!!literal` tag.John MacFarlane1-4/+6
This is experimental. Normally metadata values are interpreted as markdown, but if the !!literal tag is used they will be interpreted as plain strings. We need to consider whether this can still be implemented if we switch back from HsYAML to yaml for performance reasons.
2020-02-17Remove redundant `otherwise` guard in inlineToAsciiDoc (#6146)Ryan Scott1-1/+0
The `RawInline` case in `inlineToAsciiDoc` currenty looks like this: ```hs inlineToAsciiDoc _ il@(RawInline f s) | f == "asciidoc" = return $ literal s | otherwise = do report $ InlineNotRendered il return empty | otherwise = return empty ``` Notice how there are there are two overlapping `otherwise` guards. The second `otherwise` guard is completely unreachable, so this patch removes it.
2020-02-14Fixes: group biblatex citations even with prefix and suffix (#6058)Ethan Riley1-25/+42
Closes #5849. Previously biblatex citations were only grouped if there was no prefix. This patch allows them to be grouped in subgroups split by prefixes and suffixes, which allows better citation sorting.
2020-02-13A bit more cleanup (#6141)Joseph C. Sible5-34/+32
* Remove unnecessary fmaps and only do toMilliseconds once * Share the input tuple intead of making a new one * Lift return out of if * Simplify case statements * Lift DottedNum out of the case statements * Use st instead of mbs * Use setState instead of updateState now that we have the whole state around
2020-02-13Add highlight directive to the rST reader (#6140)Lucas Escot2-4/+13
2020-02-12Add Text.Pandoc.Image with unexported svgToPng.John MacFarlane1-0/+40
2020-02-12Introduce new format variants for JATS (#6067)Albert Krewinkel3-42/+107
New formats: - `jats_archiving` for the "Archiving and Interchange Tag Set", - `jats_publishing` for the "Journal Publishing Tag Set", and - `jats_articleauthoring` for the "Article Authoring Tag Set." The "jats" output format is now an alias for "jats_archiving". Closes: #6014
2020-02-12LaTeX reader: improve caption and label parsing.John MacFarlane2-23/+36
- Don't emit empty Span elements for labels. - Put tables with labels in a surrounding Div.
2020-02-12HTML reader: don't parse `data-id` as `id` attribute.John MacFarlane1-1/+9
And similarly don't parse any `data-X` as `X` when `X` is a valid HTML attribute. Reported in comment on #5415.
2020-02-12Moved html5Attributes, html4Attributes, rdfaAttributes...John MacFarlane2-348/+354
from T.P.Writers.HTML (where they were unexported) to T.P.XML (where they are now exported). [API change: new exported functions] This allows these sets to be used elsewhere, e.g. in the HTML reader.
2020-02-11LaTeX reader: resolve `\ref` to table numbers.John MacFarlane2-25/+43
Closes #6137.
2020-02-10Fix spurious dots in markdown_mmd metadata outputJohn MacFarlane1-1/+1
Closes #6133 (regression).
2020-02-08Org reader: simplify parsing of sub- and superscriptsAlbert Krewinkel1-11/+11
Speeds up parsing of single-word, markup-less sub- and superscripts. Fixes: #6127
2020-02-08reveal.js: ensure that pauses work even in title slides.John MacFarlane1-4/+6
Closes #5819.
2020-02-08Factor out a findM function (#6125)Joseph C. Sible3-18/+13
This adds a new function to the API: Text.Pandoc.Shared.findM.
2020-02-08Use <$> instead of >>= and return (#6128)Joseph C. Sible1-1/+1
2020-02-08Clean up after "hlint --refactor" (#6129)Joseph C. Sible3-8/+7
HLint's automatic refactoring isn't quite perfect, so some of its changes were overcomplicated, wrong, or created new findings. Clean these up.
2020-02-08More cleanup (#6130)Joseph C. Sible2-8/+7
* Use an infix operator normally instead of immediately applying an operator section * Use M.fromList
2020-02-07Apply linter suggestions. Add fix_spacing to lint target in Makefile.John MacFarlane40-222/+187
2020-02-07Resolve HLint warningsAlbert Krewinkel42-177/+156
All warnings are either fixed or, if more appropriate, HLint is configured to ignore them. HLint suggestions remain. * Ignore "Use camelCase" warnings in Lua and legacy code * Fix or ignore remaining HLint warnings * Remove redundant brackets * Remove redundant `return`s * Remove redundant as-pattern * Fuse mapM_/map * Use `.` to shorten code * Remove redundant `fmap` * Remove unused LANGUAGE pragmas * Hoist `not` in Text.Pandoc.App * Use fewer imports for `Text.DocTemplates` * Remove redundant `do`s * Remove redundant `$`s * Jira reader: remove unnecessary parentheses
2020-02-07More in-depth refactoring and cleanup (#6123)Joseph C. Sible8-44/+40
* Avoid duplicating the dash case * Pull common functions out of case branches * Make sure list lengths are only calculated once * Use unless * Simplify parseURIReference' and avoid an unnecessary call to length * Use <$> instead of reimplementing it * Use swap instead of reimplementing it * Remove eta-expansion that's been unnecessary since 90f5dd8 * Use tailDef instead of reimplementing it * Use second instead of fmap, per @tarleb
2020-02-07Various minor cleanups and refactoring (#6117)Joseph C. Sible15-63/+56
* Use concatMap instead of reimplementing it * Replace an unnecessary multi-way if with a regular if * Use sortOn instead of sortBy and comparing * Use guards instead of lots of indents for if and else * Remove redundant do blocks * Extract common functions from both branches of maybe Whenever both the Nothing and the Just branch of maybe do the same function, do that function on the result of maybe instead. * Use fmap instead of reimplementing it from maybe * Use negative forms instead of negating the positive forms * Use mapMaybe instead of mapping and then using catMaybes * Use zipWith instead of mapping over the result of zip * Use unwords instead of reimplementing it * Use <$ instead of <$> and const * Replace case of Bool with if and else * Use find instead of listToMaybe and filter * Use zipWithM instead of mapM and zip * Inline lambda wrappers into the real functions * We get zipWithM from Text.Pandoc.Writers.Shared * Use maybe instead of fromMaybe and fmap I'm not sure how this one slipped past me. * Increase a bit of indentation
2020-02-06Use traverse instead of reimplementing it (#6124)Joseph C. Sible2-8/+3
2020-02-05Simplify an overcomplicated filtering function (#6115)Joseph C. Sible1-1/+1
There's no need to use `catMaybes`, `uncurry`, `bool`, etc., just to get elements where the second element of a tuple is True.
2020-02-05Fix --number-offset with HTML TOC.John MacFarlane1-10/+19
Eventually it would be worth adding a parameter to makeSections so this could be done at that level; then it would also affect other writers that construct TOC manually.