Age | Commit message (Collapse) | Author | Files | Lines |
|
This is needed for ghci to work with pandoc, given that we
now use a custom prelude.
Closes #2503.
|
|
- The (non-exported) prelude is in prelude/Prelude.hs.
- It exports Monoid and Applicative, like base 4.8 prelude,
but works with older base versions.
- It exports (<>) for mappend.
- It hides 'catch' on older base versions.
This allows us to remove many imports of Data.Monoid
and Control.Applicative, and remove Text.Pandoc.Compat.Monoid.
It should allow us to use -Wall again for ghc 7.10.
|
|
Previously the parser failed on this kind of case
.. role:: indirect(code)
.. role:: py(indirect)
:language: python
:py:`hi`
Now it currectly recognizes `:py:` as a code role.
The previous test for this didn't work, because the
name of the indirect role was the same as the language
defined its parent, os it didn't really test for this
behavior. Updated test.
|
|
|
|
(mb21)
|
|
|
|
“Inline markup is parsed in field names.” [1]
[1] http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#field-lists
|
|
|
|
|
|
Closes #2062.
This reverts commit c302bdcdbe97b38721015fe82403b2a8f488a702, reversing
changes made to b983adf0d0cbc98d2da1e2751f46ae1f93352be6.
Conflicts:
src/Text/Pandoc/Parsing.hs
src/Text/Pandoc/Readers/Markdown.hs
src/Text/Pandoc/Readers/Org.hs
src/Text/Pandoc/Readers/RST.hs
|
|
|
|
|
|
https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10#Inferredtype-signaturesnowmayrequiretoenableFlexibleContextsGADTsorTypeFamilies ; ghc 7.10.1 RC1 requires specifying the type of String literals https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10#GHCsaysNoinstanceforFoldable...arisingfromtheuseof...
|
|
|
|
Move recursive role lookup from renderRole to addNewRole. The Attr value
will be the same for every occurance of this role, so there's no reason
to compute it every time. This allows simplifying the
stateRstCustomRoles map considerably.
We could go even further, and remove the fmt and attr arguments to
renderRole, which are null except for custom roles.
|
|
- Add "sourceCode" to classes for :code: role, and anything inheriting
from it.
- Add the name of the custom role to classes if the Inline constructor
supports Attr.
- If the custom role directive does not specify a parent role, inherit
from the :span: role.
This differs somewhat from the rst2xml.py behavior. If a custom role
inherits from another custom role, Pandoc will attach both roles' names
as classes. rst2xml.py will only use the class of the directly invoked
role (though in the case of inheriting from a :code: role with a
:language: defined, it will also provide the inherited language as a
class).
|
|
code role should have "code" class.
http://docutils.sourceforge.net/docs/ref/rst/roles.html says that
`text`:literal` is the same as ``text``. docutils outputs a <literal>
element in both cases, whereas for the code role, it outputs a <literal>
element with the "code" class.
|
|
This commit moves some code which was only used for the Markdown Reader
into a generic form which can be used for any Reader. Otherwise, it
takes naming and interface cues from the preexisting Markdown code.
|
|
move `addWarning` to Parsing.hs, so it can be used by Markdown & RST readers.
|
|
The class directive accepts one or more class names, and creates a Div
value with those classes. If the directive has an indented body, the
body is parsed as the children of the Div. If not, the first block
folowing the directive is made a child of the Div.
This differs from the behavior of rst2xml, which does not create a Div
element. Instead, the specified classes are applied to each child of
the directive. However, most Pandoc Block constructors to not take an
Attr argument, so we can't duplicate this behavior.
|
|
closes #65
RST quoted literal blocks are the same as indented literal blocks (which
pandoc already supports) except that the quote character is preserved in
each line.
This includes test cases for the quoted literal block, as well as
additional tests for line blocks and indented literal blocks, to verify
that these are unaffected by the changes.
|
|
|
|
This function is equivalent to the more general (<*) which is defined in
Control.Applicative. This change makes pandoc code easier to understand for
those not familar with the codebase.
|
|
|
|
(in metadata)
|
|
* We now correctly handle field lists that are indented more than
3 spaces.
* We treat an "aafig" directive as a code block with attributes,
so it can be processed in a filter. (Closes #1212.)
|
|
The generated link to PEPs had a duplicate 'http://' in its URL.
|
|
element and updated files accordingly
|
|
Thanks to CasperVector.
|
|
rST parser now supports:
- All built-in rST roles
- New role definition
- Role inheritance
Issues/TODO:
- Silently ignores illegal fields on roles
- Silently drops class annotations for roles
- Only supports :format: fields with a single format for :raw: roles,
requires a change to Text.Pandoc.Definition.Format to support multiple
formats.
- Allows direct use of :raw: role, rST only allows indirect (i.e.,
inherited use of :raw:).
|
|
|
|
This will give automatic unique identifiers, unless
`-auto_identifiers` is specified.
|
|
|
|
Semicolons separate different authors.
|
|
* Depend on pandoc 1.12.
* Added yaml dependency.
* `Text.Pandoc.XML`: Removed `stripTags`. (API change.)
* `Text.Pandoc.Shared`: Added `metaToJSON`.
This will be used in writers to create a JSON object for use
in the templates from the pandoc metadata.
* Revised readers and writers to use the new Meta type.
* `Text.Pandoc.Options`: Added `Ext_yaml_title_block`.
* Markdown reader: Added support for YAML metadata block.
Note that it must come at the beginning of the document.
* `Text.Pandoc.Parsing.ParserState`: Replace `stateTitle`,
`stateAuthors`, `stateDate` with `stateMeta`.
* RST reader: Improved metadata.
Treat initial field list as metadata when standalone specified.
Previously ALL fields "title", "author", "date" in field lists
were treated as metadata, even if not at the beginning.
Use `subtitle` metadata field for subtitle.
* `Text.Pandoc.Templates`: Export `renderTemplate'` that takes a string
instead of a compiled template..
* OPML template: Use 'for' loop for authors.
* Org template: '#+TITLE:' is inserted before the title.
Previously the writer did this.
|
|
rst2html doesn't add `<p>` tags to list items (even when they are
separated by blank lines) unless there are multiple paragraphs in the
list. This commit changes the RST reader to conform more closely to
what docutils does.
Closes #880.
|
|
Closes #763.
|
|
This fixes a subtle regression involving grid tables with
empty cells. Closes #732.
Also added test for grid table with empty cells.
|
|
`hello <url>`__
Closes #724.
|
|
|
|
This will be used by both RST and markdown readers.
|
|
|
|
* Use nonbreaking spaces for initial indent (otherwise lost in HTML and
LaTeX).
* Allow multiple paragraphs in a single line block.
|
|
Previously header ids were autogenerated by the writers.
Now they are generated (unless supplied explicitly) in the
markdown parser, if the `header_identifiers` extension is
selected.
In addition, the textile reader now supports id attributes on
headers.
|
|
Previously a field list consisting only of metadata fields (author,
title, date) would be parsed as an empty DefinitionList, which is not
legal in LaTeX and not needed in any format. This patch fixes the
problem, which I learned of from
http://stackoverflow.com/questions/12762767/modify-variable-in-rst-with-pandoc.
|
|
|
|
|
|
|
|
The contents are treated as rst, not literal, which will sometimes
be wrong.
|
|
This was (correctly) not in earlier releases; docutils doesn't
make the requirement.
|