<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pandoc/src/Text/Pandoc/App, branch master</title>
<subtitle>Conversion between markup formats</subtitle>
<id>https://git.pashev.ru/pandoc/atom?h=master</id>
<link rel='self' href='https://git.pashev.ru/pandoc/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/'/>
<updated>2021-12-19T20:10:41Z</updated>
<entry>
<title>Add a writer for Markua 0.10 (#7729)</title>
<updated>2021-12-19T20:10:41Z</updated>
<author>
<name>binaarinen</name>
<email>53334195+binaarinen@users.noreply.github.com</email>
</author>
<published>2021-12-19T20:10:41Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=0610f16f7f684b320325b6c0b501725138d10a52'/>
<id>urn:sha1:0610f16f7f684b320325b6c0b501725138d10a52</id>
<content type='text'>
Markua is a markdown variant used by Leanpub.
More information about Markua can be found at https://leanpub.com/markua/read.

Adds a new exported function `writeMarkua` from T.P.Writers.Markdown.
[API change]

Closes #1871.

Co-authored by Tim Wisotzki and Samuel Lemmenmeier.
</content>
</entry>
<entry>
<title>Require ghc &gt;= 8.6, base &gt;= 4.12.</title>
<updated>2021-11-10T07:43:12Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-11-10T07:43:12Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=03f9a0c61eddff1d34537d767bd91cf395eae500'/>
<id>urn:sha1:03f9a0c61eddff1d34537d767bd91cf395eae500</id>
<content type='text'>
This allows us to get rid of the old custom prelude and
some crufty cpp.  But the primary reason for this is that
conduit has bumped its base lower bound to 4.12, making it
impossible for us to support lower base versions.
</content>
</entry>
<entry>
<title>Change JSON encodings of some types.</title>
<updated>2021-10-27T19:50:51Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-10-27T01:32:11Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=26a8de684ea8ec2ed0e2edebda78a8673c2c62d8'/>
<id>urn:sha1:26a8de684ea8ec2ed0e2edebda78a8673c2c62d8</id>
<content type='text'>
- For LineEnding use lowercase constructors, e.g. `crlf`, `native`.
  This was the original intent, but there was a bug in the
  implementation.
- For HTMLSlideVariant use lowercase constructors.
- For ReaderOptions use e.g. `default-image-extension`
  instead of `readerDefaultImageExtension` for field names.
- For Extension, use e.g. `tex_math_dollars` instead of
  `Ext_tex_math_dollars` as constructor.
- For Extensions, use an array of Extensions, instead of
  an object wrapping the tag `Extensions` and an integer.
  (The representation is not supposed to be part of the
  public API.)
- For Opt, use field names like `tab-stop` instead of `optTabStop`.
</content>
</entry>
<entry>
<title>Switch back from HsYAML to yaml.</title>
<updated>2021-10-27T19:50:51Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-10-25T15:48:18Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=d226a35c0ac6485c75f083ce3b25ada1d623f45f'/>
<id>urn:sha1:d226a35c0ac6485c75f083ce3b25ada1d623f45f</id>
<content type='text'>
Reasons:

- Performance: HsYAML is around 20 times slower in parsing
  large YAML bibliographies (#6084).
- An issue was submitted to HsYAML, but it hasn't gotten
  any attention.  HsYAML seems borderline unmaintained; it hasn't
  had a commit in over a year.
- Unfortunately this goes back on our attempts to free ourselves
  from C dependencies (#4535).  But I don't see a better alternative
  until a better pure Haskell parser is available.

Closes #6084.

Notes:

- We've removed the FromYAML instances for all types that had
  them, since this is a HsYAML-specific typeclass [API change].
  (The yaml package just uses From/ToJSON.)
- Unlike HsYAML (in the configuration we were using), yaml
  parses 'Y', 'N', 'Yes', 'No', 'On', 'Off' as boolean values.
  Users may need to quote these when they are meant to be
  interpreted as strings.  Similarly, 'null' is parsed as
  a YAML null value (and will be treated as an empty string
  by pandoc rather than the string 'null').  Quoting it will
  force it to be interpreted as a string.
- Some tests had to be adjusted accordingly.
- Pandoc now behaves better when the YAML metadata contains
  escaping errors: instead of just falling back on treating
  the section as a table, it raises a YAML parsing error.
</content>
</entry>
<entry>
<title>FormatHeuristics: remove `.tei.xml` extension for TEI.</title>
<updated>2021-10-19T15:05:30Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-10-19T15:04:18Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=7754b7f2ddd8b188de66b4c0f0b4a87d2a2045c6'/>
<id>urn:sha1:7754b7f2ddd8b188de66b4c0f0b4a87d2a2045c6</id>
<content type='text'>
As noted in #7630, this never worked, because `takeExtension`
only returns `.xml`.  So it won't be missed if we remove it.

Closes #7630.
</content>
</entry>
<entry>
<title>Don't prepend `file://` to `--syntax-definition` on Windows.</title>
<updated>2021-10-06T19:33:22Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-10-06T19:33:22Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=5a1bd526776a9c75a1f348f42415d15d78969e8b'/>
<id>urn:sha1:5a1bd526776a9c75a1f348f42415d15d78969e8b</id>
<content type='text'>
This was a fix for a problem in skylighting, but this
problem doesn't exist now that we've moved from HXT to
xml-conduit.

Cf. #6374.
</content>
</entry>
<entry>
<title>Add `--sandbox` option.</title>
<updated>2021-08-29T05:31:42Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-08-21T22:30:13Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=d6d7c9620abddc5e5e45450c091bc8a73bac8f66'/>
<id>urn:sha1:d6d7c9620abddc5e5e45450c091bc8a73bac8f66</id>
<content type='text'>
+ Add sandbox feature for readers.  When this option is used,
  readers and writers only have access to input files (and
  other files specified directly on command line).  This restriction
  is enforced in the type system.
+ Filters, PDF production, custom writers are unaffected.  This
  feature only insulates the actual readers and writers, not
  the pipeline around them in Text.Pandoc.App.
+ Note that when `--sandboxed` is specified, readers won't have
  access to the resource path, nor will anything have access to
  the user data directory.
+ Add module Text.Pandoc.Class.Sandbox, defining
  `sandbox`.  Exported via Text.Pandoc.Class. [API change]

Closes #5045.
</content>
</entry>
<entry>
<title>T.P.App.OutputSettings: Generalize some types...</title>
<updated>2021-08-25T05:18:25Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-08-23T04:41:54Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=bf860df938782fc1862ce95d12b47c40e564373b'/>
<id>urn:sha1:bf860df938782fc1862ce95d12b47c40e564373b</id>
<content type='text'>
so we can run this with any instance of PandocMonad and MonadIO,
not just PandocIO.
</content>
</entry>
<entry>
<title>Allow `--slide-level=0`.</title>
<updated>2021-08-08T18:20:26Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-08-08T18:20:26Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=c0b68b2030ecdb4ad006443a56ce99aebc92fbc5'/>
<id>urn:sha1:c0b68b2030ecdb4ad006443a56ce99aebc92fbc5</id>
<content type='text'>
When the slide level is set to 0, headings won't be used at all
in splitting the document into slides. Horizontal rules must be
used to separate slides.

Closes #7476.
</content>
</entry>
<entry>
<title>Change reader types, allowing better tracking of source positions.</title>
<updated>2021-05-10T01:11:34Z</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2021-05-01T20:17:45Z</published>
<link rel='alternate' type='text/html' href='https://git.pashev.ru/pandoc/commit/?id=6e45607f9948f45b2e94f54b4825b667ca0d5441'/>
<id>urn:sha1:6e45607f9948f45b2e94f54b4825b667ca0d5441</id>
<content type='text'>
Previously, when multiple file arguments were provided, pandoc
simply concatenated them and passed the contents to the readers,
which took a Text argument.

As a result, the readers had no way of knowing which file
was the source of any particular bit of text.  This meant that
we couldn't report accurate source positions on errors or
include accurate source positions as attributes in the AST.
More seriously, it meant that we couldn't resolve resource
paths relative to the files containing them
(see e.g. #5501, #6632, #6384, #3752).

Add Text.Pandoc.Sources (exported module), with a `Sources` type
and a `ToSources` class.  A `Sources` wraps a list of `(SourcePos,
Text)` pairs. [API change] A parsec `Stream` instance is provided for
`Sources`.  The module also exports versions of parsec's `satisfy` and
other Char parsers that track source positions accurately from a
`Sources` stream (or any instance of the new `UpdateSourcePos` class).

Text.Pandoc.Parsing now exports these modified Char parsers instead of
the ones parsec provides.  Modified parsers to use a `Sources` as stream
[API change].

The readers that previously took a `Text` argument have been
modified to take any instance of `ToSources`. So, they may still
be used with a `Text`, but they can also be used with a `Sources`
object.

In Text.Pandoc.Error, modified the constructor PandocParsecError
to take a `Sources` rather than a `Text` as first argument,
so parse error locations can be accurately reported.

T.P.Error: showPos, do not print "-" as source name.
</content>
</entry>
</feed>
