Commit Graph

404 Commits

Author SHA1 Message Date
Vytautas Šaltenis b16c9b3787 Simplify callbacks in Renderer interface
The callbacks used to return bools, but none of the actual
implementations return false, always true. So in order to make further
refactorings simpler, make the interface reflect the inner workings: no
more return values, no more conditionals.
2015-11-10 21:08:32 +02:00
Vytautas Šaltenis ee98bc0bf4 Massive replacement of C_STYLE flags to typed ones 2015-11-10 21:08:32 +02:00
Vytautas Šaltenis 06515e9125 Rename public constants to idiomatic Go 2015-11-10 20:27:34 +02:00
Dmitri Shuralyov 0b647d0506 Use more idiomatic form for set of strings.
This is a better style for a set, since each value can only be present
or absent.

With bool as value type, each value may be absent, or true or false. It
also uses slightly more memory.
2015-11-09 21:18:55 -08:00
Vytautas Šaltenis 18432fc942 Add a few missing HTML5 block tags
Closes #197.
2015-11-08 21:34:44 +02:00
Vytautas Šaltenis f1ce82cb01 Sort block tag list alphabetically 2015-11-08 21:33:20 +02:00
Vytautas Šaltenis 510be64de0 Merge pull request #216 from russross/issue-194
Fix footnote following an exclamation point
2015-11-04 21:40:57 +02:00
Vytautas Šaltenis f21f067121 Merge pull request #215 from russross/issue-193
Fix nested footnotes
2015-11-04 21:37:52 +02:00
Vytautas Šaltenis c5943e0685 Reformat a dustball of ifs into a switch statement 2015-11-04 21:32:53 +02:00
Vytautas Šaltenis a58274acef Minor style fix: declare ref first in a loop 2015-11-04 21:07:39 +02:00
Vytautas Šaltenis ca8c21a297 Fix footnote following an exclamation point
Link parser interpreted the sequence "![^foo]" as an image, but if
footnote extension is enabled, it's quite clear that it should be
interpreted as a footnote following something with an exclamation point
at the end.

Closes #194.
2015-11-03 20:52:36 +02:00
Vytautas Šaltenis c29209fcda Add String() method to reference struct 2015-11-02 20:24:34 +02:00
Vytautas Šaltenis 9e68ff937b Fix nested footnotes
This is both nasty and neat at the same time. All the code could handle
nested footnotes just fine, the only place that was not working was the
final loop that printed the list. The loop was in a range form, which
couldn't account for another footnote being inserted while processing
existing ones. Changing the loop to the iterative form solves that.

Closes #193.
2015-11-02 20:17:46 +02:00
Vytautas Šaltenis 660c9fd283 Add <style> tag to a list of recognized block tags
Closes #182.
2015-11-01 12:36:02 +02:00
Vytautas Šaltenis 9c9c590f7e Merge pull request #211 from russross/issue-122
Fix issue 122: fenced code blocks inside blockquotes
2015-11-01 09:44:04 +02:00
Vytautas Šaltenis 4193e8665a Drop misleading comment and turn func into method
* The comment is no longer true.
* Other functions similar to terminateBlockquote() are methods, so make
this one a method too.
2015-11-01 09:32:30 +02:00
Vytautas Šaltenis 6c330778b2 Merge pull request #214 from russross/issue-122-test-readability
Make test values more readable, add additional test cases.
2015-11-01 09:25:47 +02:00
Dmitri Shuralyov e93d8f1624 Make test values more readable, add additional test cases. 2015-10-31 14:35:21 -07:00
Vytautas Šaltenis ceb8293c34 Merge pull request #212 from nitoyon/readme
README: Add 'Definition lists' and 'Footnotes'
2015-10-30 20:37:43 +02:00
nitoyon 6a7bd0d6e9 README: Add 'Definition lists' and 'Footnotes' 2015-10-31 00:50:10 +09:00
Vytautas Šaltenis 15eb452ae4 Fix fenced code processing inside blockquotes
Add a call to fenced code block processor inside the loop that's
responsible for collecting the quoted lines. Grok all the fenced code
block as a part of the quoted text.

Closes #122.
2015-10-29 20:28:29 +02:00
Vytautas Šaltenis 607f2ceb8a Move complex conditional to a helper func 2015-10-29 20:28:29 +02:00
Vytautas Šaltenis 133788657b Refix fenced code blocks w/o preceding blank lines
Change approach at fixing #45: don't patch input markdown at preprocess
pass, instead improve special case detection when parsing paragraphs.

