Update slide rendering to reduce DOM wrap and avoid duplicate rendering slides

This commit is contained in:
Wu Cheng-Han 2016-07-30 20:33:32 +08:00
parent eab984deff
commit d85dd19816
2 changed files with 9 additions and 5 deletions

View file

@ -355,7 +355,7 @@
var rendered = md.render(markdown); var rendered = md.render(markdown);
rendered = preventXSS(rendered); rendered = preventXSS(rendered);
var result = postProcess(rendered); var result = postProcess(rendered);
section.innerHTML = result[0].outerHTML; section.innerHTML = result[0].innerHTML;
addAttributes( section, section, null, section.getAttribute( 'data-element-attributes' ) || 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,

View file

@ -55,10 +55,14 @@ viewAjaxCallback = function () {
}; };
function renderSlide(event) { function renderSlide(event) {
var title = document.title; var markdown = $(event.currentSlide);
finishView($(event.currentSlide)); if (!markdown.attr('data-rendered')) {
document.title = title; var title = document.title;
Reveal.layout(); finishView(markdown);
markdown.attr('data-rendered', 'true');
document.title = title;
Reveal.layout();
}
} }
Reveal.addEventListener('ready', renderSlide); Reveal.addEventListener('ready', renderSlide);