Skip to content

Commit

Permalink
First refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
VonC committed Nov 30, 2013
1 parent 3d2549d commit dd9fa3e
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 14 deletions.
43 changes: 32 additions & 11 deletions plugin/markdown/markdown.js
Original file line number Diff line number Diff line change
Expand Up @@ -323,33 +323,50 @@
while( matchesClass = mardownClassRegex.exec( classes ) ) {
elementTarget.setAttribute( matchesClass[1], matchesClass[2] );
}
return true;
}

return false;
}

/**
* Add attributes to the parent element of a text node,
* or the element of an attribute node.
*/
function addAttributes( element, separator ) {
function addAttributes( section, element, previousElement, separatorElementAttributes, separatorSectionAttributes ) {

if( element.childNodes.length > 0 ) {
console.log("element='" + element.innerHTML + "', nodeType='" + element.nodeType + "'");
console.log("previousElement="+previousElement)
console.log("section=****"+section.outerHTML+"****");
if( element != null && element.childNodes != undefined && element.childNodes.length > 0 ) {
previousParentElement = element;
for( var i = 0; i < element.childNodes.length; i++ ) {
addAttributes( element.childNodes[i], separator );
childElement = element.childNodes[i];
console.log(" Child element='" + childElement.innerHTML + "'");
if ( i > 0 ) {
previousParentElement = element.childNodes[i-1];
}
parentSection = section;
if( childElement.nodeName == "section" ) {
parentSection = childElement ;
previousParentElement = childElement ;
}
addAttributes( parentSection, childElement, previousParentElement, separatorElementAttributes, separatorSectionAttributes );
}
}

var nodeValue;
var elementTarget;

if ( element.nodeType == Node.COMMENT_NODE ) {
if ( addAttributeInElement( element, previousElement, separatorElementAttributes ) == false ) {
addAttributeInElement( element, section, separatorSectionAttributes);
}
}
// From http://stackoverflow.com/questions/9178174/find-all-text-nodes
if( element.nodeType == Node.TEXT_NODE && /\S/.test(element.nodeValue) ) {
addAttributeInElement( element, element.parentNode, separator );
addAttributeInElement( element, element.parentNode, separatorElementAttributes );
}
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 );
addAttributeInElement( attr, element, separatorElementAttributes );
}
}

Expand All @@ -376,9 +393,13 @@
var markdown = getMarkdownFromSlide( section );

section.innerHTML = marked( markdown );
addAttributes( section, section.getAttribute( 'data-element-attributes' ) ||
//console.log("markdown="+markdown);
addAttributes( section, section, null, section.getAttribute( 'data-element-attributes' ) ||
section.parentNode.getAttribute( 'data-element-attributes' ) ||
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR );
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR,
section.getAttribute( 'data-attributes' ) ||
section.parentNode.getAttribute( 'data-attributes' ) ||
DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR);

// If there were notes, we need to re-add them after
// having overwritten the section's HTML
Expand Down
2 changes: 1 addition & 1 deletion test/test-markdown-attributes.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<div id="qunit"></div>
<div id="qunit-fixture"></div>

<div class="reveal" style="display: none;">
<div class="reveal" style="display: true;">

<div class="slides">

Expand Down
4 changes: 2 additions & 2 deletions test/test-markdown-element-attributes.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<div id="qunit"></div>
<div id="qunit-fixture"></div>

<div class="reveal" style="display: none;">
<div class="reveal" style="display: true;">

<div class="slides">

Expand Down Expand Up @@ -44,7 +44,7 @@
## Slide 2


Paragraph 1.2
Paragraph 1.2
multi-line {_class="fragment highlight-red"}

Paragraph 2.2 {_class="fragment highlight-red"}
Expand Down

0 comments on commit dd9fa3e

Please sign in to comment.