forked from nbsp/marked-mfm
Add non-rawhtml center tag
This commit is contained in:
parent
cb12e3a149
commit
d6e115fbb8
|
@ -147,6 +147,30 @@
|
|||
|
||||
return "$[" + token.tag + " " + this.parser.parseInline(token.tokens) + "]";
|
||||
}
|
||||
}, {
|
||||
name: 'center',
|
||||
level: 'block',
|
||||
start: function start(src) {
|
||||
return src.match(/<center>/);
|
||||
},
|
||||
tokenizer: function tokenizer(src, tokens) {
|
||||
var rule = /^<center>([\S\s]*)<\/center>/;
|
||||
var match = rule.exec(src);
|
||||
|
||||
if (match) {
|
||||
var token = {
|
||||
type: 'center',
|
||||
raw: match[0],
|
||||
text: match[1],
|
||||
tokens: []
|
||||
};
|
||||
this.lexer.inline(token.text, token.tokens);
|
||||
return token;
|
||||
}
|
||||
},
|
||||
renderer: function renderer(token) {
|
||||
return "<center>" + this.parser.parseInline(token.tokens) + "</center>\n";
|
||||
}
|
||||
}]
|
||||
};
|
||||
|
||||
|
|
22
src/index.js
22
src/index.js
|
@ -50,5 +50,27 @@ export default {
|
|||
return `$[${token.tag} ${this.parser.parseInline(token.tokens)}]`
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'center',
|
||||
level: 'block',
|
||||
start (src) { return src.match(/<center>/) },
|
||||
tokenizer (src, tokens) {
|
||||
const rule = /^<center>([\S\s]*)<\/center>/
|
||||
const match = rule.exec(src)
|
||||
if (match) {
|
||||
const token = {
|
||||
type: 'center',
|
||||
raw: match[0],
|
||||
text: match[1],
|
||||
tokens: [],
|
||||
}
|
||||
this.lexer.inline(token.text, token.tokens)
|
||||
return token
|
||||
}
|
||||
},
|
||||
renderer (token) {
|
||||
return `<center>${this.parser.parseInline(token.tokens)}</center>\n`
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
|
|
@ -41,4 +41,9 @@ describe('marked-mfm', () => {
|
|||
marked.use(markedMfm)
|
||||
expect(marked('$[spin.alternate,speed=0.5s test]')).toBe('<p><span class="mfm _mfm_spin_" data-alternate data-speed="0.5s">test</span></p>\n')
|
||||
})
|
||||
|
||||
test('center', () => {
|
||||
marked.use(markedMfm)
|
||||
expect(marked('<center>test *italic*</center>')).toBe('<center>test <em>italic</em></center>\n')
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue