From a0cbcefe82a6bff0a9b44550e22244d6d5d727c0 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 11 Jan 2015 21:11:31 -0800 Subject: A few changes to JS so its xml matches cmark's. Always add '' as title property if title is not defined. --- js/lib/inlines.js | 6 ++++-- js/lib/xml.js | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/js/lib/inlines.js b/js/lib/inlines.js index 4d49861..bcb9ee8 100644 --- a/js/lib/inlines.js +++ b/js/lib/inlines.js @@ -232,6 +232,7 @@ var parseAutolink = function(block) { dest = m.slice(1, -1); node = new Node('Link'); node.destination = 'mailto:' + encodeURI(unescape(dest)); + node.title = ''; node.appendChild(text(dest)); block.appendChild(node); return true; @@ -239,6 +240,7 @@ var parseAutolink = function(block) { dest = m.slice(1, -1); node = new Node('Link'); node.destination = encodeURI(unescape(dest)); + node.title = ''; node.appendChild(text(dest)); block.appendChild(node); return true; @@ -599,7 +601,7 @@ var parseCloseBracket = function(block) { this.spnl() && // make sure there's a space before the title: (reWhitespaceChar.test(this.subject.charAt(this.pos - 1)) && - (title = this.parseLinkTitle() || '') || true) && + (title = this.parseLinkTitle()) || true) && this.spnl() && this.subject.charAt(this.pos) === ')') { this.pos += 1; @@ -635,7 +637,7 @@ var parseCloseBracket = function(block) { if (matched) { var node = new Node(is_image ? 'Image' : 'Link'); node.destination = dest; - node.title = title; + node.title = title || ''; var tmp, next; tmp = opener.node.next; diff --git a/js/lib/xml.js b/js/lib/xml.js index 30b44c8..056bcc5 100644 --- a/js/lib/xml.js +++ b/js/lib/xml.js @@ -111,7 +111,9 @@ var renderNodes = function(block) { } break; case 'CodeBlock': - attrs.push(['info', node.info]); + if (node.info) { + attrs.push(['info', node.info]); + } break; case 'Header': attrs.push(['level', String(node.level)]); -- cgit v1.2.3