Commit graph

540 commits

Author SHA1 Message Date
Josh Stone
0c8eb03f10 Set an SONAME for libhoedown.so.3 2015-05-15 11:57:50 -07: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