diff options
Diffstat (limited to 'plugins/withMarkdownLoader.js')
-rw-r--r-- | plugins/withMarkdownLoader.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/plugins/withMarkdownLoader.js b/plugins/withMarkdownLoader.js new file mode 100644 index 0000000..7dd51b6 --- /dev/null +++ b/plugins/withMarkdownLoader.js @@ -0,0 +1,31 @@ +const hljs = require('highlight.js'); +const pluginFactory = require('./pluginFactory'); + +function highlight(code, lang) { + const language = hljs.getLanguage(lang) ? lang : 'plaintext'; + + const highlighted = hljs.highlight(code, { language }).value; + return highlighted; +} + +const withMarkdownLoader = pluginFactory((config, _options) => { + config.module.rules.push({ + test: /\.md$/, + use: [ + { + loader: 'html-loader', + options: { + esModule: true + } + }, + { + loader: 'markdown-loader', + options: { + highlight + } + } + ] + }); +}); + +module.exports = withMarkdownLoader;
\ No newline at end of file |