Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
Closes #6137.
|
|
Closes #6133 (regression).
|
|
Speeds up parsing of single-word, markup-less sub- and superscripts.
Fixes: #6127
|
|
Closes #5819.
|
|
This adds a new function to the API: Text.Pandoc.Shared.findM.
|
|
|
|
HLint's automatic refactoring isn't quite perfect, so some of its
changes were overcomplicated, wrong, or created new findings.
Clean these up.
|
|
* Use an infix operator normally instead of immediately applying an operator section
* Use M.fromList
|
|
|
|
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
|
|
* 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
|
|
* 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
|
|
|
|
There's no need to use `catMaybes`, `uncurry`, `bool`, etc., just
to get elements where the second element of a tuple is True.
|
|
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.
|
|
This confuses mediawiki's parser. So we insert a `<nowiki/>`
no-op between a literal `[` and a link. Closes #6119.
|
|
Closes #6114.
|
|
Data.Bool already provides a bool function identical to this one.
|
|
+ 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.
|
|
Closes #6110.
|
|
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.
|
|
Close #6107.
|
|
We're using maybe in redundant ways. Remove it altogether in one case and
simplify it to fromMaybe in another.
|
|
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.
|
|
|
|
Previously an extra blank record would sometimes be inserted at the
end.
|
|
Move addMeta from T.P.App.CommandLineOptions to T.P.App.Opt.
(not an api change because modules not exported)
|
|
|
|
This adds csv as an input format.
The CSV table is converted into a pandoc simple table.
Closes #6100.
|
|
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.
|
|
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.
|
|
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
|
|
Another regression from 2.7.x. Closes #6062.
|
|
This affecs parsing of raw tex in LaTeX and in Markdown and
other formats.
Closes #6043.
|
|
This avoids some unnecessary unpacking.
(This is only an internal module so it's not an API change.)
|
|
If parsing fails in a raw environment (e.g. due to special
characters like unescaped `_`), try again as a verbatim
environment, which is less sensitive to special characters.
This allows us to capture special environments that change
catcodes as raw tex when `-f latex+raw_tex` is used.
Closes #6034.
|
|
Headers were missing from tables.
Fixes: #6035
|
|
Columns in title slides were causing problems with
slide division. Closes #6033.
|
|
The fix to #6030 actually changed behavior, so that the
2D nesting occurred at slide level N-1 and N, instead of
at the top-level section. This commit restores the 2.7.3 behavior.
If there are more than 2 levels, the top level is horizontal
and the rest are collapsed to vertical.
Closes #6032.
|
|
Closes #6030.
|
|
Partially addresses #6030.
|
|
|
|
|
|
|
|
|
|
Previously it wasn't overridden if the file already existed,
which led to bad results on subsequent runs when
`pdf-engine-opt=-output-directory=` was used to specify
an explicit temp dir.
Closes #6027.
|
|
Closes: #6024
|
|
Closes #6018.
Previously the `\paragraph` command was used instead of
`\paragraph*` for unnumbered level 4 headings.
|
|
Some readers (e.g. RST) will populate the `lang` metadata field
with block-level content. `getLang` has been modified to handle
this. Previously in these cases the LaTeX writer would not properly
set the "main language" of the document.
Closes #6008.
|