Next.js App RouterでKatexのCSSをimportしたい
前提
- Next.jsのApp Routerを使って、の数式をMarkdown内で書いてブログ記事を生成したい
remark-math
やrehype-katex
を使う
const processedContent = await unified()
.use(remarkParse)
.use(remarkMath)
.use(remarkGfm)
.use(remarkRehype)
.use(rehypeKatex)
.use(rehypeHighlight)
.use(rehypeStringify)
.process(matterResult.content);
const contentHtml = processedContent.toString();
問題
- Katexには
head
にstylesheet
を入れろと書いてある
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
</head>
- が、Next.jsのApp Routerでは
head
を自由に編集できない - Issueにもなってた
<link rel="stylesheet" />
はUnsupportedとのこと
解決策
layout.tsx
でimport 'katex/dist/katex.min.css'
した
最初からReact Markdown使えよという話かもしれない