Commit graph

48 commits

Author SHA1 Message Date
John MacFarlane
358dfba8f4 MediaWiki writer: don't softbreak lines inside list items.
Closes #3531.
2017-03-26 20:41:09 +02:00
John MacFarlane
438e8686cf Markdown writer: don't emit a simple table if simple_tables disabled.
Closes #3529.
2017-03-24 16:11:56 +01:00
John MacFarlane
a939cfe769 Pipe tables: impose minimum cell size.
This might help with #3526.
At any rate, it fixes another bug (see test/command/3526.md).
2017-03-23 16:54:47 +01:00
John MacFarlane
286b320fb0 Added to issue 3516 command test to debug test failure on appveyor. 2017-03-22 14:36:12 +01:00
John MacFarlane
430e2db9ba Improve rendering of superscript in plain output.
We now handle a few non digit characters (+, -, =, parentheses)
for which there are superscripted unicode characters.

Closes #3518.
2017-03-21 14:43:14 +01:00
John MacFarlane
daf8d1db18 RST writer: improve grid table output, fix bug with empty rows.
Uses the new gridTable in Writers.Shared, which is here
improved to better handle 0-width cells.

Closes #3516.
2017-03-21 14:16:46 +01:00
John MacFarlane
48c88d566d Add space_in_atx_header extension.
This is enabled by default in pandoc and GitHub markdown but not the
other flavors.

This requirse a space between the opening #'s and the header
text in ATX headers (as CommonMark does but many other implementations
do not).  This is desirable to avoid falsely capturing things ilke

    #hashtag

or

    #5

Closes #3512.
2017-03-20 21:55:30 +01:00
John MacFarlane
fff3489bf3 Removed failing part of 3348 test.
This was failing because of a small discrepancy in markdown
table header line lengths on appveyor.

It's a minor issue, I can't see what is causing it, and
it's irrelevant to the issue this is testing, so we'll
just write native for this test.
2017-03-19 20:37:39 +01:00
John MacFarlane
87f99f3fdf HTML reader: Better sanity checks on raw HTML.
This also affects the Markdown reader.

Closes #3257.
2017-03-18 22:43:57 +01:00
John MacFarlane
435221a9f3 Added test case to 3348 to try to figure out why appveyor build fails. 2017-03-17 17:10:43 +01:00
John MacFarlane
8f90b83fee Adjust command test 3348.md to specify column width.
This is meant to address a test failure on appveyor.
2017-03-17 16:19:51 +01:00
John MacFarlane
090165d714 Added test for #256. 2017-03-16 22:31:36 +01:00
John MacFarlane
6bf3f89d69 Better handling of \part in LaTeX.
Closes #1905.

Removed stateChapters from ParserState.

Now we parse chapters as level 0 headers, and parts as level -1 headers.
After parsing, we check for the lowest header level, and if it's
less than 1 we bump everything up so that 1 is the lowest header level.
So `\part` will always produce a header; no command-line options
are needed.
2017-03-13 22:11:10 +01:00
John MacFarlane
c8b906256d Improved behavior of auto_identifiers when there are explicit ids.
Previously only autogenerated ids were added to the list
of header identifiers in state, so explicit ids weren't taken
into account when generating unique identifiers.  Duplicated
identifiers could result.

This simple fix ensures that explicitly given identifiers are
also taken into account.

Fixes #1745.

Note some limitations, however.  An autogenerated identifier
may still coincide with an explicit identifier that is given
for a header later in the document, or with an identifier on
a div, span, link, or image.  Fixing this would be much more
difficult, because we need to run `registerHeader` before
we have the complete parse tree (so we can't get a complete
list of identifiers from the document by walking the tree).

However, it might be worth issuing warnings for duplicate
header identifiers; I think we can do that.  It is not
common for headers to have the same text, and the issue
can always be worked around by adding explicit identifiers,
if the user is aware of it.
2017-03-12 21:30:04 +01:00
John MacFarlane
62becc1536 Changed test case labeled 3384.md to 3348.md.
The last commit referred to #3384, but should have
closed #3348.
2017-03-11 23:29:57 +01:00
John MacFarlane
d66b046c8a Markdown writer: fixed bugs in simple/multiline list output.
* Previously we got overlong lists with `--wrap=none`.  This is fixed.
* Previously a multiline list could become a simple list (and would
  always become one with `--wrap=none`).

Closes #3384.
2017-03-11 23:24:14 +01:00
John MacFarlane
c46febaaee Expand \newenvironment macros.
Closes #987.

Depends on still unreleased texmath 0.9.3.
2017-03-10 09:46:32 +01:00
Albert Krewinkel
c91f168fc9 Org reader: disallow tables on list marker lines
Fixes: #3499
2017-03-08 15:45:00 +01:00
John MacFarlane
bcfb77e2ab Markdown writer: Avoid spurious blanklines at end of document...
after tables and list, for example.
2017-03-08 12:47:39 +01:00
John MacFarlane
b6e7bfaf1d Markdown writer: ensure space before list at top level.
Closes #3487.
2017-03-08 12:42:01 +01:00
John MacFarlane
410991ec6e Org reader: don't allow tables inside list items.
Closes #3499.
2017-03-08 12:28:13 +01:00
John MacFarlane
2c67101c7d Added test case for #3497. 2017-03-08 12:23:01 +01:00
John MacFarlane
8c55b7b564 Markdown reader: Treat certain environments as inline
when they occur without space surrounding them.

E.g. equation, math.

This avoids incorrect vertical space around equations.

