@@ -689,7 +689,8 @@ function generateToc(id) {
689689 'top' : - 1 ,
690690 'class' : 'toc' ,
691691 'ulClass' : 'nav' ,
692- 'targetId' : id
692+ 'targetId' : id ,
693+ 'process' : getHeaderContent
693694 } ) ;
694695 if ( target . text ( ) == 'undefined' )
695696 target . html ( '' ) ;
@@ -777,7 +778,7 @@ var linkifyAnchors = function (level, containingElement) {
777778 if ( header . getElementsByClassName ( "anchor" ) . length == 0 ) {
778779 if ( typeof header . id == "undefined" || header . id == "" ) {
779780 //to escape characters not allow in css and humanize
780- var id = slugifyWithUTF8 ( header . innerHTML ) ;
781+ var id = slugifyWithUTF8 ( getHeaderContent ( header ) ) ;
781782 header . id = id ;
782783 }
783784 header . insertBefore ( anchorForId ( header . id ) , header . firstChild ) ;
@@ -795,6 +796,13 @@ function autoLinkify(view) {
795796 }
796797}
797798
799+ function getHeaderContent ( header ) {
800+ var headerHTML = $ ( header ) . clone ( ) ;
801+ headerHTML . find ( '.MathJax_Preview' ) . remove ( ) ;
802+ headerHTML . find ( '.MathJax' ) . remove ( ) ;
803+ return headerHTML [ 0 ] . innerHTML ;
804+ }
805+
798806function deduplicatedHeaderId ( view ) {
799807 var headers = view . find ( ':header.raw' ) . removeClass ( 'raw' ) . toArray ( ) ;
800808 for ( var i = 0 ; i < headers . length ; i ++ ) {
@@ -826,7 +834,8 @@ function renderTOC(view) {
826834 'level' : 3 ,
827835 'top' : - 1 ,
828836 'class' : 'toc' ,
829- 'targetId' : id
837+ 'targetId' : id ,
838+ 'process' : getHeaderContent
830839 } ) ;
831840 if ( target . text ( ) == 'undefined' )
832841 target . html ( '' ) ;
0 commit comments