nl_tokens: 隐藏编辑器部分，只预览HTML Enter preview html state
pl_tokens: function ( ) { var _this = this ; var editor = this . editor ; var preview = this . preview ; var toolbar = this . toolbar ; var settings = this . settings ; var codeMirror = this . codeMirror ; var previewContainer = this . previewContainer ; if ( $ . inArray ( settings . mode , [ "gfm" , "markdown" ] ) < 0 ) { return this ; } if ( settings . toolbar && toolbar ) { toolbar . toggle ( ) ; toolbar . <mask> ( ".fa[name=preview]" ) . toggleClass ( "active" ) ; } codeMirror . toggle ( ) ; var escHandle = function ( event ) { if ( event . shiftKey && event . keyCode === 27 ) { _this . previewed ( ) ; } } ; if ( codeMirror . css ( "display" ) === "none" ) // 为了兼容Zepto，而不使用codeMirror.is(":hidden")
   { this . state . preview = true ; if ( this . state . fullscreen ) { preview . css ( "background" , "#fff" ) ; } editor . find ( "." + this . classPrefix + "preview-close-btn" ) . show ( ) . bind ( editormd . mouseOrTouch ( "click" , "touchend" ) , function ( ) { _this . previewed ( ) ; } ) ; if ( ! settings . watch ) { this . save ( ) ; } else { previewContainer . css ( "padding" , "" ) ; } previewContainer . addClass ( this . classPrefix + "preview-active" ) ; preview . show ( ) . css ( { position : "" , top : 0 , width : editor . width ( ) , height : ( settings . autoHeight && ! this . state . fullscreen ) ? "auto" : editor . height ( ) } ) ; if ( this . state . loaded ) { $ . proxy ( settings . onpreviewing , this ) ( ) ; } $ ( window ) . bind ( "keyup" , escHandle ) ; } else { $ ( window ) . unbind ( "keyup" , escHandle ) ; this . previewed ( ) ; } }