Closes #3309.
Closes #2171.
See also rstudio/bookdown#358.
2017-03-07 15:00:32 +01:00
John MacFarlane
74afd2974a Markdown writer: better handling of tables with empty columns.
E.g. an HTML table with two cells in the first row and one
in the second (but no row/colspan).

We now calculate the number of columns based on the longest
row (or the length of aligns or widths).

Closes #3337.
2017-03-06 22:51:28 +01:00
John MacFarlane
9e87114234 LaTeX reader: allow newpage, clearpage, pagebreak in inline contexts
as well as block contexts.

Closes #3494.
2017-03-06 21:49:06 +01:00
John MacFarlane
e20f55618f Markdown reader: fixed internal header links.
Closes #2397.

This patch also adds `shortcut_reference_links` to the list
of mmd extensions.
2017-03-05 16:34:47 +01:00
John MacFarlane
2fee07795c Added a markdown abbrevation test case. 2017-03-05 10:44:25 +01:00
John MacFarlane
7fc6919f90 Markdown reader: Fixed regression on left-biased union for metadata.
When multiple YAML metadata blocks are used, and two define
the same field, the value defined first takes precedence,
according to the manual.  This was changed briefly in
ba3ee62323.  This commit
reverts to the original behavior and adds a test case.
2017-03-05 09:28:44 +01:00
John MacFarlane
ba3ee62323 Parse YAML metadata in a context that sees footnotes...
defined in the body of the document.

Closes #1279.
2017-03-05 01:36:40 +01:00
John MacFarlane
0517cf0bc0 Fixed some loose ends in #1592.
Added test cases.

Fixed HTML reader to parse a span with class "smallcaps" as
SmallCaps.

Fixed Markdown writer to render SmallCaps as a native span
when native spans are enabled.
2017-03-04 23:01:29 +01:00
John MacFarlane
ce9d49ef04 OpenDocument writer: fixed dropped elements in some ordered lists.
Closes #2434.
2017-03-03 22:48:37 +01:00
John MacFarlane
fb47d1d909 RST reader: support RST-style citations.
The citations appear at the end of the document as a definition
list in a special div with id `citations`.

Citations link to the definitions.

Added stateCitations to ParserState.

Closes #853.
2017-03-03 22:23:01 +01:00
John MacFarlane
4d25bba5f7 RST reader: Handle multiline cells in simple tables.
Closes #1166.
2017-03-02 16:48:53 +01:00
John MacFarlane
ea619bfcb4 Markdown writer: Fixed grid tables embedded in grid tables.
Closes #2834.
2017-03-01 17:41:14 +01:00
John MacFarlane
d1b50a6c5d RST reader: implemented implicit internal header links.
Cloess #3475.
2017-02-28 10:32:36 +01:00
John MacFarlane
99b39ffc17 RST reader: support scale and align attributes of images.
Closes #2662.
2017-02-26 23:40:31 +01:00
John MacFarlane
65c4efeb59 Added test case for variables/metadata in Markdown writer. 2017-02-25 23:54:30 +01:00
John MacFarlane
7d0082aa0b LaTeX reader: allow hspace and vspace to count as raw block or inline.
Previously we would refuse to parse anything as raw inline if
it was in the blockCommands list.  Now we allow exceptions
if they're listed under ignoreInlines in inlineCommands.

This should make it easier e.g. to include an \hspace
between two side-by-side raw LaTeX tables.
2017-02-25 12:43:00 +01:00
John MacFarlane
f4a452f891 When parsing raw LaTeX commands, include trailing space.
Otherwise things like `\noindent foo` break and turn into
`\noindentfoo`.

Affects `-f latex+raw_tex` and `-f markdown` (and other formats
that allow `raw_tex`).

Closes #1773.
2017-02-22 21:15:25 +01:00
John MacFarlane
5d71e37f26 MediaWiki reader: ensure that list starts begin at left margin.
Including when they're in tables or other list items.

Closes #2606.
2017-02-21 23:41:32 +01:00
John MacFarlane
5269724ad3 MediaWiki reader: fixed more table issues.
Closes #2649.
2017-02-21 21:28:24 +01:00
John MacFarlane
575014975e Fix indirect hyperlink targets. Closes #512. 2017-02-15 17:36:16 +01:00
John MacFarlane
cfdbe85e71 LaTeX reader: properly handle column prefixes/suffixes.
For example, in

     \begin{tabular}{>{$}l<{$}>{$}l<{$} >{$}l<{$}}

each cell will be interpreted as if it has a `$`
before its content and a `$` after (math mode).
2017-02-13 22:39:59 +01:00
John MacFarlane
1a23bc65b8 Fixed small bug in RST list parsing.
See #3432.  Previously the parser didn't handle properly this
case:

    * - a
      - b
    * - c
      - d
2017-02-11 20:55:13 +01:00
John MacFarlane
47a16065c4 Removed --parse-raw and readerParseRaw.
These were confusing.

Now we rely on the +raw_tex or +raw_html extension with latex
or html input.

Thus, instead of

    --parse-raw -f latex

we use

    -f latex+raw_tex

and instead of

     --parse-raw -f html

we use

    -f html+raw_html
2017-02-06 23:33:23 +01:00
John MacFarlane
c93ecfc3c5 Handle language in inline code with --listings.
Closes #3422.
2017-02-05 22:22:42 +01:00
John MacFarlane
396d304167 More smart escaping tests. 2017-02-04 22:09:19 +01:00
John MacFarlane
ce9ec67970 Added first command test to cabal metadata and repo. 2017-02-04 21:56:32 +01:00