Skip to content
Snippets Groups Projects
Commit d844195b authored by Hakim El Hattab's avatar Hakim El Hattab
Browse files

format tweaks markdown.js, remove extra image asset

parent 6cf5269b
No related branches found
No related tags found
No related merge requests found
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
var DEFAULT_SLIDE_SEPARATOR = '^\n---\n$', var DEFAULT_SLIDE_SEPARATOR = '^\n---\n$',
DEFAULT_NOTES_SEPARATOR = 'note:'; DEFAULT_NOTES_SEPARATOR = 'note:';
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '{\\\.\s*?([^}]+?)}'; DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '{_\s*?([^}]+?)}';
/** /**
...@@ -277,46 +277,50 @@ ...@@ -277,46 +277,50 @@
* directly on refresh (F5) * directly on refresh (F5)
* http://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development/7000899#answer-11786277 * 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 mardownClassesInElementsRegex = new RegExp( separator, 'mg' );
var mardownClassRegex = new RegExp( "([^\"= ]+?)=\"([^\"=]+?)\"", 'mg' ); var mardownClassRegex = new RegExp( "([^\"= ]+?)=\"([^\"=]+?)\"", 'mg' );
var nodeValue = node.nodeValue; var nodeValue = node.nodeValue;
if ( matches = mardownClassesInElementsRegex.exec( nodeValue ) ) { if( matches = mardownClassesInElementsRegex.exec( nodeValue ) ) {
var classes = matches[1]; var classes = matches[1];
nodeValue = nodeValue.substring( 0, matches.index ) + nodeValue.substring( mardownClassesInElementsRegex.lastIndex ); nodeValue = nodeValue.substring( 0, matches.index ) + nodeValue.substring( mardownClassesInElementsRegex.lastIndex );
node.nodeValue = nodeValue; node.nodeValue = nodeValue;
while( matchesClass = mardownClassRegex.exec( classes ) ) { 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, * 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( element, separator ) {
{
if ( element.childNodes.length > 0 ) {
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 ); addAttributes( element.childNodes[i], separator );
} }
} }
var nodeValue; var nodeValue;
var elementTarget; var elementTarget;
// 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, separator );
} }
if ( element.nodeType == Node.ELEMENT_NODE && element.attributes.length > 0 ) { if( element.nodeType == Node.ELEMENT_NODE && element.attributes.length > 0 ) {
for ( iattr=0; iattr<element.attributes.length; iattr++ ){ for( var j = 0; j < element.attributes.length; j++ ){
var attr = element.attributes[iattr]; var attr = element.attributes[j];
addAttributeInElement(attr, element, separator ) addAttributeInElement( attr, element, separator );
} }
} }
} }
/** /**
......
test/red-curtain-50x50.jpg

1.95 KiB

...@@ -22,9 +22,7 @@ ...@@ -22,9 +22,7 @@
<!-- <section data-markdown="example.md" data-separator="^\n\n\n" data-vertical="^\n\n"></section> --> <!-- <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 --> <!-- Slides are separated by newline + three dashes + newline, vertical slides identical but two dashes -->
<section data-markdown data-separator="^\n---\n$" <section data-markdown data-separator="^\n---\n$" data-vertical="^\n--\n$">
data-vertical="^\n--\n$"
data-element-attributes="{_\s*?([^}]+?)}">
<script type="text/template"> <script type="text/template">
## Slide 1.1 {_class="fragment fade-out" data-fragment-index="1"} ## Slide 1.1 {_class="fragment fade-out" data-fragment-index="1"}
...@@ -60,10 +58,10 @@ ...@@ -60,10 +58,10 @@
- list item 3 {_class="fragment highlight-green"} - list item 3 {_class="fragment highlight-green"}
- list item 4 {_class="fragment highlight-green"} - list item 4 {_class="fragment highlight-green"}
- list item 5 {_class="fragment highlight-green"} - list item 5 {_class="fragment highlight-green"}
Test Test
![Example Picture{_class="reveal stretch"}](red-curtain-50x50.jpg) ![Example Picture{_class="reveal stretch"}](assets/image2.png)
</script> </script>
</section> </section>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment