
Product
Reachability for Ruby Now in Beta
Reachability analysis for Ruby is now in beta, helping teams identify which vulnerabilities are truly exploitable in their applications.
@nuxt/markdown
Advanced tools
A Nuxt-flavoured fork of @dimerapp/markdown that features granular control unified stream.
npm i @nuxt/markdown --save
import Markdown from '@nuxt/markdown'
const md = new Markdown({ toc: false, sanitize: false })
const contents = await md.toHTML(markdownSourceString)
import Markdown from '@nuxt/markdown'
import remarkContainer from 'remark-container'
const md = new Markdown({
extend({ layers }) {
layers['remark-container'] = remarkContainer
}
})
const rendered = await md.toMarkup(markdownSourceString)
Assigning is equivalent to pushing to the last second position of the internal layers Array.
This is because the last step is rehype-stringify, responsible for the final HTML output, but we still want to be able to customize/remove that if needed.
You can also use Array methods directly:
const md = new Markdown({
extend({ layers }) {
layers.splice(pos, 0, ['remark-container', remarkContainer])
}
})
This is the default layers Array provided to a @nuxt/markdown instance:
const layers = [
['remark-parse', remarkParse],
['remark-slug', remarkSlug],
['remark-autolink-headings', autolinkHeadings],
['remark-macro', macroEngine.transformer],
['remark-squeeze-paragraphs', squeezeParagraphs],
['remark-rehype', remarkRehype, { allowDangerousHTML: true }],
['rehype-raw', rehypeRaw],
['rehype-prism', rehypePrism, { ignoreMissing: true }],
['rehype-stringify', rehypeStringify]
]
Each layer begins with an arbitrary id, to make addressing specific layers easier.
You can also pass in a handlers object to the Markdown constructor to define custom remark-rehype handlers.
See a list of available overridable handlers here.
@nuxt/markdown includes remark-macro, a nifty library that adds macro support to Markdown files. To add macros, use the extend() function like in the previous examples:
import Markdown from '@nuxt/markdown'
const md = new Markdown({
extend({ macros }) {
macros.alert = (content, props, { transformer, eat }) => {
return {
type: 'AlertNode',
data: {
hName: 'div',
hClassNames: ['alert alert-note'],
hChildren: transformer.tokenizeBlock(content, eat.now())
}
}
}
}
})
const markdown = `
# Hello world
[alert]
This is an alert
[/alert]
`
const rendered = await md.toMarkup(markdown)
Example taken from dimerapp/remark-macro.
@nuxt/markdown was created mainly for NuxtPress and is part of its roadmap.
FAQs
Nuxt-flavoured fork of @dimerapp/markdown
We found that @nuxt/markdown demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Reachability analysis for Ruby is now in beta, helping teams identify which vulnerabilities are truly exploitable in their applications.

Research
/Security News
Malicious npm packages use Adspect cloaking and fake CAPTCHAs to fingerprint visitors and redirect victims to crypto-themed scam sites.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.