Commit graph

540 commits

Author SHA1 Message Date
Tzu-ping Chung
2297a4e20b Fix rendering in table with empty cells
`find_emph_char` returns 0 if the char specified is not found in the
current line, but this is also what happens when there's an empty
cell. This patch adds logic to work around this problem.

See uranusjr/macdown#321
2015-05-16 00:54:24 +08:00
Xavier Mendez
365ad578e7 Release version 3.0.2 2015-04-08 00:22:33 +02:00
Xavier Mendez
5951df7980 Merge branch 'master' of https://github.com/hoedown/hoedown 2015-04-08 00:18:20 +02:00
Xavier Mendez
2b890c1683 Merge changes from v4 2015-04-08 00:14:24 +02:00
Xavier Mendez
2a4cf17c70 Merge pull request #151 from blaenk/underline-fix
only set active_char if extension is on
2015-01-31 10:03:32 +01:00
Xavier Mendez
59243b5499 Merge pull request #149 from blaenk/underline-fix
allow the HOEDOWN_EXT_UNDERLINE to work
2015-01-31 09:36:23 +01:00
Xavier Mendez
ef84eab702 Merge pull request #150 from blaenk/footnote-fix
set active_char for footnotes
2015-01-31 09:34:44 +01:00
Jorge Israel Peña
c641dc1436 only set active_char if extension is on 2015-01-31 00:02:28 -08:00
Jorge Israel Peña
5cf1ed3fe2 set active_char for footnotes
This enables handling footnotes and footnote references without also
handling images and links.
2015-01-30 20:43:42 -08:00
Jorge Israel Peña
9b789d24a5 allow the HOEDOWN_EXT_UNDERLINE to work
When the `HOEDOWN_EXT_UNDERLINE` extension was enabled, underlined spans
would actually be passed verbatim to the output buffer. This was because
the active_char was _only_ set when the emphasis, double_emphasis, or
triple_emphasis handlers were registered. As a result, no active char
was found in the input buffer, so everything was passed through
verbatim.

This patch fixes this by also registering the `active_char` if the
underline handler is registered. I also added a simple regression test.

