From d844195be137d6e67fd7eace5ad4d5f1310e7401 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab <hakim.elhattab@gmail.com> Date: Mon, 28 Oct 2013 09:06:43 -0400 Subject: [PATCH] format tweaks markdown.js, remove extra image asset --- plugin/markdown/markdown.js | 30 ++++++++++++--------- test/red-curtain-50x50.jpg | Bin 1995 -> 0 bytes test/test-element-attributes-markdown.html | 12 ++++----- 3 files changed, 22 insertions(+), 20 deletions(-) delete mode 100644 test/red-curtain-50x50.jpg diff --git a/plugin/markdown/markdown.js b/plugin/markdown/markdown.js index fccc442..d6c6c45 100755 --- a/plugin/markdown/markdown.js +++ b/plugin/markdown/markdown.js @@ -28,7 +28,7 @@ var DEFAULT_SLIDE_SEPARATOR = '^\n---\n$', DEFAULT_NOTES_SEPARATOR = 'note:'; - DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '{\\\.\s*?([^}]+?)}'; + DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '{_\s*?([^}]+?)}'; /** @@ -277,46 +277,50 @@ * directly on refresh (F5) * http://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development/7000899#answer-11786277 */ - function addAttributeInElement( node, elementTarget, separator ){ + function addAttributeInElement( node, elementTarget, separator ) { + var mardownClassesInElementsRegex = new RegExp( separator, 'mg' ); var mardownClassRegex = new RegExp( "([^\"= ]+?)=\"([^\"=]+?)\"", 'mg' ); var nodeValue = node.nodeValue; - if ( matches = mardownClassesInElementsRegex.exec( nodeValue ) ) { + if( matches = mardownClassesInElementsRegex.exec( nodeValue ) ) { var classes = matches[1]; nodeValue = nodeValue.substring( 0, matches.index ) + nodeValue.substring( mardownClassesInElementsRegex.lastIndex ); node.nodeValue = nodeValue; while( matchesClass = mardownClassRegex.exec( classes ) ) { - elementTarget.setAttribute(matchesClass[1], matchesClass[2]); + elementTarget.setAttribute( matchesClass[1], matchesClass[2] ); } } + } /** * Add attributes to the parent element of a text node, * or the element of an attribute node. */ - function addAttributes( element, separator ) - { - if ( element.childNodes.length > 0 ) { + function addAttributes( element, separator ) { - for ( var i = 0; i < element.childNodes.length; i++ ) { + if( element.childNodes.length > 0 ) { + for( var i = 0; i < element.childNodes.length; i++ ) { addAttributes( element.childNodes[i], separator ); } } + var nodeValue; var elementTarget; + // From http://stackoverflow.com/questions/9178174/find-all-text-nodes - if ( element.nodeType == Node.TEXT_NODE && /\S/.test(element.nodeValue) ) { + if( element.nodeType == Node.TEXT_NODE && /\S/.test(element.nodeValue) ) { addAttributeInElement( element, element.parentNode, separator ); } - if ( element.nodeType == Node.ELEMENT_NODE && element.attributes.length > 0 ) { - for ( iattr=0; iattr<element.attributes.length; iattr++ ){ - var attr = element.attributes[iattr]; - addAttributeInElement(attr, element, separator ) + if( element.nodeType == Node.ELEMENT_NODE && element.attributes.length > 0 ) { + for( var j = 0; j < element.attributes.length; j++ ){ + var attr = element.attributes[j]; + addAttributeInElement( attr, element, separator ); } } + } /** diff --git a/test/red-curtain-50x50.jpg b/test/red-curtain-50x50.jpg deleted file mode 100644 index ddfe7a637d747dedc7c7c71a01431e7e76e0eb6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1995 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 diff --git a/test/test-element-attributes-markdown.html b/test/test-element-attributes-markdown.html index e547d16..b7ab054 100644 --- a/test/test-element-attributes-markdown.html +++ b/test/test-element-attributes-markdown.html @@ -22,9 +22,7 @@ <!-- <section data-markdown="example.md" data-separator="^\n\n\n" data-vertical="^\n\n"></section> --> <!-- Slides are separated by newline + three dashes + newline, vertical slides identical but two dashes --> - <section data-markdown data-separator="^\n---\n$" - data-vertical="^\n--\n$" - data-element-attributes="{_\s*?([^}]+?)}"> + <section data-markdown data-separator="^\n---\n$" data-vertical="^\n--\n$"> <script type="text/template"> ## Slide 1.1 {_class="fragment fade-out" data-fragment-index="1"} @@ -60,10 +58,10 @@ - list item 3 {_class="fragment highlight-green"} - list item 4 {_class="fragment highlight-green"} - list item 5 {_class="fragment highlight-green"} - -Test - - + + Test + +  </script> </section> -- GitLab