yavsc/Yavsc/wwwroot/js/showdown.min.js

1 line
23 KiB
JavaScript

8 years ago
(function(){function e(e){"use strict";var r={omitExtraWLInCodeBlocks:{"default":!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{"default":!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{"default":!1,describe:"Specify a prefix to generated header ids",type:"string"},headerLevelStart:{"default":!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{"default":!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{"default":!1,describe:"Turn on/off GFM autolink style",type:"boolean"},literalMidWordUnderscores:{"default":!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},strikethrough:{"default":!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{"default":!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{"default":!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{"default":!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{"default":!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{"default":!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"}};if(e===!1)return JSON.parse(JSON.stringify(r));var t={};for(var n in r)r.hasOwnProperty(n)&&(t[n]=r[n]["default"]);return t}function r(e,r){"use strict";var t=r?"Error in "+r+" extension->":"Error in unnamed extension",s={valid:!0,error:""};n.helper.isArray(e)||(e=[e]);for(var a=0;a<e.length;++a){var i=t+" sub-extension "+a+": ",o=e[a];if("object"!=typeof o)return s.valid=!1,s.error=i+"must be an object, but "+typeof o+" given",s;if(!n.helper.isString(o.type))return s.valid=!1,s.error=i+'property "type" must be a string, but '+typeof o.type+" given",s;var u=o.type=o.type.toLowerCase();if("language"===u&&(u=o.type="lang"),"html"===u&&(u=o.type="output"),"lang"!==u&&"output"!==u)return s.valid=!1,s.error=i+"type "+u+' is not recognized. Valid values: "lang" or "output"',s;if(o.filter){if("function"!=typeof o.filter)return s.valid=!1,s.error=i+'"filter" must be a function, but '+typeof o.filter+" given",s}else{if(!o.regex)return s.valid=!1,s.error=i+'extensions must define either a "regex" property or a "filter" method',s;if(n.helper.isString(o.regex)&&(o.regex=new RegExp(o.regex,"g")),!o.regex instanceof RegExp)return s.valid=!1,s.error=i+'"regex" property must either be a string or a RegExp object, but '+typeof o.regex+" given",s;if(n.helper.isUndefined(o.replace))return s.valid=!1,s.error=i+'"regex" extensions must implement a replace string or function',s}if(n.helper.isUndefined(o.filter)&&n.helper.isUndefined(o.regex))return s.valid=!1,s.error=i+"output extensions must define a filter property",s}return s}function t(e,r){"use strict";var t=r.charCodeAt(0);return"~E"+t+"E"}var n={},s={},a={},i=e(!0),o={github:{omitExtraWLInCodeBlocks:!0,prefixHeaderId:"user-content-",simplifiedAutoLink:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0},vanilla:e(!0)};n.helper={},n.extensions={},n.setOption=function(e,r){"use strict";return i[e]=r,this},n.getOption=function(e){"use strict";return i[e]},n.getOptions=function(){"use strict";return i},n.resetOptions=function(){"use strict";i=e(!0)},n.setFlavor=function(e){"use strict";if(o.hasOwnProperty(e)){var r=o[e];for(var t in r)r.hasOwnProperty(t)&&(i[t]=r[t])}},n.getDefaultOptions=function(r){"use strict";return e(r)},n.subParser=function(e,r){"use strict";if(n.helper.isString(e)){if("undefined"==typeof r){if(s.hasOwnProperty(e))return s[e];throw Error("SubParser named "+e+" not registered!")}s[e]=r}},n.extension=function(e,t){"use strict";if(!n.helper.isString(e))throw Error("Extension 'name' must be a string");if(e=n.helper.stdExtName(e),n.helper.isUndefined(t)){if(!a.hasOwnProperty(e))throw Error("Extension named "+e+" is not registered!");return a[e]}"function"==typeof t&&(t=t()),n.helper.isArray(t)||(t=[t]);var s=r(t,e);if(!s.valid)throw Error(s.error);a[e]=t}