feat: sub+sup+imsize markdown renderers

pull/662/head
Nicolas Giard 6 years ago
parent 09d1f580d9
commit 572393aa7b

@ -105,7 +105,7 @@ module.exports = class Renderer extends Model {
// Build tree // Build tree
const rawCores = _.filter(renderers, renderer => !_.has(renderer, 'dependsOn')).map(core => { const rawCores = _.filter(renderers, renderer => !_.has(renderer, 'dependsOn')).map(core => {
core.children = _.concat([_.cloneDeep(core)], _.filter(renderers, ['dependsOn', core.key])) core.children = _.filter(renderers, ['dependsOn', core.key])
return core return core
}) })

@ -0,0 +1,8 @@
key: htmlCodehighlighter
title: Code Highlighting
description: Syntax highlighter for programming code
author: requarks.io
icon: palette
enabledDefault: true
dependsOn: htmlCore
props: {}

@ -3,6 +3,6 @@ title: Media Players
description: Embed players such as Youtube, Vimeo, Soundcloud, etc. description: Embed players such as Youtube, Vimeo, Soundcloud, etc.
author: requarks.io author: requarks.io
icon: subscriptions icon: subscriptions
enabledDefault: false enabledDefault: true
dependsOn: htmlCore dependsOn: htmlCore
props: {} props: {}

@ -1,8 +1,8 @@
key: markdownMermaid key: htmlMermaid
title: Mermaid title: Mermaid
description: Generate flowcharts from Mermaid syntax description: Generate flowcharts from Mermaid syntax
author: requarks.io author: requarks.io
icon: merge_type icon: merge_type
enabledDefault: false enabledDefault: false
dependsOn: markdownCore dependsOn: htmlCore
props: {} props: {}

@ -1,8 +1,8 @@
key: markdownPlantuml key: htmlPlantuml
title: PlantUML title: PlantUML
description: Generate diagrams from PlantUML syntax description: Generate diagrams from PlantUML syntax
author: requarks.io author: requarks.io
icon: multiline_chart icon: multiline_chart
enabledDefault: false enabledDefault: false
dependsOn: markdownCore dependsOn: htmlCore
props: {} props: {}

@ -44,8 +44,3 @@ props:
- Russian - Russian
- Spanish - Spanish
- Swedish - Swedish
highlightCode:
type: Boolean
default: true
title: Highlight code blocks
hint: Add syntax coloring to code blocks.

@ -1,5 +1,4 @@
const md = require('markdown-it') const md = require('markdown-it')
// const hljs = require('highlight.js')
const _ = require('lodash') const _ = require('lodash')
const quoteStyles = { const quoteStyles = {
@ -26,17 +25,16 @@ module.exports = {
typographer: this.config.typographer, typographer: this.config.typographer,
quotes: _.get(quoteStyles, this.config.quotes, quoteStyles.English), quotes: _.get(quoteStyles, this.config.quotes, quoteStyles.English),
highlight(str, lang) { highlight(str, lang) {
// if (this.config.highlightCode && lang && hljs.getLanguage(lang)) {
// try {
// return '<pre class="hljs"><code>' + hljs.highlight(lang, str, true).value + '</code></pre>'
// } catch (err) {
// return '<pre><code>' + _.escape(str) + '</code></pre>'
// }
// }
return '<pre><code>' + _.escape(str) + '</code></pre>' return '<pre><code>' + _.escape(str) + '</code></pre>'
} }
}) })
for (let child of this.children) {
console.info(child)
const renderer = require(`../${_.kebabCase(child.key)}/renderer.js`)
renderer.init(mkdown, child.config)
}
return mkdown.render(this.input) return mkdown.render(this.input)
} }
} }

@ -0,0 +1,8 @@
key: markdownImsize
title: Image Size
description: Adds dimensions attributes to images
author: requarks.io
icon: insert_photo
enabledDefault: true
dependsOn: markdownCore
props: {}

@ -0,0 +1,11 @@
const mdImsize = require('markdown-it-imsize')
// ------------------------------------
// Markdown - Image Size
// ------------------------------------
module.exports = {
init (md, conf) {
md.use(mdImsize)
}
}

@ -0,0 +1,18 @@
key: markdownSupsub
title: Subscript/Superscript
description: Parse subscript and superscript tags
author: requarks.io
icon: format_size
enabledDefault: true
dependsOn: markdownCore
props:
subEnabled:
type: Boolean
title: Subscript
hint: Enable subscript tags
default: true
supEnabled:
type: Boolean
title: Supercript
hint: Enable supercript tags
default: true

@ -0,0 +1,17 @@
const mdSub = require('markdown-it-sub')
const mdSup = require('markdown-it-sup')
// ------------------------------------
// Markdown - Subscript / Superscript
// ------------------------------------
module.exports = {
init (md, conf) {
if (conf.subEnabled) {
md.use(mdSub)
}
if (conf.supEnabled) {
md.use(mdSup)
}
}
}
Loading…
Cancel
Save