aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-02-07Apply linter suggestions. Add fix_spacing to lint target in Makefile.John MacFarlane51-279/+247
2020-02-07Resolve HLint warningsAlbert Krewinkel43-186/+178
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. Sible16-66/+59
* 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.
2020-02-05MediaWiki writer: prevent triple `[[[`.John MacFarlane2-1/+21
This confuses mediawiki's parser. So we insert a `<nowiki/>` no-op between a literal `[` and a link. Closes #6119.
2020-02-05LaTeX reader: skip comments in more places where this is needed.John MacFarlane3-19/+28
Closes #6114.
2020-02-04Remove our bool function (#6116)Joseph C. Sible2-9/+1
Data.Bool already provides a bool function identical to this one.
2020-02-04Add timing info for filters in `--verbose` mode.John MacFarlane2-5/+30
+ Add RunningFilter, FilterCompleted constructors to LogMessage + When verbose mode is specified (verbosity == INFO), print a notice when running a filter and when a filter completes (including timing). Closes #6112.
2020-02-03Allow & in LaTeX citation keys.John MacFarlane1-1/+1
Closes #6110.
2020-02-03Swap suboptimal uses of maybe and fromMaybe (#6111)Joseph C. Sible5-13/+13
Anywhere "maybe" is used with "id" as its second argument, using "fromMaybe" instead will simplify the code. Conversely, anywhere "fromMaybe" is used with the result of "fmap" or "<$>" as its second argument, using "maybe" instead will simplify the code.
2020-02-03Fix duplicate frame classes in LaTeX/Beamer output.John MacFarlane2-2/+29
Close #6107.
2020-02-03Clean up overcomplicated maybe logic (#6105)Joseph C. Sible1-8/+6
We're using maybe in redundant ways. Remove it altogether in one case and simplify it to fromMaybe in another.
2020-02-03Clean up a confusing triple negative (#6102)Joseph C. Sible1-5/+5
There's currently `unless`, `not`, and `notParaOrPlain` in the same expression, which is a rather confusing triple negative. Replace `notParaOrPlain` with `paraOrPlain` and switch to `all` from `any` to clean this up.
2020-02-01Text.Pandoc.Readers.CSV - reuse CSV parser from Text.Pandoc.CSV.John MacFarlane1-65/+5
2020-02-01Fix bug in Text.Pandoc.CSV.John MacFarlane1-4/+4
Previously an extra blank record would sometimes be inserted at the end.
2020-01-31Support 'bibliography' and 'csl' fields in defaults file.John MacFarlane2-24/+42
Move addMeta from T.P.App.CommandLineOptions to T.P.App.Opt. (not an api change because modules not exported)
2020-01-31csv reader: allow empty cells.John MacFarlane2-8/+10
2020-01-31Add Text.Pandoc.Readers.CSV (readCSV).John MacFarlane6-2/+134
This adds csv as an input format. The CSV table is converted into a pandoc simple table. Closes #6100.
2020-01-29LaTeX template: add space option to xeCJK with PassOptionsToPackage.John MacFarlane1-1/+4
Otherwise we can get a clash with documentclasses that already load the package. Closes #6002.
2020-01-28Added a try that was needed for the commit fc78be1.John MacFarlane1-1/+1
The intent of that commit was to parse unknown LaTeX enivronments as verbatim if they can't be parsed normally, avoiding crashes on environments that allow unescaped underscores and the like. But the fix didn't completely work: it worked for raw TeX in markdown but not when reading LaTeX. This change fixes that. See #6034. Closes #6093.
2020-01-27Update URLs and use HTTP**S** wherever possible (#6090)Salim B1-62/+62
I've changed _all_ `http:` URLs in the file to their `https` equivalents if the respective sites have properly configured HTTPS.
2020-01-27Fix test suite for new skylighting.John MacFarlane1-2/+2
Closes #6086.
2020-01-21Use skylighting 0.8.3.2.John MacFarlane2-4/+4
2020-01-21Windows rc: Create the release dir.John MacFarlane1-0/+1
2020-01-19Docx writer: fix regression with Compact style on tight lists. (#6073)John MacFarlane1-1/+9
Starting in 2.8, the docx writer no longer distinguishes between tight and loose lists, since the Compact style is omitted. This is a side-effect of the fix to #5670, as explained in the changelog: + Preserve built-in styles in DOCX with custom style (Ben Steinberg, #5670). This change prevents custom styles on divs and spans from overriding styles on certain elements inside them, like headings, blockquotes, and links. On those elements, the "native" style is required for the element to display correctly. This change also allows nesting of custom styles; in order to do so, it removes the default "Compact" style applied to Plain blocks, except when inside a table. This patch fixes the problem by extending the exception currently offered to Plain blocks inside tables to Plain blocks inside list items. Closes #6072.
2020-01-18windows release candidate build: More fixes to get 'light' to work.John MacFarlane2-2/+3
2020-01-18doc/lua-filters.md: fix copy-paste mistakeAlbert Krewinkel1-1/+1
Closes: #6040
2020-01-18Windows ci: Add binpath when doing 'light'.John MacFarlane1-1/+1
2020-01-18Windows ci - fix path to COPYING.rtf in dialog.John MacFarlane1-2/+2
2020-01-18Fix typo in windows ci build.John MacFarlane1-1/+1
2020-01-17Use versioned directory for windows release zipfile.John MacFarlane3-40/+12
Also remove old make-windows-installer.bat, superseded by GitHub actions workflow, and modify pandoc.wxs for new paths.
2020-01-17Add --rm to docker command in INSTALL.md.John MacFarlane1-1/+1
2020-01-15Lua filters: allow filtering of element lists (#6040)Albert Krewinkel9-33/+244
Lists of Inline and Block elements can now be filtered via `Inlines` and `Blocks` functions, respectively. This is helpful if a filter conversion depends on the order of elements rather than a single element. For example, the following filter can be used to remove all spaces before a citation: function isSpaceBeforeCite (spc, cite) return spc and spc.t == 'Space' and cite and cite.t == 'Cite' end function Inlines (inlines) for i = #inlines-1,1,-1 do if isSpaceBeforeCite(inlines[i], inlines[i+1]) then inlines:remove(i) end end return inlines end Closes: #6038
2020-01-15INSTALL: remove bulletsJohn MacFarlane1-79/+79
2020-01-15Add Docker and GH Actions instructions/links to INSTALL.md.John MacFarlane1-0/+23
2020-01-14Update filters doc with better cabal v2 instructions.John MacFarlane1-3/+3
2020-01-14Update filter documentation.John MacFarlane1-142/+84
Remove example using pandoc API directly (we have other docs for that and it was outdated). Closes #6065.
2020-01-13Update versions for doclayout, doctemplates.John MacFarlane2-3/+3
Closes #6031. The new version of doclayout fixes a memory leak that affected `--include-in-header` with large files (and possibly other cases involving extremely long lines).
2020-01-12HTML writer: fix duplicate attributes on headings.John MacFarlane2-9/+16
Another regression from 2.7.x. Closes #6062.
2020-01-12docs: capitalize Lua where it refers to the programming language nameAlbert Krewinkel3-32/+32
This follows the advise on the Lua website (https://www.lua.org/about.html#name): > […] "Lua" is a name, the name of the Earth's moon and the name of the > language. Like most names, it should be written in lower case with an > initial capital, that is, "Lua".
2020-01-11Lua filter docs: cross-link constructors and typesAlbert Krewinkel1-62/+281
Thanks to @bpj for the idea.
2020-01-11Lua: add methods `insert`, `remove`, and `sort` to pandoc.ListAlbert Krewinkel3-40/+156
The functions `table.insert`, `table.remove`, and `table.sort` are added to pandoc.List elements. They can be used as methods, e.g. local numbers = pandoc.List {2, 3, 1} numbers:sort() -- numbers is now {1, 2, 3}
2020-01-11doc/lua-filters.md: sort pandoc.List methods alphabeticallyAlbert Krewinkel1-34/+34
2020-01-11data/pandoc.List.lua: improve internal documentationAlbert Krewinkel1-29/+32
2020-01-11doc/lua-filters.md: unify, fix anchors and internal links (#6061)Albert Krewinkel1-362/+334
Links and anchors now follow consistent conventions, like lowercase-only anchor names. This breaks some links to specific sections in the document, but will make it much easier to link documentation in the future.
2020-01-11pandoc.List.lua: make `pandoc.List` a callable constructorAlbert Krewinkel3-19/+52
It is now possible to construct a new List via `pandoc.List()` instead of `pandoc.List:new()`.
2020-01-11Add tests for pandoc.List moduleAlbert Krewinkel2-0/+113