@zhennann/markdown-it-block
Advanced tools
Comparing version 2.0.5 to 3.0.4
36
index.js
// Process block-level custom containers | ||
// | ||
'use strict'; | ||
module.exports = function block_plugin(md, options) { | ||
@@ -9,10 +9,10 @@ | ||
// blockTitle | ||
var blockTitle = options.utils.text('Block'); | ||
const blockTitle = options.utils.text('Block'); | ||
// block | ||
var token = tokens[idx]; | ||
var blockName = token.info.trim().split(' ', 2)[0]; | ||
var block = options.blocks && options.blocks[blockName]; | ||
const token = tokens[idx]; | ||
const blockName = token.info.trim().split(' ', 2)[0]; | ||
const block = options.blocks && options.blocks[blockName]; | ||
// content | ||
var content; | ||
var errorMessage; | ||
let content; | ||
let errorMessage; | ||
try { | ||
@@ -35,3 +35,3 @@ content = token.content ? JSON5.parse(token.content) : {}; | ||
// placeholder | ||
var res = JSON5.stringify(content, null, 2); | ||
const res = JSON5.stringify(content, null, 2); | ||
return `<div class="alert-info"> | ||
@@ -44,7 +44,13 @@ <p><strong>${blockTitle}: ${md.utils.escapeHtml(blockName)}</strong></p> | ||
// block | ||
return block.render({ md, options, block, token, index:idx, content }); | ||
return block.render({ md, options, block, token, index: idx, content }); | ||
} | ||
function blockRuler(state, startLine, endLine, silent) { | ||
var marker, len, params, nextLine, mem, token, markup, | ||
let marker, | ||
len, | ||
params, | ||
nextLine, | ||
mem, | ||
token, | ||
markup, | ||
haveEndMarker = false, | ||
@@ -105,7 +111,7 @@ pos = state.bMarks[startLine] + state.tShift[startLine], | ||
state.line = nextLine + (haveEndMarker ? 1 : 0); | ||
token = state.push('cabloy_cms_block', 'div', 0); | ||
token.info = params; | ||
token = state.push('cabloy_cms_block', 'div', 0); | ||
token.info = params; | ||
token.content = state.getLines(startLine + 1, nextLine, len, true); | ||
token.markup = markup; | ||
token.map = [ startLine, state.line ]; | ||
token.markup = markup; | ||
token.map = [ startLine, state.line ]; | ||
return true; | ||
@@ -115,5 +121,5 @@ } | ||
md.block.ruler.before('fence', 'cabloy_cms_block', blockRuler, { | ||
alt: [ 'paragraph', 'reference', 'blockquote', 'list' ] | ||
alt: [ 'paragraph', 'reference', 'blockquote', 'list' ], | ||
}); | ||
md.renderer.rules.cabloy_cms_block = blockRender; | ||
}; |
{ | ||
"name": "@zhennann/markdown-it-block", | ||
"version": "2.0.5", | ||
"version": "3.0.4", | ||
"description": "Plugin to create block-level custom tags for markdown-it markdown parser on Cabloy-CMS", | ||
@@ -20,3 +20,2 @@ "main": "index.js", | ||
"devDependencies": { | ||
"eslint": "^7.3.0", | ||
"markdown-it": "^10.0.0", | ||
@@ -26,3 +25,3 @@ "markdown-it-testgen": "~0.1.6", | ||
}, | ||
"gitHead": "e0dfb629be415e40cd9a6f90b0ea92d6cb2ac312" | ||
"gitHead": "4df1cce667a3fff37668a665f0f3dc8c1ba2c9bd" | ||
} |
5670
3
115