annotate www/p/lib/js/data-markdown.js @ 101:52e44ee1c791 tip master

enabled all scores in autostart script
author Rob Canning <rc@kiben.net>
date Tue, 21 Apr 2015 16:20:57 +0100
parents 49c94f63b8b0
children
rev   line source
rc-web@42 1 // From https://gist.github.com/1343518
rc-web@42 2 // Modified by Hakim to handle markdown indented with tabs
rc-web@42 3 (function(){
rc-web@42 4
rc-web@42 5 var slides = document.querySelectorAll('[data-markdown]');
rc-web@42 6
rc-web@42 7 for( var i = 0, len = slides.length; i < len; i++ ) {
rc-web@42 8 var elem = slides[i];
rc-web@42 9
rc-web@42 10 // strip leading whitespace so it isn't evaluated as code
rc-web@42 11 var text = elem.innerHTML;
rc-web@42 12
rc-web@42 13 var leadingWs = text.match(/^\n?(\s*)/)[1].length,
rc-web@42 14 leadingTabs = text.match(/^\n?(\t*)/)[1].length;
rc-web@42 15
rc-web@42 16 if( leadingTabs > 0 ) {
rc-web@42 17 text = text.replace( new RegExp('\\n?\\t{' + leadingTabs + '}','g'), '\n' );
rc-web@42 18 }
rc-web@42 19 else if( leadingWs > 1 ) {
rc-web@42 20 text = text.replace( new RegExp('\\n? {' + leadingWs + '}','g'), '\n' );
rc-web@42 21 }
rc-web@42 22
rc-web@42 23 // here, have sum HTML
rc-web@42 24 elem.innerHTML = (new Showdown.converter()).makeHtml(text);
rc-web@42 25 }
rc-web@42 26
rc-web@42 27 })();