Alexander Krotov
01f5ed14e6
Muse reader: don't allow footnote references inside links
2018-04-15 17:53:53 +03:00
Alexander Krotov
9cc2bf0295
Muse reader: allow URL to be empty
...
Muse writer can write links with empty URLs, so Muse reader should read them.
2018-04-15 14:50:46 +03:00
Alexander Krotov
6be0139145
Muse reader: require that comment semicolons are in the first column
...
Fixes #4551
2018-04-15 12:17:33 +03:00
Alexander Krotov
17b0499516
Muse reader: add support for Text:Amuse multiline headings
2018-04-09 02:05:57 +03:00
Alexander Krotov
ebbd441d06
Muse reader: add support for <biblio> and <play> tags
2018-04-07 18:31:06 +03:00
Alexander Krotov
2380845206
Muse reader: add <math> tag support
2018-04-02 17:19:26 +03:00
Alexander Krotov
ca78d93b40
Muse writer: place header IDs before header
...
See https://github.com/melmothx/text-amuse/issues/39
2018-04-02 15:58:37 +03:00
Alexander Krotov
aa929e462d
Muse reader: enable round-trip test
...
Close #4468
2018-03-25 23:04:54 +03:00
Alexander Krotov
79592db66c
Muse reader: allow links to have empty descriptions
2018-03-25 22:16:45 +03:00
Alexander Krotov
c6232d0f7d
Muse reader: require block <literal> tags to be on separate lines
2018-03-25 18:31:28 +03:00
John MacFarlane
0ef56657ed
Comment out Muse reader round-trip test.
...
It fails too often. Perhaps a separate test program should
be used to hunt for round-trip bugs.
2018-03-18 12:43:36 -07:00
John MacFarlane
7e389cb3db
Use NoImplicitPrelude and explicitly import Prelude.
...
This seems to be necessary if we are to use our custom Prelude
with ghci.
Closes #4464 .
2018-03-18 10:46:28 -07:00
John MacFarlane
dfa1dc164a
hlint fixes.
2018-03-17 22:00:55 -07:00
Alexander Krotov
3ee45a7357
Muse reader: compare first rewrite to the second in round-trip test
2018-03-12 15:09:27 +03:00
Alexander Krotov
c3fbc492c8
Muse reader: require closing tag to have the same indentation as opening
2018-03-12 14:24:50 +03:00
Alexander Krotov
f0a029ac51
Muse reader: do not reparse blocks inside unclosed block tag
...
Fixes #4425
2018-03-12 13:44:27 +03:00
Alexander Krotov
9bcd090848
Muse reader: parse <class> tag
...
<class> tag is supported by Emacs Muse
2018-03-10 07:27:41 +03:00
Alexander Krotov
4d2bf177fc
Muse reader: do not produce empty Str element for unindented verse lines
2018-03-07 14:24:16 +03:00
Alexander Krotov
a71a1fec69
Muse reader: fix indentation requirements for footnote continuations
2018-03-03 03:33:02 +03:00
Alexander Krotov
a01573692a
Muse reader: enable <literal> tags even if amuse extension is enabled
...
Amusewiki disables <literal> tags for security reasons.
If user wants similar behavior in pandoc, RawBlocks and RawInlines
can be removed or replaced with filters.
2018-03-02 12:52:39 +03:00
Alexander Krotov
177c5120a5
Muse reader: do not consume whitespace while looking for closing end tag
...
Fix for a bug caught by round-trip test.
2018-03-02 01:01:50 +03:00
Alexander Krotov
55c4b9982c
Muse reader: convert alphabetical list markers to decimal in round-trip test
...
Alphabetical lists are an addition of Text::Amuse.
They are not present in Emacs Muse and can be ambiguous
when list starts with "i.", "c." etc.
2018-03-02 00:33:16 +03:00
Alexander Krotov
cc34771928
Muse reader: add test for verse tag with one empty line
2018-02-28 14:43:36 +03:00
Alexander Krotov
a7ac590b08
Muse reader: allow <quote> and other tags to be indented
2018-02-28 12:11:56 +03:00
Alexander Krotov
39dd7c794b
Muse reader: allow single colon in definition list term
2018-02-24 02:38:10 +03:00
Alexander Krotov
2eab8f4654
Muse reader: improve verse parsing
...
Now verse marked up with ">" (in contrast to <verse> tag) can be placed
inside lists.
2018-02-23 18:02:04 +03:00
Alexander Krotov
0e4b8ae362
Muse reader: prioritize lists with roman numerals over alphabetical lists
...
This is to make sure "i." starts a roman numbered list,
instead of a list with letter "i" (followed by "j", "k", ...").
2018-02-16 12:53:41 +03:00
Alexander Krotov
82a0ceaf18
Muse reader: fix directive parsing
...
This fixes bugs introduced in commit 4bfab8f04c
.
2018-02-15 18:17:24 +03:00
Alexander Krotov
42e39fbd26
Muse reader: parse definition lists with multiple descriptions
2018-02-13 14:34:45 +03:00
Alexander Krotov
8aed3652c2
Muse reader: refactor to avoid reparsing
...
Lists are parsed in linear instead of exponential time now.
Contents of block tags, such as <quote>, is parsed directly,
without storing it in a string and parsing with parseFromString.
Fixed a bug: headers did not terminate lists.
2018-02-12 17:30:57 +03:00
Alexander Krotov
3480a8acc2
Muse reader: paragraph indentation does not indicate nested quote
...
Muse allows indentation to indicate quotation or alignment,
but only on the top level, not within a <quote> or list.
This patch also simplifies the code by removing museInQuote
and museInList fields from the state structure.
Headers and indented paragraphs are attempted to be parsed
only at the topmost level, instead of aborting parsing with guards.
2018-02-12 04:57:56 +03:00
Alexander Krotov
450a200637
Muse reader: test empty quote tag
2018-02-11 19:45:16 +03:00
Alexander Krotov
1dfda7e204
Muse reader: require that block tags are on separate lines
...
Text::Amuse already explicitly requires it anyway.
Supporting block tags on the same line as contents makes
it hard to combine closing tag parsers with indentation parsers.
Being able to combine parsers is required for no-reparsing refactoring
of Muse reader.
2018-02-11 19:35:58 +03:00
Alexander Krotov
6c45f8c8f6
Muse reader: test that two blank lines after verse can separate list items
...
Unlike paragraph and <quote> tag parsers, verse parser consumes newline.
For this reason only three or more blank lines can separate list items.
2018-02-05 01:39:38 +03:00
Alexander Krotov
3b667c54ea
Muse reader: test that lists can be separated with two blanklines after blockquote
...
Existing tests only checked this for paragraphs.
2018-02-05 00:25:31 +03:00
Alexander Krotov
248f6076bc
Muse reader: fix parsing of trailing whitespace
...
Newline after whitespace now results in softbreak
instead of space.
2018-01-28 03:18:29 +03:00
Alexander Krotov
6337539e32
Muse reader: fix matching of closing inline tags
2018-01-24 14:16:56 +03:00
Alexander Krotov
98f0e2053e
Muse reader: remove multiple descriptions during round-trip tests
2018-01-20 18:34:42 +03:00
Alexander Krotov
e1cc9d9abc
Muse reader: enable definition lists in round-trip test
2018-01-20 14:09:44 +03:00
John MacFarlane
b8ffd834cf
hlint code improvements.
2018-01-19 21:25:24 -08:00
Alexander Krotov
22b69b557e
Muse reader: fix parsing of nested definition lists
2018-01-20 02:14:27 +03:00
Alexander Krotov
7680e9b964
Muse reader: require only one space for nested definition list indentation
2018-01-19 14:16:20 +03:00
Alexander Krotov
19d2576223
Muse reader: parse definition list terms without parseFromString
2018-01-19 01:50:17 +03:00
Alexander Krotov
a516198d47
Muse reader: fix parsing of code at the beginning of paragraph
2018-01-18 15:35:43 +03:00
Alexander Krotov
5f57094a47
Muse reader: refactor definition list parsing
...
Test with wrong indentation is removed,
because now it is parsed as nested lists.
Emacs Muse and Text::Amuse don't have the same
behavior anyway.
2018-01-18 14:55:07 +03:00
Alexander Krotov
9986ccb333
Muse reader: parse "~~" as non-breaking space in Text::Amuse mode
...
Latest Text::Amuse supports "~~"
2018-01-18 02:46:02 +03:00
Alexander Krotov
ab85143e8a
Muse reader: refactor list parsing
...
Now list item contents is parsed as blocks,
without resorting to parseFromString.
Only the first line of paragraph has to
be indented now, just like in Emacs Muse
and Text::Amuse.
Definition lists are not refactored yet.
See also: issue #3865 .
2018-01-18 02:17:26 +03:00
Alexander Krotov
551aec7b01
Muse reader: enable round trip test
...
Closes #4107
2017-12-30 20:32:16 +03:00
Alexander Krotov
0405c5b461
Muse reader: parse anchors immediately after headings as IDs
2017-12-21 15:52:10 +03:00
Alexander Krotov
b5e62a5c09
Muse reader: require that note references does not start with 0
2017-12-20 14:00:30 +03:00
Alexander Krotov
f6abf15832
Muse reader: parse empty comments correctly
2017-12-19 04:23:32 +03:00
Alexander Krotov
e536c4d9c9
hlint Muse reader and tests
2017-12-06 19:38:25 +03:00
Alexander Krotov
6fd3cdac46
Muse reader: add test for #disable-tables directive in Emacs mode
2017-12-06 19:35:01 +03:00
Alexander Krotov
3ae359721d
Muse reader: don't allow emphasis to be preceded by letter
2017-12-06 19:04:35 +03:00
Alexander Krotov
ed261e5832
Muse reader: add underline support in Emacs Muse mode
2017-12-04 15:59:26 +03:00
Alexander Krotov
7751391fce
Muse reader: correctly remove indentation from notes
...
Exactly one space is required and considered to be part of the marker.
2017-11-29 05:12:25 +03:00
John MacFarlane
5a225aa603
Temporarily disable round-trip block test for muse reader.
...
See #4107 .
2017-11-28 16:13:01 -08:00
Alexander Krotov
c2993a6fc6
Muse reader: parse "~~" as non-breaking space in Emacs mode
2017-11-27 12:25:06 +03:00
Alexander Krotov
00004f042c
Muse reader: make code blocks round trip
2017-11-27 04:54:23 +03:00
Alexander Krotov
bdad8c1d69
Muse reader: drop common space prefix from list items
2017-11-26 22:14:18 +03:00
Alexander Krotov
a8ac673285
Muse reader: Add partial round trip test
2017-11-26 02:01:39 +03:00
Alexander Krotov
ea2ea455b3
Muse reader: don't interpret XML entities
2017-11-25 22:46:25 +03:00
Alexander Krotov
77af25b4c3
Muse reader: parse markup in definition list terms
2017-11-24 14:02:43 +03:00
Alexander Krotov
137c7c2a65
Muse reader: allow definition to end with EOF
2017-11-24 13:16:09 +03:00
Alexander Krotov
0cfd764d27
Muse: move inline list normalization to writer
2017-11-24 12:17:20 +03:00
Alexander Krotov
75e2a1104c
Muse reader: allow list items to be empty
2017-11-22 18:49:07 +03:00
Alexander Krotov
0b63ac2db1
Muse reader: add ordered list test
2017-11-22 18:48:45 +03:00
Alexander Krotov
c8ab4789b6
Muse reader: add more multiline definition tests
2017-11-22 15:23:09 +03:00
Alexander Krotov
351765d4ad
Muse reader: concatenate inlines of the same type
2017-11-22 01:22:43 +03:00
Alexander Krotov
df3a80cc97
Muse writer: escape only </code> inside code tag
...
Additional <verbatim> is not needed as <code> is verbatim already.
2017-11-22 01:22:43 +03:00
Alexander Krotov
6c17117ef2
Muse reader: add inline <literal> support
2017-11-21 19:53:55 +03:00
Alexander Krotov
59f537c31f
Muse reader: test <literal> blocks
2017-11-21 19:01:53 +03:00
Alexander Krotov
82bcda80c6
Muse reader: count only one space as part of list item marker
2017-11-19 04:40:00 +03:00
Alexander Krotov
163af3fdee
Muse reader: produce SoftBreaks on newlines
...
Now wrapping can be preserved with --wrap=preserve
2017-11-19 02:37:52 +03:00
Alexander Krotov
6018a2324d
Muse reader: Add Text::Amuse footnote extensions
...
Footnote end is indicated by indentation,
so footnotes can be placed anywhere in the text,
not just at the end of it.
2017-11-18 23:43:02 +03:00
Alexander Krotov
3a83b3843d
Replace "emacs" extension with "amuse" extension
...
It makes clear that extension is related to Muse markup.
2017-11-13 18:41:49 +03:00
Alexander Krotov
df4cb20f29
Muse reader: accept Emacs Muse definition lists
...
Emacs Muse does not require indentation.
2017-11-12 18:08:41 +03:00
John MacFarlane
6a1476e7e2
Export all of Text.Pandoc.Class from Text.Pandoc.
2017-10-29 15:00:49 -07:00
John MacFarlane
f3a80034ff
Removed writerSourceURL, add source URL to common state.
...
Removed `writerSourceURL` from `WriterOptions` (API change).
Added `stSourceURL` to `CommonState`.
It is set automatically by `setInputFiles`.
Text.Pandoc.Class now exports `setInputFiles`, `setOutputFile`.
The type of `getInputFiles` has changed; it now returns `[FilePath]`
instead of `Maybe [FilePath]`.
Functions in Class that formerly took the source URL as a parameter
now have one fewer parameter (`fetchItem`, `downloadOrRead`,
`setMediaResource`, `fillMediaBag`).
Removed `WriterOptions` parameter from `makeSelfContained` in
`SelfContained`.
2017-09-30 16:11:20 -05:00
Alexander Krotov
b5d064e8f0
Muse reader: parse anchors
2017-09-28 14:57:24 +03:00
Alexander Krotov
2cdb8fe2e6
Muse reader: test metadata parsing
2017-09-26 19:31:10 +03:00
John MacFarlane
ddecd72783
Merge pull request #3911 from labdsf/muse-reader-braces
...
Muse reader: parse {{{ }}} example syntax
2017-09-11 14:01:05 -07:00
Alexander Krotov
8e4ee66563
Muse reader: allow inline markup to be followed by punctuation
...
Previously code was not allowed to be followed by comma,
and emphasis was allowed to be followed by letter.
2017-09-11 18:34:32 +03:00
Alexander Krotov
508c3a64d8
Muse reader: parse {{{ }}} example syntax
2017-09-11 18:17:28 +03:00
Alexander Krotov
27cccfac84
Muse reader: parse verbatim tag
2017-09-11 12:13:09 +03:00
Alexander Krotov
afedb41b17
Muse reader: trim newlines from <example>s
2017-09-10 12:42:24 +03:00
Alexander Krotov
2230371304
Muse reader: debug inline code markup
2017-09-09 16:39:06 +03:00
Alexander
743413a5b5
Muse reader: Allow finishing header with EOF ( #3897 )
2017-09-06 08:48:06 -07:00
Alexander
350c282f20
Muse reader: require at least one space char after * in header ( #3895 )
2017-09-05 09:41:27 -07:00
Alexander
c09b586147
Muse reader: parse <div> tag ( #3888 )
2017-09-04 21:22:40 -07:00
Alexander
14f813c3f2
Muse reader: parse verse markup ( #3882 )
2017-08-29 12:40:34 -07:00
Alexander
e6f767b581
Muse reader: parse <verse> tag ( #3872 )
2017-08-25 07:09:28 -07:00
Alexander
5d74932578
Muse reader: avoid crashes on multiparagraph inline tags ( #3866 )
...
Test checks that behavior is consistent with Amusewiki
2017-08-22 23:12:34 -07:00
Alexander
c7d4fd8cf1
Muse reader: do not allow closing tags with EOF ( #3863 )
...
This behavior is compatible to Amusewiki
2017-08-22 16:34:18 -07:00
Alexander
0a839cbdc9
Muse reader: add definition list support ( #3860 )
2017-08-21 21:08:44 -07:00
Alexander
1b5bfced55
Muse reader: debug indented paragraph support ( #3839 )
...
Take only first line indentation into account
and do not start new paragraph on indentation change.
2017-08-06 21:43:59 -07:00
Alexander
8164a005c0
Muse reader: debug list and list item separation rules ( #3837 )
2017-08-06 13:19:59 -07:00
Alexander Krotov
7a3a8790de
Muse reader: do not allow headers in blockquotes ( #3831 )
2017-08-03 15:41:45 -07:00
Alexander Krotov
335a1c7f48
Muse reader: fix reading of lists inside tags ( #3802 )
2017-07-21 10:04:13 +02:00
Alexander Krotov
79cc56726c
Muse reader: parse indented blockquotes ( #3769 )
2017-06-28 14:32:53 +02:00