I'm writing a plugin which will need the use of markdownIt. The demo plugin only shows the use of a fenced block, but I need to use an inline renderer.
I need to be able to write something on the editor and convert it to some value on the viewer, e.g.:
Editor |
Viewer |
@myCoolVariable |
This is the text stored in my cool variable |
I searched through the markdown-it API documentation for some insight but I could't get too much.
I just solved it using the powerful console.log(object_that_i_dont_know_how_its_made)
, but just with console.log(markdownIt.renderer.rules)
.
From that I assumed that the code from the demo plugin could be easily adapted to any of the renderer rules.
BTW the rule I used for the plugin I'm writing is text
:
...
plugin: function (markdownIt, _options) {
const defaultRender = markdownIt.renderer.rules.text || function (tokens, idx, options, env, self) {
return self.renderToken(tokens, idx, options, env, self);
};
markdownIt.renderer.rules.text = function (tokens, idx, options, env, self) {
const token = tokens[idx];
...
and instead of the token.info
, I used token.content
property.
1 Like