fix: columns
This commit is contained in:
parent
6f8be557b4
commit
028074e4f1
|
|
@ -0,0 +1,64 @@
|
|||
import {TokenizerAndRendererExtension} from "marked";
|
||||
|
||||
export default function markedColumns(): TokenizerAndRendererExtension[] {
|
||||
return [{
|
||||
name: 'col-divider',
|
||||
level: 'block',
|
||||
start(src: string) {
|
||||
return src.match(/^-\|-+ *\n/)?.index;
|
||||
},
|
||||
tokenizer(src){
|
||||
const match = src.match(/^-\|(-+) *\n/);
|
||||
if(!match) return;
|
||||
return {
|
||||
type: 'col-divider',
|
||||
raw: match[0],
|
||||
tokens: []
|
||||
};
|
||||
},
|
||||
renderer(token){
|
||||
const extra = token.raw.match(/^-\|(-+) *\n/)?.[1].length || 0;
|
||||
const sfx = extra > 1 ? '-' + (extra) : '';
|
||||
return `</div><div class="col${sfx}">`;
|
||||
}
|
||||
},{
|
||||
name: 'col-start',
|
||||
level: 'block',
|
||||
start(src: string) {
|
||||
return src.match(/^\|--+ *\n/)?.index;
|
||||
},
|
||||
tokenizer(src){
|
||||
const match = src.match(/^\|-(-+) *\n/);
|
||||
if(!match) return;
|
||||
return {
|
||||
type: 'col-start',
|
||||
raw: match[0],
|
||||
tokens: []
|
||||
};
|
||||
},
|
||||
renderer(token){
|
||||
const extra = token.raw.match(/^\|-(-+) *\n/)?.[1].length || 0;
|
||||
const sfx = extra > 1 ? '-' + (extra) : '';
|
||||
return `<div class="cols"><div class="col${sfx}">`;
|
||||
}
|
||||
},{
|
||||
name: 'col-end',
|
||||
level: 'block',
|
||||
start(src: string) {
|
||||
return src.match(/^--\| *\n/)?.index;
|
||||
},
|
||||
tokenizer(src){
|
||||
const match = src.match(/^--\| *\n/);
|
||||
if(!match) return;
|
||||
return {
|
||||
type: 'col-end',
|
||||
raw: match[0],
|
||||
tokens: []
|
||||
};
|
||||
},
|
||||
renderer(token){
|
||||
return `</div></div>`;
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ import markedAlert from "marked-alert";
|
|||
import markedMermaid from "./mermaid";
|
||||
import markedTable from "./table";
|
||||
import {gfmHeadingId} from "marked-gfm-heading-id";
|
||||
import markedColumns from "./columns";
|
||||
|
||||
let globalIconPrefix: string | undefined = undefined;
|
||||
function overrideIconPrefix(path?: string){
|
||||
|
|
@ -45,8 +46,10 @@ const marked = new Marked()
|
|||
}
|
||||
},
|
||||
]), {
|
||||
extensions: [
|
||||
...markedColumns(),
|
||||
{
|
||||
// 自定义代码块渲染器,支持 yaml/tag 格式
|
||||
extensions: [{
|
||||
name: 'code-block-yaml-tag',
|
||||
level: 'block',
|
||||
start(src: string) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue