You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

86 lines
2.0 KiB

var CustomHookA = Cherry.createSyntaxHook('codeBlock', Cherry.constants.HOOKS_TYPE_LIST.PAR, {
makeHtml(str) {
console.warn('custom hook', 'hello');
return str;
},
rule(str) {
const regex = {
begin: '',
content: '',
end: '',
};
regex.reg = new RegExp(regex.begin + regex.content + regex.end, 'g');
return regex;
},
});
var cherryConfig = {
id: 'markdown',
externals: {
echarts: window.echarts,
katex: window.katex,
MathJax: window.MathJax,
},
engine: {
global: {
urlProcessor(url, srcType) {
console.log(`url-processor`, url, srcType);
return url;
},
},
syntax: {
fontEmphasis: {
allowWhitespace: true, // 是否允许首尾空格
},
mathBlock: {
engine: 'MathJax', // katex或MathJax
src: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js', // 如果使用MathJax将js在此处引入,katex则需要将js提前引入
},
inlineMath: {
engine: 'MathJax', // katex或MathJax
},
emoji: {
useUnicode: false,
customResourceURL: 'https://github.githubassets.com/images/icons/emoji/unicode/${code}.png?v8',
upperCase: true,
},
// toc: {
// tocStyle: 'nested'
// }
// 'header': {
// strict: false
// }
},
customSyntax: {
// SyntaxHookClass
CustomHook: {
syntaxClass: CustomHookA,
force: false,
after: 'br',
},
},
},
toolbars: {
showToolbar: false,
toolbar: false,
bubble: false,
float: false,
},
editor: {
defaultModel: 'edit&preview',
codemirror: {
placeholder: '请输入内容...',
},
},
previewer: {
// 自定义markdown预览区域class
// className: 'markdown'
},
keydown: [],
//extensions: [],
};
fetch('./markdown/basic.md').then((response) => response.text()).then((value) => {
var config = Object.assign({}, cherryConfig, { value: value });
window.cherry = new Cherry(config);
});