-
Notifications
You must be signed in to change notification settings - Fork 0
/
next.config.js
50 lines (47 loc) · 1.29 KB
/
next.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
const path = require("path")
const github = require("remark-github")
const math = require("remark-math")
const footnotes = require("remark-footnotes")
const prism = require("@mapbox/rehype-prism")
const katex = require("rehype-katex")
const withMDX = require("@next/mdx")({
options: {
remarkPlugins: [footnotes, math, [github, { repository: "dummy/repo", mentionStrong: false }]],
rehypePlugins: [prism, katex],
},
})
const withNotebook = require("./src/notebook-loader").withNotebook({
options: {
inner: {
remarkPlugins: [footnotes, math, [github, { repository: "dummy/repo", mentionStrong: false }]],
remarkPlugins: [katex],
notebookjs: {
highlighter(text, pre, code, lang) {
if (code != null) {
// Add a class attribute for prism.
code.className = `language-${lang || "text"}`
}
return text
},
},
},
outer: {
rehypePlugins: [prism],
},
},
})
module.exports = withMDX(
withNotebook({
exportPathMap(defaultMap) {
return {
...defaultMap,
"/404.html": { page: "/_error" },
}
},
pageExtensions: ["tsx", "mdx", "ipynb"],
webpack(config) {
config.resolveLoader.modules.push(path.resolve(__dirname, "src"))
return config
},
}),
)