aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xplugin/markdown/markdown.js30
-rw-r--r--test/red-curtain-50x50.jpgbin1995 -> 0 bytes
-rw-r--r--test/test-element-attributes-markdown.html12
3 files changed, 22 insertions, 20 deletions
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 ddfe7a6..0000000
--- a/test/red-curtain-50x50.jpg
+++ /dev/null
Binary files differ
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
-
-![Example Picture{_class="reveal stretch"}](red-curtain-50x50.jpg)
+
+ Test
+
+ ![Example Picture{_class="reveal stretch"}](assets/image2.png)
</script>
</section>