Leave the fenced code block detection in the preprocess pass though,
it's been put to another use since then, to suppress tab expansion
inside code blocks.
2015-10-29 20:28:16 +02:00
Vytautas Šaltenis d4ee3ea08b Simplify return value 2015-10-28 21:21:51 +02:00
Vytautas Šaltenis 4b26653fe0 Fix broken test and add test for HTML_SMARTYPANTS_DASHES 2015-10-27 20:21:08 +02:00
Vytautas Šaltenis 6712f32cfd Merge pull request #190 from anthonyfok/add-flag-for-smart-dashes
Add HTML_SMARTYPANTS_DASHES for toggling smart dashes
2015-10-27 20:08:54 +02:00
Vytautas Šaltenis a18a46c9b9 Merge pull request #203 from russross/issue-136
Handle comments within a block
2015-10-20 20:45:00 +03:00
Vytautas Šaltenis c9f5708bd5 Spread out test cases for readability 2015-10-20 20:31:08 +03:00
Vytautas Šaltenis 53982c119c Merge pull request #206 from russross/issue-164
Fix footnote followed by a reference style link
2015-10-19 09:17:51 +03:00
Vytautas Šaltenis 4b668b875b Merge pull request #205 from russross/issue-156
Fix bug parsing emphasis
2015-10-19 09:08:30 +03:00
Vytautas Šaltenis 82a3b62629 Merge pull request #208 from russross/issue-18
Fix escaping asterisks within emphasis
2015-10-19 09:05:52 +03:00
Vytautas Šaltenis 1d673b3cd9 Bump const VERSION to 1.4
This is probably not used by too many people, but there it goes anyway.

Closes #119.
2015-10-18 20:51:29 +03:00
Vytautas Šaltenis fbdd06145d Add Go 1.5 to Travis config 2015-10-17 21:11:06 +03:00
Vytautas Šaltenis f7510976a3 Fix escaping asterisks within emphasis
First check for escaped character, *then* look if i-th character is an
emphasis character.

Closes #18.
2015-10-13 19:57:15 +03:00
Vytautas Šaltenis 08eac30cb9 Fix footnote followed by a reference style link
When parsing a deferred footnote, we already know it's a footnote from
the '[^' part, so we can use that to hit a proper switch branch
(default) a bit later on.

Closes #164.
2015-10-12 21:18:33 +03:00
Vytautas Šaltenis cc3cc10ef2 Fix bug parsing emphasis
Start searching for emphasis character at 0th index instead of 1st.
Fixes a corner case with doubly emphasised code span followed by
another code span on the same line.

Changes interpretation of improperly nested emphasis, hence the change
in TestEmphasisMix().

Closes #156.
2015-10-12 21:06:27 +03:00
Vytautas Šaltenis 5d3d5c198e Handle comments within a block
Added test cases both for inline and block workflows.

Closes #136.
2015-10-11 11:14:34 +03:00
Anthony Fok 38cc6e9ae8 Add HTML_SMARTYPANTS_DASHES for toggling smart dashes 2015-08-03 23:57:26 -06:00
Russ Ross 8cec3a854e LaTeX backend: add # to list of characters requiring backslash-escaping 2015-07-20 13:48:36 -06:00
Vytautas Šaltenis 386ef80f18 Merge pull request #175 from vbatoufflet/deflist-fix
Fix definition lists end-of-list detection
2015-06-08 11:33:30 +03:00
Vytautas Šaltenis 706b1e01be Merge pull request #176 from tw4452852/index_out_of_range
fix index out of range panic in reference link
2015-06-08 11:31:14 +03:00
Tw d28de22ef0 fix index out of range panic in reference link
Add checking before accessing the input data.

Fix #172 and #173 issues.

Signed-off-by: Tw <tw19881113@gmail.com>
2015-06-08 15:31:55 +08:00
Vincent Batoufflet 081aa9c378 Fix definition lists end-of-list detection 2015-06-07 09:36:53 +02:00
Vytautas Šaltenis 54d3f20b5c Merge pull request #171 from vbatoufflet/deflist-support
Add definition lists extension support
2015-06-03 10:40:24 +03:00
Vincent Batoufflet c4825a719d Add definition lists extension support 2015-06-03 08:03:34 +02:00
Vytautas Šaltenis 93ae1e873a Merge pull request #170 from russross/no-newline-after-img
Do not emit newline after <img> tag.
2015-05-26 11:24:09 +03:00
Dmitri Shuralyov 18186eea26 Do not emit newline after <img> tag.
This changes HTML renderer not to always add a newline character after
<img> tags. This is desirable because <img> tags can be inlined, and
sometimes you want to avoid whitespace on left and right sides. Previous
behavior of always adding a newline would unavoidably create whitespace
after <img> tag.

Update all tests to match new behavior. There are few changes, and
they're completely isolated to inline image tests.

Fixes #169.
2015-05-25 12:59:05 -07:00
Dmitri Shuralyov 10880f66e2 README: Update import path of github_flavored_markdown package.
It has moved out into a standalone repo recently. See shurcooL/go#19 for rationale.
2015-05-25 11:54:26 -07:00
Vytautas Šaltenis 0bf420d72a Fix a couple typos 2015-05-23 09:28:21 +03:00
Vytautas Šaltenis 4bed88b4fd Merge branch 'jtolds-master' 2015-05-06 16:00:36 +03:00