cheatsheets/_modules/@rstacruz/prettier-plugin-markdown-ex.../index.js

24 lines
606 B
JavaScript

const prettierMarkdown = require('prettier/parser-markdown')
module.exports = {
parsers: {
markdown: {
...prettierMarkdown.parsers.markdown,
preprocess(text, options) {
let result = prettierMarkdown.parsers.markdown.preprocess(text, options)
result = convertToCodeFences(result)
return result
}
}
}
}
function convertToCodeFences(input) {
let source = input
source = source.replace(/\n((\n+ [^\n]+)+)/g, (match) => {
const dedented = match.replace(/\n /g, '\n').trim()
return '\n\n```\n' + dedented + '\n```'
})
return source
}