mirror of
https://github.com/amix/vimrc
synced 2025-07-21 03:44:59 +08:00
Add markdown preview, update rust.vim
This commit is contained in:
@ -0,0 +1,26 @@
|
||||
const plantumlEncoder = require("plantuml-encoder");
|
||||
|
||||
function generateSourceDefault (umlCode, pluginOptions) {
|
||||
var imageFormat = pluginOptions.imageFormat || 'img'
|
||||
var diagramName = pluginOptions.diagramName || 'uml'
|
||||
var server = pluginOptions.server || 'https://www.plantuml.com/plantuml'
|
||||
var zippedCode = plantumlEncoder.encode(umlCode)
|
||||
|
||||
return server + '/' + imageFormat + '/' + zippedCode
|
||||
}
|
||||
|
||||
export default (md, opts = {}) => {
|
||||
const temp = md.renderer.rules.fence.bind(md.renderer.rules)
|
||||
md.renderer.rules.fence = (tokens, idx, options, env, slf) => {
|
||||
const token = tokens[idx]
|
||||
try {
|
||||
if (token.info && token.info.indexOf('plantuml') != -1 ) {
|
||||
const code = token.content.trim()
|
||||
return `<img src="${generateSourceDefault(code, opts)}" alt="" />`
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(`Parse Diagram Error: `, e)
|
||||
}
|
||||
return temp(tokens, idx, options, env, slf)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user