aboutsummaryrefslogtreecommitdiff
path: root/plugins/withMarkdownLoader.js
diff options
context:
space:
mode:
authorflu0r1ne <flu0r1ne@flu0r1ne.net>2021-07-19 21:08:50 -0500
committerflu0r1ne <flu0r1ne@flu0r1ne.net>2021-07-19 21:08:50 -0500
commitf1f25f4764dd8d297a59765b0df85f55da2b39ee (patch)
tree9c10f3fcde264a1b13dccc64b9037f46d9bbc121 /plugins/withMarkdownLoader.js
downloadhomepage-f1f25f4764dd8d297a59765b0df85f55da2b39ee.tar.xz
homepage-f1f25f4764dd8d297a59765b0df85f55da2b39ee.zip
Init
Diffstat (limited to 'plugins/withMarkdownLoader.js')
-rw-r--r--plugins/withMarkdownLoader.js31
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