Add some documentation to reference struct
Vytautas Šaltenis vytas@rtfb.lt
Sat, 03 Sep 2016 13:16:41 +0300
Move footnote rendering to the renderer Clean up footnotes part of an AST: don't force HTML-specific pieces there, just keep a clean list of footnotes. Since some renderers might want to process footnotes differently, let them know about footnotes by having a flag on that list.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 03 Sep 2016 12:39:16 +0300
Move reference extraction to paragraph parser Move reference and footnote extraction code from firstPass to a paragraph block parser. This makes firstPass a little bit slimmer, ergo closer to elimination.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 29 Aug 2016 23:57:59 +0300
Fix omission in list item flags When parseRefsToAST constructs a list of footnotes, it hardcoded the item flags to ListTypeOrdered and omitted ListItemBeginningOfList. However, a quick look around indicates that ListItemBeginningOfList might have lost its meaning altogether in v2 (it used to control item spacing in v1, which is now extracted from the AST structure). So add a TODO to clean that up one day.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 28 Aug 2016 23:00:27 +0300
Get rid of secondPass function Most of its body was redundant, as it was moved to parseRefsToAST. After removal of that code, only a single line remains, so move it out to the caller of secondPass.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 28 Aug 2016 22:53:04 +0300
v2: Only split when inline callbacks consume some bytes (#301) * Only split when inline callbacks consume some bytes The former hacks around maybeLineBreak and Smartypants are no longer needed. The algorithm has been streamlined: shorter, simpler, faster. The 'currBlock' field of the parser is gone. * Remove spurious logs
Pierre Neidhardt ambrevar@gmail.com
Fri, 19 Aug 2016 11:26:33 +0530
Merge pull request #299 from Ambrevar/v2lint html.go: Lint RenderNode()
Vytautas Šaltenis vytas@rtfb.lt
Fri, 12 Aug 2016 09:13:22 +0300
Merge pull request #295 from Ambrevar/v2FactorSmarty v2: Factor Smartypants to HTML
Vytautas Šaltenis vytas@rtfb.lt
Wed, 10 Aug 2016 23:01:58 +0300
Merge pull request #293 from Ambrevar/v2ExportFuncs v2: Export tree manipulation functions
Vytautas Šaltenis vytas@rtfb.lt
Wed, 10 Aug 2016 09:21:33 +0300
Merge pull request #296 from Ambrevar/v2icon v2: Add Icon parameter to the HTML renderer
Vytautas Šaltenis vytas@rtfb.lt
Tue, 09 Aug 2016 22:22:31 +0300
Merge pull request #294 from Ambrevar/v2TOC2Renderer v2: Move TOC generation to the HTML Renderer
Vytautas Šaltenis vytas@rtfb.lt
Tue, 09 Aug 2016 22:06:04 +0300
Merge pull request #287 from Ambrevar/v2walkfix v2: Fix walk so that it does not step outside the root node
Vytautas Šaltenis vytas@rtfb.lt
Fri, 05 Aug 2016 09:17:14 +0300
Fix typo
Vytautas Šaltenis vytas@rtfb.lt
Mon, 01 Aug 2016 20:52:17 +0300
Merge pull request #286 from russross/add-benchmark Repeat a run of reference tests under benchmark
Vytautas Šaltenis vytas@rtfb.lt
Sun, 31 Jul 2016 10:22:15 +0300
Unpublish and rename LinkType constants (#285) * Unpublish and rename LinkType constants The constants are only used in the parsing phase, they are not recorded in the AST directly, so make them private. Improve their names along the way. Fix tagLength to return two values instead of taking an output parameter. * autoLinkType -> autolinkType And remove unnecessary comment.
Vytautas Šaltenis vytas@rtfb.lt
Fri, 29 Jul 2016 08:01:31 +0300
Merge pull request #284 from russross/fix-lint Fix most of lint errors on v2
Vytautas Šaltenis vytas@rtfb.lt
Thu, 28 Jul 2016 19:45:39 +0300
Return *Latex from NewLatexRenderer
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 09:47:58 +0300
Limit Node.String() to print itself, no children
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 09:44:24 +0300
Merge pull request #274 from Ambrevar/v2misc v2: Implicit interface and Stringer
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 09:39:58 +0300
Merge pull request #282 from russross/v2-fix-279 v2: Fix issue in fenced code block pre-processing.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 16 Jul 2016 10:25:34 +0300
Remove dead fields from HTMLRenderer
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Jul 2016 07:33:21 +0300
Add RenderNode to Renderer interface
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Jul 2016 07:32:16 +0300
Remove dead HTMLWriter code
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Jul 2016 22:02:22 +0300
Untangle some mess with attribute escaping 1. Remove unused preserveEntities parameters 2. Move attrEscape() implementation inside esc() 3. Delegate most of esc() work to escCode()
Vytautas Šaltenis vytas@rtfb.lt
Sat, 02 Jul 2016 10:45:06 +0300
Merge pull request #275 from Ambrevar/v2css v2: Fix empty path to CSS
Vytautas Šaltenis vytas@rtfb.lt
Sat, 02 Jul 2016 10:37:00 +0300
Merge pull request #276 from russross/v2-move-test-helpers-to-test-pkg v2: Only include test helpers inside test package.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 02 Jul 2016 10:31:14 +0300
Move a couple helpers to parser where they're used
Vytautas Šaltenis vytas@rtfb.lt
Mon, 11 Apr 2016 11:51:16 +0300
Unduplicate attrEscape funcs
Vytautas Šaltenis vytas@rtfb.lt
Mon, 11 Apr 2016 11:50:33 +0300
Rename HTML to HTMLRenderer
Vytautas Šaltenis vytas@rtfb.lt
Mon, 11 Apr 2016 11:45:40 +0300
Move html entity regexp to where it's used And unify regexp variable names.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 11 Apr 2016 11:28:05 +0300
Clean up Renderer interface: remove all callbacks We now expose the structure of the document in the form of AST, there's no longer need to have all those callbacks to represent structure.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 11 Apr 2016 11:22:38 +0300
Convert uint32 fields to ints The former is a bit too inconvenient despite being more accurate.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 11 Apr 2016 11:15:15 +0300
Get rid of unneeded method in Renderer
Vytautas Šaltenis vytas@rtfb.lt
Mon, 11 Apr 2016 11:12:41 +0300
Make HTMLRendererParameters a substruct of HTML
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 14:44:14 +0300
Go style: take advantage of zero value init
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 14:34:30 +0300
Cleanup renderer constructors Move all parameters under HTMLRendererParameters struct, rename constructors to New{HTML|Latex}Renderer.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 14:18:32 +0300
Remove a bit of cruft from HTML renderer
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 13:54:57 +0300
Make Markdown the most general API call Get rid of MarkdownOptions.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 13:45:00 +0300
Implement SkipHTML, add test
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 12:37:02 +0300
Implement SkipStyle, add test Fix a bug in findHtmlTagPos introduced with e02c392d.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 12:13:37 +0300
Implement SkipImages and add test
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 11:12:30 +0300
Allow NodeVisitor to have some control over traversal Make NodeVisitor return status and decide upon it which node to go to next. So far, this allows to skip subtrees and quit early.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 11:10:46 +0300
Give node visitor callback type a name and docs
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 10:08:50 +0300
Fixup broken test reporting Dereference the pointer introduced in f35fae8.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 10:00:34 +0300
Add test for UseXHTML
Vytautas Šaltenis vytas@rtfb.lt
Tue, 05 Apr 2016 09:51:46 +0300
Add test for CompletePage flag The implementation for CompletePage was committed with d7f1878 by accident, following up with the test.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 14:17:16 +0300
Implement SkipLinks, add test
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 14:08:35 +0300
Get rid of unnecessary test helpers
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 14:00:26 +0300
Extract panic recovery code Call recover() in a single place so it could be easily turned off when not needed.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 13:13:57 +0300
Do away with doTestsInlineParam What used to be doTestsBlockWithRunner is now renamed to doTestsWithRunner and is good for both block and inline tests.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 12:18:06 +0300
Fix old omission in doTestsBlockWithRunner It calls the provided runner in the -short run, but the standard runner in the complete run. Fix that.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 12:09:36 +0300
Use TestParams in block tests The different testing function interfaces get unified a bit closer, runnerWithRendererParameters completely eliminated.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 11:45:36 +0300
Wrap inline test parameters in a struct Take advantage of zero value initialization.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 11:18:50 +0300
Move all testing helper funcs in one place Moved verbatim except for uncommented panic recovery section in the doTestsInlineParam function.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 10:41:05 +0300
Implement TOC and OmitContents Move these two flags from HTML renderer's flags to extensions. Implement both since they were not yet implemented in the AST rewrite. Add tests. Note: the expected test strings differ very slightly from v1. The HTML produced by v2 has a few extra newlines compared to the old one, but it's now uniform with other sections of the generated document. If the newline placement gets cleaned up in the future, this will get fixed automatically, since the renderer is agnostic about the TOC list.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Apr 2016 10:14:49 +0300
Go style: more Html -> HTML renames
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 15:37:21 +0300
Go style: Html{Block|Span} -> HTML{Block|Span}
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 13:15:47 +0300
Go style: rename Toc to TOC
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 13:12:38 +0300
Make ForEachNode func a Walk method on Node
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 12:36:56 +0300
Improve documentation for Node struct
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 12:33:05 +0300
Move Header-related fields to a nested struct
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 11:48:52 +0300
Move table cell fields to a nested struct
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 11:46:09 +0300
Store cell alignment in own type instead of int
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 11:44:59 +0300
Move code block fields to a nested struct
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 11:29:15 +0300
Fix typos
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 11:22:13 +0300
Make ListData a nested struct instead of pointer
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 11:21:25 +0300
Rename HtmlFlags to HTMLFlags to adhere to Go style
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 10:49:23 +0300
Remove dead code
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 10:48:25 +0300
Run Smartypants as a separate pass over the AST Separate Smartypants somewhat from the HTML renderer. Move its flags from HtmlFlags to Extensions (probably should be moved to its own set of flags, but not now). With that done, do a separate walk of the tree and either run Smartypants processor if it's enabled, or simply escape text nodes.
Vytautas Šaltenis vytas@rtfb.lt
Fri, 01 Apr 2016 10:44:22 +0300
Combine two Smartypants structs into one Combine smartypantsRenderer and smartypantsData into one struct. Make action funcs methods on that struct.
Vytautas Šaltenis vytas@rtfb.lt
Thu, 31 Mar 2016 21:40:37 +0300
Rename Html to HTML to adhere to Go style
Vytautas Šaltenis vytas@rtfb.lt
Thu, 31 Mar 2016 13:54:09 +0300
Make renderer write to an explicit io.Writer
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 21:13:02 +0300
Expose Parse func that grabs input and returns AST
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 19:40:10 +0300
Remove unneeded reference to Renderer from parser
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 19:35:53 +0300
Make common flags and extensions public Add DefaultOptions convenience variable.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 19:29:00 +0300
Remove some cruft
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 15:56:53 +0300
The single node renderer is a separate func now A default HTML renderer for a single node is now easily accessible. Makes it easy to fall back to the default behavior when writing custom HTML renderers.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 15:48:43 +0300
Extract local funcs/vars into methods/members
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 15:37:03 +0300
Fix TitleBlock test It seems like the implementation of the extension was rather sloppy and didn't adhere to the style common to the rest of Blackfriday.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 15:05:24 +0300
Fix footnote tests This commit does some changes to the test suite. The changes are only to the newlines. Turns out the former implementation of footnotes produced slightly different spacing when rendering the footnotes list. The new implementation produces the list that is compatible with the rest of the package.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 15:03:11 +0300
Enable full AST construction, use the new renderer Connect the block and inline parsers. Most of the tests now pass, only a couple fail, they need fixes in the test suite.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 14:47:30 +0300
Construct AST WIP: add inline-level nodes Parse the content of the block nodes for inline markdown, decorate the tree with what's found. Tests still broken, need to connect the dots.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 14:38:19 +0300
Construct AST WIP: add block-level nodes Build a partial tree by adding block nodes. The block nodes will then be traversed and inline markdown parsed inside each of them. Tests are broken at this point until the full tree is constructed.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 12:57:12 +0300
Add a new renderer from AST This is the new renderer that walks AST and renders everything to a buffer. Completely covers all the functionality of the previous renderer and will likely replace it.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 11:57:02 +0300
Remove unused code
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 11:54:29 +0300
Add AST data structures The main Node structure that holds every AST node and some supplementary substructs. A bit of helper code to handle the nodes.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 30 Mar 2016 11:28:59 +0300
Fix rendering of tables Add proper capture groups to fix the order of bits and pieces.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 09 Nov 2015 21:57:27 +0200
HACK: render TOC the old way, backup and truncate output
Vytautas Šaltenis vytas@rtfb.lt
Mon, 09 Nov 2015 21:28:23 +0200
Enable writing plain text straight to output It's only used in a single place and should probably be refactored away, but this workaround is OK for now.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 09 Nov 2015 21:14:32 +0200
Eradicate 'out' parameter in top level code
Vytautas Šaltenis vytas@rtfb.lt
Thu, 05 Nov 2015 22:00:37 +0200
Remove all uses of 'out' in Latex renderer
Vytautas Šaltenis vytas@rtfb.lt
Thu, 05 Nov 2015 21:55:49 +0200
Remove almost all uses of 'out' in HTML renderer
Vytautas Šaltenis vytas@rtfb.lt
Wed, 04 Nov 2015 22:49:18 +0200
Redirect output to a capture buffer where necessary Use CaptureWrites where output should go to a temp buffer instead of the final output.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 04 Nov 2015 22:18:46 +0200
Fix Begin/EndHeader to use the new 'out'-less interface Remove the 'out' parameter. Also, instead of returning and passing the position of TOC, use CopyWrites to capture contents of the header and pass that captured buffer instead.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 04 Nov 2015 22:14:02 +0200
Add infrastructure to collect output in a buffer Add a structure to collect output in a buffer (replaces what used to be the 'out' parameter all over the place). Notable things about this struct are the captureBuff and copyBuff buffers. They're intended to redirect all the output (captureBuff) or make a copy of all the output (copyBuff) while they're set to non-nil. Here's an example of their intended use: // what used to be a temp buffer as an 'out' parameter // var cellWork bytes.Buffer // p.inline(&cellWork, data[cellStart:cellEnd]) // can now be captured like this: cellWork := p.r.CaptureWrites(func() { p.inline(data[cellStart:cellEnd]) })
Vytautas Šaltenis vytas@rtfb.lt
Tue, 03 Nov 2015 21:43:00 +0200
Remove a bunch of 'out' parameters from calls, WIP Still not all of them, still broken.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 01 Nov 2015 21:57:30 +0200
Remove 'out' parameter from parser funcs This only removes the parameter from declarations, everything is broken at the moment.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 01 Nov 2015 21:35:43 +0200
Remove 'out' parameter from renderer interface This only removes the parameter from func declarations, not from their bodies, so obviously breaks everything. Will be restored in upcoming commits.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 01 Nov 2015 21:27:55 +0200
Fix smartypants smart dash processing Change the way maybeLineBreak gets called to avoid breaking up stretches of unprocessed characters that smartypants expects. This inline processing is getting a bit out of hand, something needs to be done about it.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 31 Oct 2015 14:52:46 +0200
Remove last call to Truncate() from parser Autolink detection used to be triggered by a colon and preceding protocol name used to be rewound. Now instead of doing that, trigger autolink processing on [hmfHMF] and see if it looks like a link.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 27 Oct 2015 21:56:16 +0200
Remove calls to Truncate() from linebreak parser Replace output truncation with appropriate inline callbacks. lineBreak() is now only responsible for handling HardLineBreak. BackslashLineBreak is handled in escape() and trailing whitespace is considered in maybeLineBreak().
Vytautas Šaltenis vytas@rtfb.lt
Tue, 27 Oct 2015 21:33:43 +0200
Remove a couple calls to Truncate() from parser Link parser used to truncate in two cases: when parsing image links and inline footnotes. In order to avoid this truncation, introduce a separate callback for each of these cases and avoid writing extra characters instead of truncating them after the fact.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 20:47:20 +0200
Rename Renderer method receivers From 'options' to 'r'. This change contains only a massive rename, no other changes.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 20:42:41 +0200
Remove callback from Footnotes renderer event Split Footnotes into two events: BeginFootnotes and EndFootnotes, removing the need for callback.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 20:39:08 +0200
Remove callback from Paragraph renderer event Split Paragraph into two events: BeginParagraph and EndParagraph, removing the need for callback.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 20:35:42 +0200
Remove callback from List renderer event Split List into two events: BeginList and EndList, removing the need for callback.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 20:32:33 +0200
Remove callback from Header renderer event Split Header into two events: BeginHeader and EndHeader, removing the need for callback.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 20:25:23 +0200
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.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 19:41:15 +0200
Massive replacement of C_STYLE flags to typed ones
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 18:16:57 +0200
Rename public constants to idiomatic Go
Vytautas Šaltenis vytas@rtfb.lt
Mon, 26 Oct 2015 17:29:52 +0200
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.
Dmitri Shuralyov shurcooL@gmail.com
Mon, 09 Nov 2015 21:18:55 -0800
Add a few missing HTML5 block tags Closes #197.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 08 Nov 2015 21:34:44 +0200
Sort block tag list alphabetically
Vytautas Šaltenis vytas@rtfb.lt
Sun, 08 Nov 2015 21:33:20 +0200
Merge pull request #216 from russross/issue-194 Fix footnote following an exclamation point
Vytautas Šaltenis vytas@rtfb.lt
Wed, 04 Nov 2015 21:40:57 +0200
Merge pull request #215 from russross/issue-193 Fix nested footnotes
Vytautas Šaltenis vytas@rtfb.lt
Wed, 04 Nov 2015 21:37:52 +0200
Add <style> tag to a list of recognized block tags Closes #182.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 01 Nov 2015 12:31:55 +0200
Merge pull request #211 from russross/issue-122 Fix issue 122: fenced code blocks inside blockquotes
Vytautas Šaltenis vytas@rtfb.lt
Sun, 01 Nov 2015 09:44:04 +0200
Merge pull request #212 from nitoyon/readme README: Add 'Definition lists' and 'Footnotes'
Vytautas Šaltenis vytas@rtfb.lt
Fri, 30 Oct 2015 20:37:43 +0200
Simplify return value
Vytautas Šaltenis vytas@rtfb.lt
Wed, 28 Oct 2015 21:21:51 +0200
Fix broken test and add test for HTML_SMARTYPANTS_DASHES
Vytautas Šaltenis vytas@rtfb.lt
Tue, 27 Oct 2015 20:21:08 +0200
Merge pull request #190 from anthonyfok/add-flag-for-smart-dashes Add HTML_SMARTYPANTS_DASHES for toggling smart dashes
Vytautas Šaltenis vytas@rtfb.lt
Tue, 27 Oct 2015 20:08:54 +0200
Merge pull request #203 from russross/issue-136 Handle comments within a block
Vytautas Šaltenis vytas@rtfb.lt
Tue, 20 Oct 2015 20:45:00 +0300
Merge pull request #206 from russross/issue-164 Fix footnote followed by a reference style link
Vytautas Šaltenis vytas@rtfb.lt
Mon, 19 Oct 2015 09:17:51 +0300
Merge pull request #205 from russross/issue-156 Fix bug parsing emphasis
Vytautas Šaltenis vytas@rtfb.lt
Mon, 19 Oct 2015 09:08:30 +0300
Merge pull request #208 from russross/issue-18 Fix escaping asterisks within emphasis
Vytautas Šaltenis vytas@rtfb.lt
Mon, 19 Oct 2015 09:05:52 +0300
Bump const VERSION to 1.4 This is probably not used by too many people, but there it goes anyway. Closes #119.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 18 Oct 2015 20:51:29 +0300
Add Go 1.5 to Travis config
Vytautas Šaltenis vytas@rtfb.lt
Sat, 17 Oct 2015 21:11:06 +0300
LaTeX backend: add # to list of characters requiring backslash-escaping
Russ Ross russ@dixie.edu
Mon, 20 Jul 2015 13:48:36 -0600
Merge pull request #175 from vbatoufflet/deflist-fix Fix definition lists end-of-list detection
Vytautas Šaltenis vytas@rtfb.lt
Mon, 08 Jun 2015 11:33:30 +0300
Merge pull request #176 from tw4452852/index_out_of_range fix index out of range panic in reference link
Vytautas Šaltenis vytas@rtfb.lt
Mon, 08 Jun 2015 11:31:14 +0300
Merge pull request #171 from vbatoufflet/deflist-support Add definition lists extension support
Vytautas Šaltenis vytas@rtfb.lt
Wed, 03 Jun 2015 10:40:24 +0300
Merge pull request #170 from russross/no-newline-after-img Do not emit newline after <img> tag.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 26 May 2015 11:24:09 +0300
README: Update import path of github_flavored_markdown package. It has moved out into a standalone repo recently. See shurcooL/go#19 for rationale.
Dmitri Shuralyov shurcooL@gmail.com
Mon, 25 May 2015 11:54:26 -0700
Fix a couple typos
Vytautas Šaltenis vytas@rtfb.lt
Sat, 23 May 2015 09:28:21 +0300
Merge branch 'jtolds-master'
Vytautas Šaltenis vytas@rtfb.lt
Wed, 06 May 2015 16:00:36 +0300
Merge pull request #161 from rtfb/issue-146 Issue 146
Vytautas Šaltenis vytas@rtfb.lt
Wed, 06 May 2015 15:30:31 +0300
Merge pull request #163 from neclepsio/master Implement backslash hard line break extension
Vytautas Šaltenis vytas@rtfb.lt
Thu, 23 Apr 2015 11:58:36 +0300
Add Go 1.4 to Travis config
Vytautas Šaltenis vytas@rtfb.lt
Sat, 11 Apr 2015 18:07:21 +0300
Simplify isRelativeLink() a bit
Vytautas Šaltenis vytas@rtfb.lt
Sat, 11 Apr 2015 18:06:30 +0300
Merge pull request #152 from elian0211/about_links update about links
Vytautas Šaltenis vytas@rtfb.lt
Thu, 09 Apr 2015 20:41:45 +0300
Merge pull request #159 from rtfb/sequential-footnotes Fix recognition of consecutive footnotes
Vytautas Šaltenis vytas@rtfb.lt
Sun, 05 Apr 2015 09:28:21 +0300
Merge pull request #157 from dchest/reflib Renaming of upskirt
Vytautas Šaltenis vytas@rtfb.lt
Tue, 24 Mar 2015 18:21:34 +0200
Merge pull request #155 from beyang/master add rel="noreferrer" option
Vytautas Šaltenis vytas@rtfb.lt
Sun, 15 Mar 2015 19:31:50 +0200
Merge pull request #149 from tw4452852/fenced_code Delete unnecessary copy of input when enable fenced code extension
Vytautas Šaltenis vytas@rtfb.lt
Wed, 11 Feb 2015 10:22:51 +0200
Merge pull request #145 from eparis/license Move the license info from README to LICENSE file
Vytautas Šaltenis vytas@rtfb.lt
Tue, 10 Feb 2015 13:09:14 +0200
Merge pull request #142 from anthonyfok/avoid-converting-dates-into-fractions Avoid converting dates into fractions
Vytautas Šaltenis vytas@rtfb.lt
Tue, 27 Jan 2015 10:58:53 +0200
Merge pull request #140 from russross/update-import-path/sanitized_anchor_name Update import path of sanitized_anchor_name.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 12 Jan 2015 21:54:11 +0200
Merge pull request #138 from KenjiTakahashi/emphasis_link Fix for #19 + some tests for emphasis with links.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 29 Dec 2014 02:32:11 +0200
Merge pull request #131 from russross/minor-cleanup Minor cleanup.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 30 Nov 2014 09:02:35 +0200
Merge pull request #128 from bjornerik/angled-quotes Add support for angled, double quotes
Vytautas Šaltenis vytas@rtfb.lt
Fri, 28 Nov 2014 19:33:07 +0200
Merge pull request #130 from shurcooL/master Fix test case.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 25 Nov 2014 09:37:08 +0200
Merge pull request #129 from halostatue/header-prefixes-and-suffixes Allow configurable header ID prefix/suffixes.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 24 Nov 2014 22:32:19 +0200
Merge pull request #126 from halostatue/generate-unique-header-ids Prevent header collisions on generation.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 24 Nov 2014 22:30:42 +0200
Merge pull request #125 from halostatue/auto-header-id Add a flag to turn on header ID generation.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 28 Oct 2014 16:34:49 +0200
Merge pull request #124 from halostatue/fix-header-id-toc-rendering Use supplied header ID for TOC rendering.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 28 Oct 2014 16:34:44 +0200
Merge pull request #118 from rtfb/test-relative-links Make sure relative URLs are preserved
Vytautas Šaltenis vytas@rtfb.lt
Mon, 22 Sep 2014 11:58:14 +0300
Merge pull request #117 from rtfb/remove-sanitization Remove sanitization
Vytautas Šaltenis vytas@rtfb.lt
Sat, 20 Sep 2014 14:54:26 +0300
Merge pull request #111 from rtfb/master Add Travis configuration and a badge
Vytautas Šaltenis vytas@rtfb.lt
Sat, 30 Aug 2014 10:12:56 +0300
Fixup tests after 67002b0
Vytautas Šaltenis vytas@rtfb.lt
Fri, 29 Aug 2014 15:26:37 +0300
Merge pull request #109 from tummychow/html5-code-block Use HTML5 recommended style of language on code blocks
Vytautas Šaltenis vytas@rtfb.lt
Fri, 29 Aug 2014 12:20:42 +0300
Merge pull request #107 from shurcooL/master Improve parser to detect LineBreak independently of renderer.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Aug 2014 10:28:42 +0300
Fix misleading wording in README Fixes #103.
Vytautas Šaltenis vytas@rtfb.lt
Thu, 21 Aug 2014 14:05:37 +0300
Merge pull request #98 from cpuguy83/master Add titleblock support
Vytautas Šaltenis vytas@rtfb.lt
Mon, 04 Aug 2014 23:02:18 +0300
Merge pull request #95 from anonx/master Whitelisted th and td to fix #79
Vytautas Šaltenis vytas@rtfb.lt
Tue, 22 Jul 2014 17:00:57 +0300
Merge pull request #93 from shurcooL/patch-1 Add a reference to github_flavored_markdown in README.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 09 Jul 2014 16:25:33 +0300
Merge pull request #88 from dimfeld/master Remove unnecessary HTML_ABSOLUTE_LINKS flag
Vytautas Šaltenis vytas@rtfb.lt
Fri, 30 May 2014 10:30:05 +0300
Merge pull request #86 from dimfeld/master Add absolute link transformation and footnote enhancements
Vytautas Šaltenis vytas@rtfb.lt
Thu, 29 May 2014 16:13:04 +0300
Merge pull request #82 from dimfeld/master Sanitize shouldn't filter out URLs without protocol.
Vytautas Šaltenis vytas@rtfb.lt
Fri, 16 May 2014 12:10:22 +0300
Update README.md link to markdownfmt, add note about LaTeX output
Russ Ross russ@russross.com
Wed, 14 May 2014 13:27:37 -0600
Merge pull request #78 from JeffPaine/patch-1 Add Usage heading to README
Vytautas Šaltenis vytas@rtfb.lt
Fri, 09 May 2014 11:07:21 +0300
Merge pull request #39 from athom/tilde-escape allow \~ to escape as ~
Vytautas Šaltenis vytas@rtfb.lt
Sat, 03 May 2014 16:01:58 +0300
Merge pull request #77 from mprobst/cleanup_sanitize_test Move sanitization tests into their own file.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 03 May 2014 15:41:56 +0300
Merge pull request #73 from johnsto/bugfix/fenced-code-append Fix fenced code extension modifying data beyond slice
Vytautas Šaltenis vytas@rtfb.lt
Sat, 03 May 2014 15:15:44 +0300
Merge pull request #76 from mprobst/self-closing feat: Write self-closing tags with a />
Vytautas Šaltenis vytas@rtfb.lt
Sat, 03 May 2014 15:11:53 +0300
Merge pull request #75 from mprobst/sanitize_test Avoid raw mode parsing so that tags like <script> don't cause escaping
Vytautas Šaltenis vytas@rtfb.lt
Sat, 03 May 2014 15:11:41 +0300
Merge pull request #74 from mprobst/sanitize_test Add a test for the correct handling of escaped entities in HTML.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 03 May 2014 13:58:03 +0300
Merge pull request #71 from mprobst/master Add support for a bunch more safe HTML element tags, and bring them into...
Vytautas Šaltenis vytas@rtfb.lt
Fri, 02 May 2014 00:55:47 +0300
Merge pull request #70 from mprobst/master fix: Handle all different token types that the parser can emit (d'oh).
Vytautas Šaltenis vytas@rtfb.lt
Thu, 01 May 2014 21:59:07 +0300
Merge branch 'gihnius-master'
Vytautas Šaltenis vytas@rtfb.lt
Thu, 01 May 2014 21:46:51 +0300
Allow rel attribute in sanitizer Fixes issue #68.
Vytautas Šaltenis vytas@rtfb.lt
Thu, 01 May 2014 20:49:49 +0300
Merge pull request #69 from mprobst/master Use go.net/html's parser to sanitize HTML.
Vytautas Šaltenis vytas@rtfb.lt
Thu, 01 May 2014 20:47:17 +0300
Merge pull request #64 from willnix/master Add table tags to the whitelist.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 20 Apr 2014 23:15:54 +0300
Merge pull request #61 from shurcooL/feature/dont-expand-tabs-inside-fenced-code-blocks Don't expand tabs inside fenced code blocks.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 13 Apr 2014 10:56:02 +0300
Merge pull request #60 from shurcooL/fix/fenced-code-block-extra-newline Fix for potential extra newline added inside fenced code blocks.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 12 Apr 2014 21:58:08 +0300
Merge pull request #59 from johnsto/master Header ID specifiers
Vytautas Šaltenis vytas@rtfb.lt
Fri, 11 Apr 2014 21:31:27 +0300
Merge pull request #56 from muhqu/issue/45 Fix for Fenced Code Blocks without a blank line before
Vytautas Šaltenis vytas@rtfb.lt
Tue, 08 Apr 2014 13:00:13 +0300
Merge pull request #58 from aspic/master Explicit return byte array at end of function.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 05 Apr 2014 21:48:09 +0300
Merge pull request #55 from rtfb/master Autolink fixes
Vytautas Šaltenis vytas@rtfb.lt
Sun, 30 Mar 2014 19:58:39 +0300
Merge pull request #50 from rtfb/master Better protection against JavaScript injection
Vytautas Šaltenis vytas@rtfb.lt
Sun, 30 Mar 2014 19:52:13 +0300
Merge pull request #52 from laslowh/master add HTML_NOFOLLOW_LINKS
Vytautas Šaltenis vytas@rtfb.lt
Mon, 10 Mar 2014 21:47:35 +0200
Merge pull request #44 from FreakyDazio/safe-relatives Relative URIs are considered safe
Vytautas Šaltenis vytas@rtfb.lt
Wed, 08 Jan 2014 11:51:13 -0800
Merge pull request #43 from microcosm-cc/master Cells in THEAD > TR are now TH.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 08 Jan 2014 11:46:30 -0800
Change GOROOT references to GOPATH in README
Russ Ross russ@russross.com
Thu, 21 Nov 2013 08:47:41 -0700
fix smartypants to pass single backticks through, issue #38
Russ Ross russ@dixie.edu
Tue, 01 Oct 2013 13:55:34 -0600
panic fix (issue #33) with test case
Russ Ross russ@dixie.edu
Wed, 11 Sep 2013 12:47:43 -0600
Merge pull request #32 from bertzzie/master Enable Parsing Inside a Link
Lancee LY.lancee@gmail.com
Sun, 08 Sep 2013 23:16:18 -0700
Merge pull request #31 from aybabtme/patch-1 Fix typo.
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sun, 01 Sep 2013 11:56:32 -0700
update license language to match OSI
Russ Ross russ@russross.com
Wed, 14 Aug 2013 07:43:17 -0600
Merge pull request #29 from athom/master add EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK flag to make it closer to GFM
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sat, 10 Aug 2013 13:13:13 -0700
Merge pull request #27 from moshee/master Footnotes (addresses #14)
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Mon, 08 Jul 2013 23:03:42 -0700
Merge pull request #22 from rtfb/master Add some protection against script injection
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Tue, 21 May 2013 13:19:17 -0700
Merge pull request #24 from subosito/sample-fixes Fix table syntax example on README
Russ Ross russ@russross.com
Mon, 20 May 2013 15:15:38 -0700
Merge pull request #16 from cespare/blockcodegithub_doc_fix Fix up method documentation formatting for the BlockCodeGithub method.
Russ Ross russ@russross.com
Thu, 22 Nov 2012 18:00:19 -0800
Merge pull request #15 from moshee/master HTML5
Russ Ross russ@russross.com
Mon, 22 Oct 2012 06:39:47 -0700
recognize fraction slash as well as regular slash to make fractions
Russ Ross russ@russross.com
Sun, 11 Mar 2012 16:10:42 -0600
link directly to blackfriday-tool
Russ Ross russ@russross.com
Wed, 07 Mar 2012 22:12:46 -0700
readme updates for go 1
Russ Ross russ@russross.com
Wed, 07 Mar 2012 22:06:07 -0700
updates for go 1
Russ Ross russ@russross.com
Wed, 07 Mar 2012 21:36:31 -0700
version bump to v1.1
Russ Ross russ@russross.com
Mon, 26 Sep 2011 15:45:49 -0600
permit backslash-escaped vertical bars in tables
Russ Ross russ@dixie.edu
Tue, 13 Sep 2011 16:23:24 -0600
fixed bug with blank line handling within list items
Russ Ross russ@dixie.edu
Fri, 09 Sep 2011 12:30:45 -0600
table unit tests and fix for a crash uncovered by them
Russ Ross russ@russross.com
Mon, 25 Jul 2011 11:39:02 -0600
bug in tables when a row has too few columns
Russ Ross russ@russross.com
Mon, 25 Jul 2011 10:23:31 -0600
tag as version 1.0
Russ Ross russ@russross.com
Tue, 19 Jul 2011 11:42:24 -0600
additional doc comments
Russ Ross russ@russross.com
Thu, 07 Jul 2011 12:05:29 -0600
doc improvements, commenting
Russ Ross russ@russross.com
Thu, 07 Jul 2011 11:56:45 -0600
readme tweak
Russ Ross russ@russross.com
Wed, 06 Jul 2011 10:04:30 -0600
readme updates
Russ Ross russ@russross.com
Wed, 06 Jul 2011 10:01:13 -0600
simplify naming of parsing functions
Russ Ross russ@russross.com
Tue, 05 Jul 2011 14:22:21 -0600
finished removing redundant end-of-buffer checks in block parsing; code cleanup
Russ Ross russ@russross.com
Mon, 04 Jul 2011 18:56:29 -0600
bounds checking stress tests
Russ Ross russ@russross.com
Sun, 03 Jul 2011 10:51:07 -0600
missing bounds check
Russ Ross russ@russross.com
Sun, 03 Jul 2011 10:30:28 -0600
removing more redundant checks, additional cleanup of block parsing
Russ Ross russ@dixie.edu
Fri, 01 Jul 2011 14:13:26 -0600
more consistent spacing of block-level elements
Russ Ross russ@dixie.edu
Fri, 01 Jul 2011 11:19:42 -0600
remove redundant tests for tab characters in parsing
Russ Ross russ@dixie.edu
Fri, 01 Jul 2011 10:03:03 -0600
remove NO_EXPAND_TABS options
Russ Ross russ@dixie.edu
Fri, 01 Jul 2011 09:57:11 -0600
removing redundant end-of-buffer checks in block parsing
Russ Ross russ@russross.com
Wed, 29 Jun 2011 20:15:58 -0600
move whitespace stripping to parser, not renderers
Russ Ross russ@russross.com
Wed, 29 Jun 2011 15:38:35 -0600
corner case spacing issue with table of contents
Russ Ross russ@russross.com
Wed, 29 Jun 2011 13:24:15 -0600
simplify inline callback interface
Russ Ross russ@dixie.edu
Wed, 29 Jun 2011 13:00:54 -0600
version bump to 0.6
Russ Ross russ@dixie.edu
Wed, 29 Jun 2011 11:22:20 -0600
inline helpers put parser arg first
Russ Ross russ@dixie.edu
Wed, 29 Jun 2011 11:21:46 -0600
Renderer is now an interface
Russ Ross russ@dixie.edu
Wed, 29 Jun 2011 11:13:17 -0600
preparing for switch to rendering interface
Russ Ross russ@dixie.edu
Wed, 29 Jun 2011 10:43:10 -0600
table of contents support beefed up
Russ Ross russ@dixie.edu
Wed, 29 Jun 2011 10:36:56 -0600
complete page rendering is now an option in the library
Russ Ross russ@dixie.edu
Wed, 29 Jun 2011 10:08:56 -0600
refactoring: inline renderers return bools, preparing rendering struct to become an interface
Russ Ross russ@russross.com
Tue, 28 Jun 2011 19:46:35 -0600
render -> Parser, made parsing functions methods of *Parser
Russ Ross russ@russross.com
Tue, 28 Jun 2011 18:58:53 -0600
camel case
Russ Ross russ@russross.com
Tue, 28 Jun 2011 16:02:12 -0600
added simplified interface for common usage
Russ Ross russ@russross.com
Tue, 28 Jun 2011 15:55:27 -0600
version number, few more options for command-line tool
Russ Ross russ@dixie.edu
Tue, 28 Jun 2011 11:30:10 -0600
example markdown binary: try to guess a title
Russ Ross russ@dixie.edu
Tue, 28 Jun 2011 10:58:37 -0600
options to supress tab expansion or to expand tabs to 8 spaces instead of 4
Russ Ross russ@dixie.edu
Tue, 28 Jun 2011 10:58:10 -0600
fenced code: ending marker must match beginning marker, tests for fenced code blocks
Russ Ross russ@dixie.edu
Tue, 28 Jun 2011 10:30:25 -0600
readme tweak
Russ Ross russ@russross.com
Mon, 27 Jun 2011 20:15:12 -0600
README tweak
Russ Ross russ@russross.com
Mon, 27 Jun 2011 20:14:13 -0600
simplified BSD license
Russ Ross russ@russross.com
Mon, 27 Jun 2011 20:11:32 -0600
preformatted html block tests
Russ Ross russ@russross.com
Mon, 27 Jun 2011 19:35:40 -0600
tests for ordered lists
Russ Ross russ@russross.com
Mon, 27 Jun 2011 18:03:54 -0600
horizontal rule and list testing
Russ Ross russ@russross.com
Mon, 27 Jun 2011 16:06:32 -0600
more robust whitespace stripping and matching corrections to tests
Russ Ross russ@russross.com
Mon, 27 Jun 2011 16:06:16 -0600
fixed minor bugs uncovered by more testing
Russ Ross russ@russross.com
Mon, 27 Jun 2011 14:35:11 -0600
unit tests for underlined headers, improved whitespace handling for the same
Russ Ross russ@dixie.edu
Mon, 27 Jun 2011 11:42:38 -0600
fixed headers nested in lists, added prefix header unit tests
Russ Ross russ@dixie.edu
Mon, 27 Jun 2011 10:13:13 -0600
eliminate a buffering level for paragraphs
Russ Ross russ@russross.com
Sun, 26 Jun 2011 17:21:11 -0600
clean up main markdown function: split out first and second passes
Russ Ross russ@russross.com
Sun, 26 Jun 2011 09:51:36 -0600
refactoring: newlines as hard breaks changed from HTML option to global markdown option
Russ Ross russ@russross.com
Sat, 25 Jun 2011 15:45:51 -0600
refactoring paragraph rendering
Russ Ross russ@russross.com
Sat, 25 Jun 2011 15:18:34 -0600
reduce copying for lists
Russ Ross russ@russross.com
Sat, 25 Jun 2011 15:02:46 -0600
experiment: render headers directly to output buffer to avoid a copy; minor speed boost
Russ Ross russ@russross.com
Sat, 25 Jun 2011 08:20:08 -0600
dumb tweak that gives a little speed bump
Russ Ross russ@russross.com
Fri, 24 Jun 2011 21:53:46 -0600
rewrite of attrEscape: cleaner and faster
Russ Ross russ@russross.com
Fri, 24 Jun 2011 19:11:06 -0600
enable profiling from command-line tool
Russ Ross russ@russross.com
Fri, 24 Jun 2011 17:13:42 -0600
fraction example in readme
Russ Ross russ@russross.com
Fri, 24 Jun 2011 16:42:17 -0600
more inline unit tests
Russ Ross russ@russross.com
Fri, 24 Jun 2011 16:39:50 -0600
output validates, command-line tool has useful options
Russ Ross russ@russross.com
Fri, 24 Jun 2011 11:50:03 -0600
improved (hopefully) smart quote handling
Russ Ross russ@dixie.edu
Wed, 22 Jun 2011 15:40:58 -0600
convert test files to unix format, fix a few broken ones
Russ Ross russ@dixie.edu
Fri, 10 Jun 2011 09:41:00 -0600
unit test for linebreaks
Russ Ross russ@russross.com
Wed, 01 Jun 2011 18:52:55 -0600
tab expansion bug
Russ Ross russ@russross.com
Wed, 01 Jun 2011 18:52:40 -0600
fix test name conflicts
Russ Ross russ@russross.com
Wed, 01 Jun 2011 18:52:24 -0600
Merge pull request #2 from kjk/markdown-tests integrate tests for markdown 1.0.3 test files by comparing them with refe
Russ Ross russross
Wed, 01 Jun 2011 17:24:11 -0700
starting inline unit tests, fix a few minor bugs they exposed
Russ Ross russ@russross.com
Wed, 01 Jun 2011 12:17:17 -0600
readme updates
Russ Ross russ@russross.com
Tue, 31 May 2011 16:31:36 -0600
comments, minor cleanups
Russ Ross russ@russross.com
Tue, 31 May 2011 16:28:07 -0600
rewrote the stinking pile of code that was blockParagraph
Russ Ross russ@russross.com
Tue, 31 May 2011 16:07:15 -0600
tab expansion fixed to handle multibyte unicode characters
Russ Ross russ@dixie.edu
Tue, 31 May 2011 12:04:58 -0600
gofmt
Russ Ross russ@dixie.edu
Tue, 31 May 2011 11:49:49 -0600
allocate new buffers on stack; mild speed improvement
Russ Ross russ@dixie.edu
Tue, 31 May 2011 11:11:04 -0600
export all names from Renderer struct This enables new back-ends that are not part of the package Basically a big search-and-replace for this commit
Russ Ross russ@russross.com
Mon, 30 May 2011 21:44:52 -0600
performance fix: with autolinking on, it is almost twice as fast now
Russ Ross russ@russross.com
Mon, 30 May 2011 15:36:31 -0600
remove dependency on less function
Russ Ross russ@russross.com
Mon, 30 May 2011 14:42:38 -0600
readme tweak
Russ Ross russ@russross.com
Mon, 30 May 2011 11:15:56 -0600
rudimentary latex backend, additional cleanup
Russ Ross russ@russross.com
Mon, 30 May 2011 11:06:20 -0600
split parser into multiple files, clean up naming
Russ Ross russ@russross.com
Sun, 29 May 2011 17:00:31 -0600
cleanup in markdown: better naming, misc fixes
Russ Ross russ@russross.com
Sun, 29 May 2011 11:43:18 -0600
comments on performance
Russ Ross russ@russross.com
Sun, 29 May 2011 09:30:57 -0600
fix smartypants and html entity escaping
Russ Ross russ@russross.com
Sat, 28 May 2011 22:50:33 -0600
escape entities when using smartypants
Russ Ross russ@russross.com
Sat, 28 May 2011 22:39:22 -0600
return result instead of taking buffer as input
Russ Ross russ@russross.com
Sat, 28 May 2011 22:37:12 -0600
features list
Russ Ross russ@russross.com
Sat, 28 May 2011 21:43:17 -0600
mdash
Russ Ross russ@russross.com
Sat, 28 May 2011 21:34:02 -0600
readme file
Russ Ross russ@russross.com
Sat, 28 May 2011 21:33:16 -0600
refactored into a proper package
Russ Ross russ@russross.com
Sat, 28 May 2011 21:17:53 -0600
smartypants
Russ Ross russ@dixie.edu
Sat, 28 May 2011 17:37:18 -0600
cleanup
Russ Ross russ@russross.com
Sat, 28 May 2011 13:00:47 -0600
compatibility fixes
Russ Ross russ@russross.com
Sat, 28 May 2011 09:49:21 -0600
output matches upskirt for markdown test suite
Russ Ross russ@dixie.edu
Fri, 27 May 2011 16:12:21 -0600
fixing link parsing
Russ Ross russ@russross.com
Fri, 27 May 2011 13:38:10 -0600
basics working, still a few renderers to write
Russ Ross russ@russross.com
Thu, 26 May 2011 22:27:33 -0600
parsing done but untested
Russ Ross russ@russross.com
Thu, 26 May 2011 14:22:59 -0600
working on inline parsing
Russ Ross russ@russross.com
Thu, 26 May 2011 12:10:16 -0600
emph parsing
Russ Ross russ@russross.com
Thu, 26 May 2011 09:47:41 -0600
reference extraction
Russ Ross russ@russross.com
Thu, 26 May 2011 08:28:14 -0600
setup, starting reference handling
Russ Ross russ@russross.com
Wed, 25 May 2011 20:46:16 -0600
fixed ordered lists
Russ Ross russ@dixie.edu
Wed, 25 May 2011 16:00:01 -0600
all block-level parsers
Russ Ross russ@dixie.edu
Wed, 25 May 2011 15:41:25 -0600
working on listitem
Russ Ross russ@russross.com
Wed, 25 May 2011 13:59:30 -0600
initial commit
Russ Ross russ@russross.com
Tue, 24 May 2011 16:14:35 -0600
integrate tests for markdown 1.0.3 test files by comparing them with reference files rendered with upskirt (no extensions)
Krzysztof Kowalczyk kkowalczyk@gmail.com
Wed, 01 Jun 2011 16:47:32 -0700
Add some HTML5
moshee moshee@displaynone.us
Sun, 21 Oct 2012 21:28:31 -0700
HTML5 doctype, Wrap TOC with <nav> <nav> makes the TOC more easily identifiable and workable with CSS.
moshee moshee@displaynone.us
Sun, 21 Oct 2012 21:23:44 -0700
Fix html tag ordering in doc string.
Caleb Spare cespare@gmail.com
Thu, 22 Nov 2012 12:52:52 -0800
Fix up method documentation formatting.
Caleb Spare cespare@gmail.com
Thu, 22 Nov 2012 12:12:08 -0800
fix table syntax example
Alif Rachmawadi subosito@gmail.com
Sun, 05 May 2013 10:35:09 +0700
Improve html element stripping code
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Thu, 18 Apr 2013 03:15:47 +0300
Fix typo
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sun, 14 Apr 2013 01:44:18 +0300
Add HTML_SKIP_SCRIPT to MarkdownCommon
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sun, 14 Apr 2013 01:43:21 +0300
Couple more tests
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sun, 14 Apr 2013 01:42:47 +0300
More <script> stripping Partially addresses issue #11.
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sat, 13 Apr 2013 23:24:30 +0300
Add an option to strip <script> elements Partially addresses issue #11.
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sat, 13 Apr 2013 22:57:16 +0300
Make isHtmlTag() case insensitive
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sat, 13 Apr 2013 22:34:37 +0300
Extract repetitive code to a func
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sat, 13 Apr 2013 22:26:29 +0300
Fix bug in isHtmlTag() Fix what seems to be a typo. j should iterate through all tagname, so it should be initialized to zero. The test exposes this bug.
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sat, 13 Apr 2013 22:21:47 +0300
Make a way to parameterize inline tests Expose extensions and html flags parameters so that tests could specify what code paths they want to exercise.
Vytautas Šaltenis Vytautas.Shaltenis@gmail.com
Sat, 13 Apr 2013 22:18:14 +0300
parser no longer returns prematurely from empty footnote ref
moshee moshee@displaynone.us
Mon, 08 Jul 2013 22:34:12 +0000
leftover debug stuff
moshee moshee@displaynone.us
Mon, 08 Jul 2013 09:42:29 +0000
added slice bounds check
moshee moshee@displaynone.us
Mon, 08 Jul 2013 06:54:25 +0000
Implementation and some tests for inline footnotes. Also I noticed the list items had the wrong ids, that was silly of me.
moshee moshee@displaynone.us
Mon, 01 Jul 2013 01:37:52 +0000
Referenced footnotes appear to be functional. Inline still unimplemented.
moshee moshee@displaynone.us
Wed, 26 Jun 2013 16:09:27 +0000
new tests pass but old tests now fail...
moshee moshee@displaynone.us
Wed, 26 Jun 2013 15:57:51 +0000
First attempt at supporting Pandoc-style footnotes. The existing tests have not broken but the new functionality does not work yet.
moshee moshee@displaynone.us
Tue, 25 Jun 2013 01:18:47 +0000
add testcase for GFM autolink
athom athom@126.com
Fri, 09 Aug 2013 17:24:26 +0800
make autolink peforms like GFM
athom athom@126.com
Fri, 09 Aug 2013 16:28:35 +0800
add EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK flag to make it closer to GFM(Github flavor Markdown)
athom athom@126.com
Tue, 30 Jul 2013 10:32:11 +0800
Fix typo.
Antoine Grondin antoinegrondin@gmail.com
Sun, 01 Sep 2013 10:59:06 -0700
Image inside a link now works.
Alex Xandra Albert Sim bertzzie@gmail.com
Mon, 09 Sep 2013 12:51:46 +0700
Added test for link inside image
Alex Xandra Albert Sim bertzzie@gmail.com
Mon, 09 Sep 2013 12:51:20 +0700
Updated tests to check for th tags instead of td tags within thead blocks
David Kitchen david@buro9.com
Thu, 17 Oct 2013 10:35:44 +0100
Added th to table headers so that styling with things like Twitter Bootstrap and typeset.css work as expected. Cells in headers should always be TH unless they are advisory cells within headers in which case TD is acceptable (but being Markdown a user with such needs could just enter HTML for this)
David Kitchen david@buro9.com
Wed, 16 Oct 2013 11:36:33 +0100
Tests for links when using HTML_SAFELINK
Darren Coxall darren@darrencoxall.com
Thu, 19 Dec 2013 10:00:47 +0000
Relative URIs are considered safe
Darren Coxall darren.coxall@simplybusiness.co.uk
Mon, 09 Dec 2013 14:41:37 +0000
add HTML_NOFOLLOW_LINKS
Graham Miller graham.miller@gmail.com
Tue, 25 Feb 2014 09:21:57 -0500
Add a note about JavaScript injections to README
Vytautas Šaltenis vytas@rtfb.lt
Mon, 17 Feb 2014 21:08:10 +0200
Rename HTML_SKIP_SCRIPT to HTML_SANITIZE_OUTPUT
Vytautas Šaltenis vytas@rtfb.lt
Wed, 22 Jan 2014 01:23:43 +0200
Rewrite protection against JavaScript injection This drops the naive approach at <script> tag stripping and resorts to full sanitization of html. The general idea (and the regexps) is grabbed from Stack Exchange's PageDown JavaScript Markdown processor[1]. Like in PageDown, it's implemented as a separate pass over resulting html. Includes a metric ton (but not all) of test cases from here[2]. Several are commented out since they don't pass yet. Stronger (but still incomplete) fix for #11. [1] http://code.google.com/p/pagedown/wiki/PageDown [2] https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
Vytautas Šaltenis vytas@rtfb.lt
Wed, 22 Jan 2014 01:14:35 +0200
Extract useful code to separate func
Vytautas Šaltenis vytas@rtfb.lt
Wed, 22 Jan 2014 00:45:43 +0200
Fix bug in autolink with trailing semicolon In case the link ends with escaped html entity, the semicolon is a part of the link and should not be interpreted as punctuation.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 26 Jan 2014 23:40:26 +0200
Fix bug in autolink overescaping html entities If autolink encounters a link which already has an escaped html entity, it would escape the ampersand again, producing things like these: & --> &amp; " --> &quot; This commit solves that by first looking for all entity-looking things in the link and copying those ranges verbatim, only considering the rest of the string for escaping. Doesn't seem to have considerable performance impact. The mailto: links are processed the old way.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 26 Jan 2014 21:39:38 +0200
Extract a chain of ifs into separate func This gives a ~10% slowdown of a full test run, which is tolerable. Switch statement is still slightly slower (~5%). Using map turned out to be unacceptably slow (~3x slowdown).
Vytautas Šaltenis vytas@rtfb.lt
Sun, 26 Jan 2014 21:27:34 +0200
go fmt
Vytautas Šaltenis vytas@rtfb.lt
Sun, 26 Jan 2014 21:21:25 +0200
Fix bug in autolink termination Detect the end of link when it is immediately followed by an element.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 25 Jan 2014 21:59:38 +0200
Fix bug with overzealous autolink processing When the source Markdown contains an anchor tag with URL as link text (i.e. <a href=...>http://foo.bar</a>), autolink converts that link text into another anchor tag, which is nonsense. Detect this situation with regexp and early exit autolink processing.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 25 Jan 2014 21:42:34 +0200
Explicit return byte array at end of function.
Kjetil Mehl aspic@mehl.no
Sat, 05 Apr 2014 16:59:28 +0200
Revert "add an infinity-loop detection to block-level parsing" This reverts commit 0c62e28e900533ff5d0376fac2e5b0c4894e1fa3.
Mathias Leppich mleppich@muhqu.de
Tue, 08 Apr 2014 11:51:17 +0200
optimisation: only fix fenced code blocks if the extensions parser flag is set... ;-)
Mathias Leppich mleppich@muhqu.de
Tue, 01 Apr 2014 23:14:31 +0200
out-comment stderr debug output
Mathias Leppich mleppich@muhqu.de
Sun, 30 Mar 2014 22:30:38 +0200
add some stderr output to reference stress tests
Mathias Leppich mleppich@muhqu.de
Sun, 30 Mar 2014 22:29:24 +0200
fix issue #45: 'Fenced Code Blocks without a blank line before' Add missing newline between paragraph and fenced code block within `firstPass()`.
Mathias Leppich mleppich@muhqu.de
Sun, 30 Mar 2014 21:57:58 +0200
add error message when panic has been raised within `doTestsBlock()`
Mathias Leppich mleppich@muhqu.de
Sun, 30 Mar 2014 21:59:20 +0200
add an infinity-loop detection to block-level parsing
Mathias Leppich mleppich@muhqu.de
Sun, 30 Mar 2014 00:04:45 +0100
add test cases for issue #45
Mathias Leppich mleppich@muhqu.de
Sun, 30 Mar 2014 22:00:26 +0200
Also support header IDs in ## headers ##
Dave Johnston johnsto@gmail.com
Sun, 06 Apr 2014 10:30:40 +0100
Correctly emit trailing header ID brace
Dave Johnston johnsto@gmail.com
Sat, 05 Apr 2014 20:59:03 +0100
Add Header IDs to default extensions
Dave Johnston johnsto@gmail.com
Sat, 05 Apr 2014 20:45:57 +0100
Add header ID support and tests: # Header {#myid}
Dave Johnston johnsto@gmail.com
Sat, 05 Apr 2014 20:42:58 +0100
Fix bug where newlines were inserted inside fenced code blocks. Change firstPass() code that checks for fenced code blocks to check all of them and properly keep track of lastFencedCodeBlockEnd. This way, it won't misinterpret the end of a fenced code block as a beginning of a new one.
Dmitri Shuralyov shurcooL@gmail.com
Fri, 11 Apr 2014 21:27:28 -0700
Add failing test for an issue introduced by PR #56. The issue is that when there are more than 1 fenced code blocks with a blank line before and after, the parser introduces a single extra new line to all the fenced code blocks except the last one.
Dmitri Shuralyov shurcooL@gmail.com
Fri, 11 Apr 2014 19:54:55 -0700
Don't expand tabs inside fenced code blocks. Still do normalize newlines inside fenced code blocks.
Dmitri Shuralyov shurcooL@gmail.com
Sat, 12 Apr 2014 14:45:25 -0700
tagWhitelist allows alignment attribute now This is the closest I could get to removing everything "unsave" without introducing an additional regex.
willnix frieder.steinmetz@gmail.com
Sat, 19 Apr 2014 21:59:04 +0000
Add table tags to the whitelist. Fixing: https://github.com/russross/blackfriday/commit/55cd82008e9b35b9a03a80e06d5a4c4601320211 This commit introduced a html tag whitelist which does not include any table tags (<td>,<tr>,<thead>...). Therefore even tables the markdown parser itself generated will be removed.
willnix frieder.steinmetz@gmail.com
Thu, 17 Apr 2014 15:44:40 +0000
Use go.net/html's parser to sanitize HTML. Use an HTML5 compliant parser that interprets HTML as a browser would to parse the Markdown result and then sanitize based on the result. Escape unrecognized and disallowed HTML in the result. Currently works with a hard coded whitelist of safe HTML tags and attributes.
Martin Probst martin@probst.io
Sun, 27 Apr 2014 23:40:44 +0200
Merge branch 'master' of github.com:gihnius/blackfriday into gihnius-master Conflicts: html.go inline_test.go
Vytautas Šaltenis vytas@rtfb.lt
Thu, 01 May 2014 21:43:42 +0300
test: add nofollow ref for non internal links only
gihnius gihnius@gmail.com
Fri, 21 Mar 2014 11:17:31 +0800
add nofollow ref for non internal links only
gihnius gihnius@gmail.com
Fri, 21 Mar 2014 11:14:58 +0800
add target blank attr
gihnius gihnius@gmail.com
Fri, 21 Mar 2014 10:52:46 +0800
fix: Handle all different token types that the parser can emit (d'oh).
Martin Probst martin@probst.io
Thu, 01 May 2014 20:55:53 +0200
Add support for a bunch more safe HTML element tags, and bring them into some order.
Martin Probst martin@probst.io
Thu, 01 May 2014 22:08:32 +0200
Add a test for the correct handling of escaped entities in HTML. The sanitization code does not retain any particular escaped entities - it parses the HTML and thus loses the information on what entities were in the original. The result is correct UTF-8 HTML though.
Martin Probst martin@probst.io
Sat, 03 May 2014 12:34:16 +0200
Avoid raw mode parsing so that raw mode tags like <script> don't cause issues. Certain tags like <script> but also <title> and others switch an HTML5 parser into raw mode, which causes the rest of the HTML string to be always parsed as text, including any elements or entities that we do want to support (e.g. <p>). As we're going to escape any of the raw text elements anyway (it's e.g. script, style, title, xmp, noframes, and a couple of others) we can just switch of raw text parsing by disabling it after each starting tag.
Martin Probst martin@probst.io
Sat, 03 May 2014 12:58:25 +0200
feat: Write self-closing tags with a /> Adds tests for self-closing tags both for correct writing and for correct sanitization, i.e. stripping attributes on them.
Martin Probst martin@probst.io
Sat, 03 May 2014 12:58:25 +0200
Avoid double alloc
Dave Johnston johnsto@gmail.com
Sat, 03 May 2014 08:50:44 +0100
Fix fenced code extn modifying data beyond slice
Dave Johnston johnsto@gmail.com
Fri, 02 May 2014 23:05:06 +0100
Move sanitization tests into their own file. Also adds an explicit test for [link](...) syntax to be sanitized.
Martin Probst martin@probst.io
Sat, 03 May 2014 14:37:23 +0200
allow \~ to escape as ~
athom athom@126.com
Tue, 01 Oct 2013 15:15:55 +0800
Add Usage heading
Jeff Paine JeffPaine@users.noreply.github.com
Thu, 08 May 2014 18:42:05 -0400
Sanitize shouldn't filter out URLs without protocol.
Daniel Imfeld daniel@danielimfeld.com
Fri, 16 May 2014 03:28:44 -0500
Fix spelling error
Daniel Imfeld daniel@danielimfeld.com
Wed, 28 May 2014 23:52:45 -0500
Add tests for absolute prefix
Daniel Imfeld daniel@danielimfeld.com
Sun, 25 May 2014 13:22:33 -0500
Add tests for new footnote functionality
Daniel Imfeld daniel@danielimfeld.com
Sun, 25 May 2014 13:07:05 -0500
Move footnote prefix to a better place
Daniel Imfeld daniel@danielimfeld.com
Sat, 24 May 2014 14:28:37 -0500
Use parameters object for extra options. Enhance footnote support. Option to add return links. Option to make footnote prefixes unique, for rendering multiple documents per page.
Daniel Imfeld daniel@danielimfeld.com
Sat, 24 May 2014 13:29:39 -0500
Add footnote prefix option. Needs testing
Daniel Imfeld daniel@danielimfeld.com
Sat, 24 May 2014 02:55:13 -0500
Add ability to convert relative links to absolute
Daniel Imfeld daniel@danielimfeld.com
Sun, 18 May 2014 01:28:15 -0500
Remove unnecessary HTML_ABSOLUTE_LINKS flag
Daniel Imfeld daniel@danielimfeld.com
Thu, 29 May 2014 09:17:20 -0500
Add a reference to github_flavored_markdown in README.
Dmitri Shuralyov shurcooL@gmail.com
Fri, 04 Jul 2014 18:10:34 -0700
Whitelisted th and td to fix #79
anonx anonx@anonx
Tue, 22 Jul 2014 19:34:23 +0600
Add titleblock support
Brian Goff cpuguy83@gmail.com
Fri, 01 Aug 2014 22:54:21 -0400
Improve parser to detect LineBreak independently of renderer. When checking if it's a newline preceeded by two spaces, look at the input data rather than the output, since the output depends on the renderer implementation.
Dmitri Shuralyov shurcooL@gmail.com
Tue, 26 Aug 2014 21:00:07 -0700
Use HTML5 recommended style of language on code blocks For code blocks that contain a certain language of code, the recommended attribute structure is <pre><code class="language-foo">. This also corresponds to the behavior expected by various JS syntax highlighters. The GitHub code block implementation was obsolete, and identical to the normal implementation except for its attribute structure, so it was removed. Closes #108.
tummychow tummychow@users.noreply.github.com
Wed, 27 Aug 2014 23:26:20 -0400
Remove go tip from Travis build matrix
Vytautas Šaltenis vytas@rtfb.lt
Sat, 30 Aug 2014 10:09:18 +0300
More Travis stuff: better go get, plus build badge
Vytautas Šaltenis vytas@rtfb.lt
Sat, 30 Aug 2014 00:10:33 +0300
Add a simple Travis config
Vytautas Šaltenis vytas@rtfb.lt
Fri, 29 Aug 2014 15:39:26 +0300
Change Sanitize() to SanitizeBytes() in example
Vytautas Šaltenis vytas@rtfb.lt
Sat, 20 Sep 2014 14:48:01 +0300
Document usage of blackfriday along w/ bluemonday
Vytautas Saltenis vytas@rtfb.lt
Fri, 19 Sep 2014 20:50:54 +0300
Rip off all blackfriday's html sanitization effort As per discussion in issue #90.
Vytautas Saltenis vytas@rtfb.lt
Fri, 19 Sep 2014 20:30:00 +0300
Convert silly funcs to consts
Vytautas Saltenis vytas@rtfb.lt
Mon, 22 Sep 2014 11:44:58 +0300
Make sure relative URLs are preserved Add tests to make sure we don't break relative URLs again. Extracted common html flags and common extensions for easy access from tests. Closes issue #104, which was fixed as a side effect of cf6bfc9.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 21 Sep 2014 16:29:24 +0300
Use supplied header ID for TOC rendering. - Fixes #112 so that `#header {#header-id}` renders the TOC with `#header-id` instead of `#toc_1`.
Austin Ziegler austin@zieglers.ca
Mon, 27 Oct 2014 16:49:28 -0400
Add a flag to turn on header ID generation. - Fixes #51, #101, and #102. - Uses the [code][gfm] mentioned by @shurcooL from his Github Flavored Markdown parser extension in a [comment on #102][comment]. Since this was mentioned, I assumed that @shurcooL would be OK with this being included under the licence provided by blackfriday (there is no licence comment on his code). - I’ve added it behind another flag, EXTENSION_AUTO_HEADER_IDS, that would need to be turned on for it to work. It works with both prefix and underline headers. [gfm]: https://github.com/shurcooL/go/blob/3bec0366a85101d116bf88b477e92ea6cdd75e4e/github_flavored_markdown/main.go#L90-L102 [comment]: https://github.com/russross/blackfriday/issues/102#issuecomment-51272260
Austin Ziegler austin@zieglers.ca
Mon, 27 Oct 2014 16:54:23 -0400
Prevent generated header collisions, less naively. > This is a rework of an earlier version of this code. The automatic header ID generation code submitted in #125 has a subtle bug where it will use the same ID for multiple headers with identical text. In the case below, all the headers are rendered a `<h1 id="header">Header</h1>`. ```markdown # Header # Header # Header # Header ``` This change is a simple but robust approach that uses an incrementing counter and pre-checking to prevent header collision. (The above would be rendered as `header`, `header-1`, `header-2`, and `header-3`.) In more complex cases, it will append a new counter suffix (`-1`), like so: ```markdown # Header # Header 1 # Header # Header ``` This will generate `header`, `header-1`, `header-1-1`, and `header-1-2`. This code has two additional changes over the prior version: 1. Rather than reimplementing @shurcooL’s anchor sanitization code, I have imported it as from `github.com/shurcooL/go/github_flavored_markdown/sanitized_anchor_name`. 2. The markdown block parser is now only interested in *generating* a sanitized anchor name, not with ensuring its uniqueness. That code has been moved to the HTML renderer. This means that if the HTML renderer is modified to identify all unique headers prior to rendering, the hackish nature of the collision detection can be eliminated.
Austin Ziegler austin@zieglers.ca
Sat, 01 Nov 2014 18:35:35 -0400
Allow configurable header ID prefix/suffixes. This is specifically driven by the Hugo usecase where multiple documents are often rendered into the same ultimate HTML page. When a header ID is written to the output HTML format (either through `HTML_TOC`, `EXTENSION_HEADER_IDS`, or `EXTENSION_AUTO_HEADER_IDS`), it is possible that multiple documents will hvae identical header IDs. To permit validation to pass, it is useful to have a per-document prefix or suffix (in our case, an MD5 of the content filename, and we will be using it as a suffix). That is, two documents (`A` and `B`) that have the same header ID (`# Reason {#reason}`), will end up having an actual header ID of the form `#reason-DOCID` (e.g., `#reason-A`, `#reason-B`) with these HTML parameters. This is built on top of #126 (more intelligent collision detection for `EXTENSION_AUTO_HEADER_IDS`).
Austin Ziegler austin@zieglers.ca
Sun, 23 Nov 2014 20:37:27 -0500
Fix test case. Fix a minor issue in expected anchor after recent PR. The tests were written before the improvement that squashes non-alphanumeric characters into a single dash, and does not include dashes at the beginning and end. This updates the test case to match that behavior so that tests pass and Travis is green.
Dmitri Shuralyov shurcooL@gmail.com
Mon, 24 Nov 2014 20:01:03 -0800
Add support for angled, double quotes The flag `HTML_SMARTYPANTS_ANGLED_QUOTES` combined with `HTML_USE_SMARTYPANTS` configures rendering of double quotes as angled left and right quotes (« »). The SmartyPants documentation mentions a special syntax for these, `<<>>`, a syntax neither pretty nor user friendly. Typical use cases would be either or, or combined, but never in the same document. As an example would be a person from Norway; he has a blog in both English and Norwegian (his native tounge); he would then configure Blackfriday to use angled quotes for the Norwegian section, but keep them as reqular double quotes for the English. If the flag `HTML_SMARTYPANTS_ANGLED_QUOTES` is not provided, everything works as before this commit.
bep bjorn.erik.pedersen@gmail.com
Wed, 05 Nov 2014 23:18:32 +0100
Minor cleanup. Apply gofmt on html.go. Apply goimports-compatible formatting on block.go (space between standard and third party imports). Move Travis build status image in a more pleasing, common location. Remove "Markdown pretty-printer output engine" from TODO steps; this is already done in markdownfmt. Remove unneeded trailing whitespace in README.
Dmitri Shuralyov shurcooL@gmail.com
Sat, 29 Nov 2014 20:41:11 -0800
fix #19: return immediately from link skipping if end of emphasis is found
KenjiTakahashi wozniakk@gmail.com
Mon, 29 Dec 2014 00:32:26 +0100
add tests for emphasis with links
KenjiTakahashi wozniakk@gmail.com
Wed, 24 Dec 2014 22:05:29 +0100
Update import path of sanitized_anchor_name. It has moved into a smaller standalone repo. Closes #139.
Dmitri Shuralyov shurcooL@gmail.com
Sat, 10 Jan 2015 18:23:29 -0800
Avoid converting dates into fractions So that dates like 1/2/2005 and 2005/3/4 stay the way it is without turning into ½/2005 and 2005/¾. See http://discuss.gohugo.io/t/any-way-to-disable-smart-fractions/328 for discussions.
Anthony Fok foka@debian.org
Sat, 24 Jan 2015 15:23:48 -0700
Move the license info from README to LICENSE file It's pretty standard to have a license file, and some projects require them before your code can be used in their code. Move the license to its own file.
Eric Paris eparis@redhat.com
Mon, 09 Feb 2015 15:56:18 -0500
Delete unnecessary copy of input when enable fenced code extension Copy of input waste time and memory. Signed-off-by: Tw <tw19881113@gmail.com>
Tw tw19881113@gmail.com
Wed, 11 Feb 2015 14:59:40 +0800
add rel="noreferrer" option
Beyang Liu beyang@sourcegraph.com
Sat, 14 Mar 2015 16:46:32 -0700
README: rename libupskirt to Sundown. The original upskirt library by Natacha Porté has been renamed to libsoldout, while the fork of it that was located at tanoku/upskirt has been renamed to Sundown and moved to vmg/sundown. Since Blackfriday has been started as a translation of tanoku/upskirt, rename its mention in README to Sundown.
Dmitry Chestnykh dmitry@codingrobots.com
Tue, 24 Mar 2015 06:32:12 +0100
Rename upskirtref to testdata; upskirtref_test.go to ref_test.go.
Dmitry Chestnykh dmitry@codingrobots.com
Tue, 24 Mar 2015 06:27:58 +0100
Fix recognition of consecutive footnotes The second footnote was treated as if the pair of them were a reference style link, without checking if the second bit is another footnote. Fixes issue 158.
Vytautas Šaltenis vytas@rtfb.lt
Fri, 03 Apr 2015 21:05:54 +0300
update func isSafeLink
elian0211 elian0211@gmail.com
Wed, 25 Feb 2015 21:27:13 +0800
update about links when link to current directory or parent directory
elian0211 elian0211@gmail.com
Fri, 20 Feb 2015 17:06:55 +0800
Added test for backslash line break
neclepsio neclepsio@gmail.com
Thu, 23 Apr 2015 10:49:08 +0200
Add EXTENSION_BACKSLASH_LINE_BREAK
neclepsio neclepsio@gmail.com
Wed, 22 Apr 2015 14:10:44 +0200
Use EXTENSION_BACKSLASH_LINE_BREAK
neclepsio neclepsio@gmail.com
Wed, 22 Apr 2015 14:09:39 +0200
Fix previous commit Backslash was not removed from output.
neclepsio neclepsio@gmail.com
Wed, 22 Apr 2015 14:04:08 +0200
Implement backslash hard line break See http://spec.commonmark.org/0.18/#example-527
neclepsio neclepsio@gmail.com
Wed, 22 Apr 2015 12:23:19 +0200
Cleanup a random bunch of repetitive loops Replace them with helper function calls.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 07 Apr 2015 21:59:42 +0300
Allow heading to end with \# The problem was in a loop that skipped the optional closing hashes in a heading like this: ### This is an H3 ### Now it checks to see if a hash is escaped and if it is, treats it as a rightmost character of the heading text, like this: ### This is an H3 #\## ==> ### This is an H3 ## Fixes issue #146.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 07 Apr 2015 21:12:29 +0300
Add a missing test case for reference override Exercise link text override.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 06 May 2015 15:57:15 +0300
Replace snake_case with mixedCase
Vytautas Šaltenis vytas@rtfb.lt
Wed, 06 May 2015 15:55:04 +0300
Merge branch 'master' of https://github.com/jtolds/blackfriday into jtolds-master Conflicts: inline_test.go
Vytautas Šaltenis vytas@rtfb.lt
Wed, 06 May 2015 15:41:12 +0300
support replacing [refid][] syntax link content with alternate content
JT Olds hello@jtolds.com
Thu, 18 Dec 2014 17:36:46 -0700
Add programmable reference overrides If a user provides a ReferenceOverride function, then reference ids will be passed to the given ReferenceOverride function first, before consulting the generated reference table. The goal here is to enable programmable support for "WikiWords"-style identifiers or other application-specific user-generated keywords. Example, writing documentation: The [Frobnosticator][] is a very important class in our codebase. While it is used to frobnosticate widgets in general, it can also be passed to the [WeeDoodler][] to interesting effect. This might be solveable with the HTML Renderer relative prefix, but I didn't see a good way of making a short link to 'Frobnosticator' relatively without having to write it twice. Maybe '<Frobnosticator>' should work? Should Autolinks work for relative links? In addition, I wanted a little more richness. I plan to support Godoc links by prefixing references with a '!', like so: Check out the [Frobnosticator][] helper function [!util.Frobnosticate()][] The first link links to the Frobnosticator architectural overview documentation, whereas the second links to Godoc. Better advice on how to implement this sort of think with Blackfriday is highly desired.
JT Olds hello@jtolds.com
Tue, 16 Dec 2014 16:17:49 -0700
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.
Dmitri Shuralyov shurcooL@gmail.com
Mon, 25 May 2015 12:41:06 -0700
Add definition lists extension support
Vincent Batoufflet vincent@batoufflet.info
Fri, 29 May 2015 13:30:49 +0200
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>
Tw tw19881113@gmail.com
Mon, 08 Jun 2015 15:31:55 +0800
Fix definition lists end-of-list detection
Vincent Batoufflet vincent@batoufflet.info
Sun, 07 Jun 2015 09:36:53 +0200
Fix escaping asterisks within emphasis First check for escaped character, *then* look if i-th character is an emphasis character. Closes #18.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 13 Oct 2015 19:57:07 +0300
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.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 12 Oct 2015 21:06:27 +0300
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.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 12 Oct 2015 21:18:33 +0300
Spread out test cases for readability
Vytautas Šaltenis vytas@rtfb.lt
Tue, 20 Oct 2015 20:31:08 +0300
Handle comments within a block Added test cases both for inline and block workflows. Closes #136.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 11 Oct 2015 11:01:48 +0300
Add HTML_SMARTYPANTS_DASHES for toggling smart dashes
Anthony Fok foka@debian.org
Mon, 03 Aug 2015 23:57:26 -0600
README: Add 'Definition lists' and 'Footnotes'
nitoyon nitoyon@gmail.com
Sat, 31 Oct 2015 00:50:10 +0900
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.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 01 Nov 2015 09:32:30 +0200
Merge pull request #214 from russross/issue-122-test-readability Make test values more readable, add additional test cases.
Vytautas Šaltenis vytas@rtfb.lt
Sun, 01 Nov 2015 09:25:47 +0200
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.
Vytautas Šaltenis vytas@rtfb.lt
Thu, 29 Oct 2015 20:06:27 +0200
Move complex conditional to a helper func
Vytautas Šaltenis vytas@rtfb.lt
Thu, 29 Oct 2015 20:02:11 +0200
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.
Vytautas Šaltenis vytas@rtfb.lt
Wed, 28 Oct 2015 21:37:14 +0200
Make test values more readable, add additional test cases.
Dmitri Shuralyov shurcooL@gmail.com
Sat, 31 Oct 2015 14:35:21 -0700
Minor style fix: declare ref first in a loop
Vytautas Šaltenis vytas@rtfb.lt
Wed, 04 Nov 2015 21:07:39 +0200
Add String() method to reference struct
Vytautas Šaltenis vytas@rtfb.lt
Mon, 02 Nov 2015 20:24:34 +0200
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.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 02 Nov 2015 20:17:46 +0200
Reformat a dustball of ifs into a switch statement
Vytautas Šaltenis vytas@rtfb.lt
Wed, 04 Nov 2015 21:32:53 +0200
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.
Vytautas Šaltenis vytas@rtfb.lt
Tue, 03 Nov 2015 20:52:36 +0200
v2: Only include test helpers inside test package.
Dmitri Shuralyov shurcooL@gmail.com
Fri, 01 Jul 2016 11:47:39 -0700
Fix empty path to CSS
Pierre Neidhardt ambrevar@gmail.com
Fri, 01 Jul 2016 18:13:21 +0200
Fix issue in fenced code block pre-processing. Forwardport changes from #280. Fixes #279.
Dmitri Shuralyov shurcooL@gmail.com
Fri, 15 Jul 2016 17:03:02 -0400
Return a *HTMLRenderer from NewHTMLRenderer Interfaces should be satisfied implicitly.
Pierre Neidhardt ambrevar@gmail.com
Fri, 01 Jul 2016 13:25:26 +0200
Make Node satisfy the Stringer interface It allows for printing AST dumps in external code
Pierre Neidhardt ambrevar@gmail.com
Fri, 01 Jul 2016 13:24:44 +0200
Shorten method receivers in Smartypants
Vytautas Šaltenis vytas@rtfb.lt
Thu, 28 Jul 2016 19:26:25 +0300
Fix bullet points in MarkdownCommon docs
Vytautas Šaltenis vytas@rtfb.lt
Thu, 28 Jul 2016 19:23:04 +0300
More lint: smartypants.go
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 21:45:25 +0300
More lint: block.go
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 21:40:45 +0300
More lint: inline.go
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 21:31:29 +0300
More lint: markdown.go and ripples to other files
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 21:28:41 +0300
Lint node.go
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 21:04:20 +0300
Fix a few lint errors, a.k.a. improve docs
Vytautas Šaltenis vytas@rtfb.lt
Wed, 27 Jul 2016 10:11:13 +0300
Enable common extensions for benchmark Also, reset the timer after loading test data.
Vytautas Šaltenis vytas@rtfb.lt
Sat, 30 Jul 2016 21:40:13 +0300
Repeat a run of reference tests under benchmark Will help with optimizing later on.
Vytautas Šaltenis vytas@rtfb.lt
Mon, 25 Jul 2016 19:39:51 +0300
Fix walk so that it does not step outside the root node When passed a non-container root node, or when the visitor whould return SkipChildren for the root node, the former algorithm would go on walking down the rest of the tree beyond the root. This commit also removes unneeded functions and variables.
Pierre Neidhardt ambrevar@gmail.com
Wed, 03 Aug 2016 12:25:38 +0530
Add TOC generation tests
Pierre Neidhardt ambrevar@gmail.com
Tue, 09 Aug 2016 15:08:47 +0530
Break lines properly in TOC generation and omit content if required
Pierre Neidhardt ambrevar@gmail.com
Tue, 09 Aug 2016 14:59:22 +0530
Move TOC generation to the HTML Renderer
Pierre Neidhardt ambrevar@gmail.com
Tue, 09 Aug 2016 12:37:44 +0530
Add Icon parameter to the HTML renderer
Pierre Neidhardt ambrevar@gmail.com
Tue, 09 Aug 2016 17:54:34 +0530
Export tree manipulation functions
Pierre Neidhardt ambrevar@gmail.com
Tue, 09 Aug 2016 09:06:55 +0530
Factor Smartypants to HTML Smartypants is HTML-specific. There is no need to run Smartypants from `Render()`. This simplifies extensions built upon the HTML renderer.
Pierre Neidhardt ambrevar@gmail.com
Wed, 10 Aug 2016 09:56:37 +0530
html.go: Lint RenderNode()
Pierre Neidhardt ambrevar@gmail.com
Wed, 10 Aug 2016 15:36:50 +0530