remark-code-import-replace
v0.2.0
Published
Remark import code from file and replace nodes for dynamic components rendering.
Maintainers
Readme
Remark Code Import Replace 
Remark code file import and optionally replace the code block.
Basic usage
Code import and replace node
replacewill only run ifimport=is set.
Remark options
export default {
remark: ['remark-code-import-replace', {
// optionally override baseDir
baseDir: '/snippets',
replace: (node, meta, {u}) => {
// Access any meta declared in codeblock
if (meta.param) {
return [node]
}
// e.g. to wraped into another component
if (meta.render) {
return [
u('html', {value: `<div>`}),
node,
u('html', {value: `</div>`}),
]
}
},
}]
}Using with Nuxt Content and Components
- Code file import
- Register a new directory for global import
- Replace and add a new node with the name of the component
// nuxt.config.js
export default {
content: {
markdown: {
remarkPlugins: [
['remark-code-import-replace', {
replace: (node, meta, {u}) => {
return [
u('html', {value: `<${meta.file.name}>`}),
u('html', {value: `</${meta.file.name}>`}),
node,
]
}
}]
],
},
},
hooks: {
'components:dirs': async (dirs) => {
dirs.push({
path: "~/content",
global: true
})
}
}
}