@@ -421,34 +421,42 @@ const Plugin = () => {
421421
422422 deck = reveal ;
423423
424- let renderer = new marked . Renderer ( ) ;
424+ let { renderer, animateLists , ... markedOptions } = deck . getConfig ( ) . markdown ;
425425
426- renderer . code = ( code , language ) => {
426+ if ( ! renderer ) {
427+ let renderer = new marked . Renderer ( ) ;
427428
428- // Off by default
429- let lineNumbers = '' ;
429+ renderer . code = ( code , language ) => {
430430
431- // Users can opt in to show line numbers and highlight
432- // specific lines.
433- // ```javascript [] show line numbers
434- // ```javascript [1,4-8] highlights lines 1 and 4-8
435- if ( CODE_LINE_NUMBER_REGEX . test ( language ) ) {
436- lineNumbers = language . match ( CODE_LINE_NUMBER_REGEX ) [ 1 ] . trim ( ) ;
437- lineNumbers = `data-line-numbers="${ lineNumbers } "` ;
438- language = language . replace ( CODE_LINE_NUMBER_REGEX , '' ) . trim ( ) ;
439- }
431+ // Off by default
432+ let lineNumbers = '' ;
433+
434+ // Users can opt in to show line numbers and highlight
435+ // specific lines.
436+ // ```javascript [] show line numbers
437+ // ```javascript [1,4-8] highlights lines 1 and 4-8
438+ if ( CODE_LINE_NUMBER_REGEX . test ( language ) ) {
439+ lineNumbers = language . match ( CODE_LINE_NUMBER_REGEX ) [ 1 ] . trim ( ) ;
440+ lineNumbers = `data-line-numbers="${ lineNumbers } "` ;
441+ language = language . replace ( CODE_LINE_NUMBER_REGEX , '' ) . trim ( ) ;
442+ }
440443
441- // Escape before this gets injected into the DOM to
442- // avoid having the HTML parser alter our code before
443- // highlight.js is able to read it
444- code = escapeForHTML ( code ) ;
444+ // Escape before this gets injected into the DOM to
445+ // avoid having the HTML parser alter our code before
446+ // highlight.js is able to read it
447+ code = escapeForHTML ( code ) ;
445448
446- return `<pre><code ${ lineNumbers } class="${ language } ">${ code } </code></pre>` ;
447- } ;
449+ return `<pre><code ${ lineNumbers } class="${ language } ">${ code } </code></pre>` ;
450+ } ;
451+ }
452+
453+ if ( animateLists ) {
454+ renderer . listitem = ( text ) => `<li class="fragment">${ text } </li>` ;
455+ }
448456
449457 marked . setOptions ( {
450458 renderer,
451- ...deck . getConfig ( ) . markdown
459+ ...markedOptions
452460 } ) ;
453461
454462 return processSlides ( deck . getRevealElement ( ) ) . then ( convertSlides ) ;
0 commit comments