First refactoring
This commit is contained in:
		@@ -323,33 +323,50 @@
 | 
				
			|||||||
			while( matchesClass = mardownClassRegex.exec( classes ) ) {
 | 
								while( matchesClass = mardownClassRegex.exec( classes ) ) {
 | 
				
			||||||
				elementTarget.setAttribute( matchesClass[1], matchesClass[2] );
 | 
									elementTarget.setAttribute( matchesClass[1], matchesClass[2] );
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
								return true;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Add attributes to the parent element of a text node,
 | 
						 * Add attributes to the parent element of a text node,
 | 
				
			||||||
	 * or the element of an attribute 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++ ) {
 | 
								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;
 | 
							if ( element.nodeType == Node.COMMENT_NODE ) {
 | 
				
			||||||
		var elementTarget;
 | 
								if ( addAttributeInElement( element, previousElement, separatorElementAttributes ) == false ) {
 | 
				
			||||||
 | 
									addAttributeInElement( element, section, separatorSectionAttributes);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		// From http://stackoverflow.com/questions/9178174/find-all-text-nodes
 | 
							// 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 );
 | 
								addAttributeInElement( element, element.parentNode, separatorElementAttributes );
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if( element.nodeType == Node.ELEMENT_NODE && element.attributes.length > 0 ) {
 | 
							if( element.nodeType == Node.ELEMENT_NODE && element.attributes.length > 0 ) {
 | 
				
			||||||
			for( var j = 0; j < element.attributes.length; j++ ){
 | 
								for( var j = 0; j < element.attributes.length; j++ ){
 | 
				
			||||||
				var attr = element.attributes[j];
 | 
									var attr = element.attributes[j];
 | 
				
			||||||
				addAttributeInElement( attr, element, separator );
 | 
									addAttributeInElement( attr, element, separatorElementAttributes );
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -376,9 +393,13 @@
 | 
				
			|||||||
				var markdown = getMarkdownFromSlide( section );
 | 
									var markdown = getMarkdownFromSlide( section );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				section.innerHTML = marked( markdown );
 | 
									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' ) ||
 | 
													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
 | 
									// If there were notes, we need to re-add them after
 | 
				
			||||||
				// having overwritten the section's HTML
 | 
									// having overwritten the section's HTML
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
		<div id="qunit"></div>
 | 
							<div id="qunit"></div>
 | 
				
			||||||
  		<div id="qunit-fixture"></div>
 | 
					  		<div id="qunit-fixture"></div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<div class="reveal" style="display: none;">
 | 
							<div class="reveal" style="display: true;">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="slides">
 | 
								<div class="slides">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
		<div id="qunit"></div>
 | 
							<div id="qunit"></div>
 | 
				
			||||||
  		<div id="qunit-fixture"></div>
 | 
					  		<div id="qunit-fixture"></div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<div class="reveal" style="display: none;">
 | 
							<div class="reveal" style="display: true;">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="slides">
 | 
								<div class="slides">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -44,7 +44,7 @@
 | 
				
			|||||||
						## Slide 2
 | 
											## Slide 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						Paragraph 1.2  
 | 
											Paragraph 1.2
 | 
				
			||||||
						multi-line {_class="fragment highlight-red"}
 | 
											multi-line {_class="fragment highlight-red"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						Paragraph 2.2 {_class="fragment highlight-red"}
 | 
											Paragraph 2.2 {_class="fragment highlight-red"}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user