I personally don't use this extension, but I encountered this bug over
the course of writing bindings for Rust.
2015-01-30 19:02:37 -08:00
Xavier Mendez
fd09d02ca6 Merge pull request #144 from uranusjr/fix-escape-in-comment
Special-case comment tag to ignore all its content
2015-01-01 12:22:21 +01:00
Xavier Mendez
810c79db34 Reset the TOC header count after a render (closes #147) 2014-12-25 11:13:53 +01:00
Xavier Mendez
a8fdc099bd Release version 3.0.1 2014-12-01 23:16:37 +01:00
Xavier Mendez
977e26e2c9 Merge pull request #146 from stevewolter/master
Fix issue #125 (formatting in TOCs) and out-of-bounds memory access in tab expansion
2014-12-01 17:32:53 +01:00
Steve Wolter
4825466fef Move test for formatting in table of contents to test/Tests directory.
MarkdownTest_1.0.3 directory is reserved for the standard tests from the
original Markdown spec.
2014-12-01 16:47:18 +01:00
Steve Wolter
d2dde183ee Fix out-of-bounds memory access in tab expansion.
The loop performs two jobs: Find the first tabstop, and counting the number of
characters before it. To count the number of characters before the
tabstop, it counts all bytes that are not UTF-8 continuation bytes.
The current form of the loop doesn't check the first character, but
checks the character past the range's end. Since these are both
usually non-continuation characters, it does the right thing accidentally.
However, it accesses the character range at index `size`, which is
forbidden and might be uninitialized for strings that are not
null-terminated.
2014-12-01 12:35:43 +01:00
Steve Wolter
737304d2aa Fix issue #125: Don't escape HTML tags in tables of contents.
Before this patch, a header like "# *A*" was displayed as
"<li>&lt;em&gtA&lt;/em&gt;</li>" in the TOC. The error was caused by
toc_header doing the HTML escaping. In the normal HTML renderer, the escaping
is done by the normal_text hook. This patch uses the same handling to
fix the issue.
2014-12-01 12:35:14 +01:00
Tzu-ping Chung
6d16d19735 Special-case comment tag to ignore all its content
Fix #143
2014-11-14 10:25:48 +08:00
Xavier Mendez
3afc3ec505 Release v3.0.0! 2014-11-04 19:18:32 +01:00
Devin Torres
9fbd90c51b Merge pull request #141 from jmendeth/simple-install
Simple install target
2014-11-04 09:43:51 -06:00
Xavier Mendez
08910873cf Simplify Makefile 2014-11-04 13:53:58 +01:00
Xavier Mendez
5aa09e2db8 Simple install target 2014-11-04 07:20:16 +01:00
Devin Torres
4898a1e494 Update LICENSE 2014-11-03 20:42:30 -06:00
Devin Torres
12e8acf6fa Merge pull request #140 from uranusjr/test-windows
Make tests work on Windows
2014-11-03 20:40:12 -06:00
Tzu-ping Chung
9585febb58 Make tests work on Windows 2014-10-22 13:12:03 +08:00
Devin Torres
a88343c593 Merge pull request #137 from hoedown/ansi
Use a stricter subset of C
2014-10-21 03:15:03 -05:00
Xavier Mendez
684357d279 bin-refactor: Make parse_options() consistent 2014-10-20 00:27:28 +02:00
Xavier Mendez
4b700ce16e bin-refactor: Refactor! 2014-10-20 00:23:24 +02:00
Xavier Mendez
0af706e37c bin-refactor: Prepare for the refactor 2014-10-20 00:19:00 +02:00
Xavier Mendez
5368b35153 bin-refactor: Add parse_options generic method 2014-10-20 00:10:31 +02:00
Xavier Mendez
c8ae964a56 bin-refactor: Remove useless null renderer
The original use of the renderer was for benchmarking,
to know the time used exclusively for parsing. But setting
NULL callbacks actually disabled parsing. No-op callbacks
should be used instead.
2014-10-19 21:09:43 +02:00
Xavier Mendez
b9c56bdc88 Use a stricter subset of C in the executables 2014-10-19 20:09:19 +02:00
Devin Torres
9aa8c8acf1 Use a stricter subset of C 2014-10-18 18:33:34 -05:00
Devin Torres
4e1b16cfab Merge pull request #130 from MarkLodato/utf8-tab-expansion
Make tab expansion UTF-8 aware.
2014-10-04 16:56:22 -05:00
Devin Torres
278702f097 Merge pull request #126 from mo/typofixes
Fixes a few typos
2014-10-04 05:13:42 -05:00
Devin Torres
185035280f Merge pull request #134 from jmendeth/no-c99-declaration
Don't use "for (declaration"
2014-10-04 05:12:44 -05:00
Xavier Mendez
9b561d721e Don't use "for (declaration" 2014-10-04 12:00:11 +02:00
Devin Torres
758951ba6d Merge pull request #124 from jmendeth/renderer-api
Renderer API
2014-10-02 22:16:52 -05:00
Xavier Mendez
f7384f0d70 Revert hoedown_inline 2014-10-02 21:51:38 +02:00
Mark Lodato
23a8c1933b Make expand_tabs() UTF-8 aware.
Previously, expand_tabs() counted every *byte* rather than every *character*
to determine the proper tab stops.  This change fixes that by skipping over
UTF-8 continuation bytes (bytes of the form 10xxxxxx), which are the only
types of bytes in valid UTF-8 that do not start a character.

This code does not skip over combining characters.
2014-09-22 10:06:25 -04:00
Martin Olsson
aec5b6f782 Fix a few typos 2014-09-19 22:48:02 +02:00
Devin Torres
ebb1a34d0f Merge pull request #129 from jmendeth/remove-flags
Remove HTML_SAFELINK and EXT_LAX_SPACING
2014-09-19 10:56:45 -05:00
Xavier Mendez
108ee1a463 Remove HTML_SAFELINK and EXT_LAX_SPACING 2014-09-19 17:45:32 +02:00
Devin Torres
8d7bb2e070 Merge pull request #125 from jmendeth/lift-math-restrictions
Don't require spacing around math spans (fix #120)
2014-09-19 09:49:43 -05:00
Xavier Mendez
5c6ef74739 Modify tests accordingly 2014-09-14 19:16:41 +02:00
Xavier Mendez
5215172914 Don't require spacing around math spans (fix #120) 2014-09-14 19:00:10 +02:00
Xavier Mendez
1ece600df1 Properly name category 2014-09-14 13:56:04 +02:00
Xavier Mendez
4684906bd8 Split table in table_header and table_body
Only one parameter  (`content`) can have rendered output.
The `table` callback contradicts this rule, so it has to be split
in `table_header` and `table_body`.

This also helps keep the HTML renderer code dry and readable.
2014-09-14 13:52:56 +02:00
Xavier Mendez
544246c672 Call it content when it's rendered output, text otherwise
If it's rendered output, i.e. output coming from other callbacks,
it must be called `content`, and be the first parameter after `ob`.
2014-09-14 12:28:25 +02:00
Xavier Mendez
2fca42565a Rename raw_html_tag to just raw_html 2014-09-14 11:21:14 +02:00