top

Cartesian Theater

Powered by NotionAPI

20210728

Date: 2021-07-28
Last Edited: 2022-02-23 09:04:00

記事のOGP自動生成を実装した。以下の記事とリポジトリを参考にしている。

React.FunctionComponentをReactDOMServer.renderToStaticMarkup()を使ってマークアップ文字列に変換して、ヘッドレスブラウザで描画した上でスクリーンショットを撮るという実装。とても勉強になった。

あとそのOGP生成用の画面描画にimgタグを使いたかったけどNext.jsによってnext/imageの使用を強制される。ただそれを使うと描画がうまくいかないのでちょっと困っていた。

どうやらこれはESLintの設定で回避できるらしく、.eslintrcの"rules"の項目に"@next/next/no-img-element": "off"と設定するとimgタグを使ってもコンパイルエラーにならなくなった。

しかしこういうことを書いているとコードブロックが書けるようにしたくなる。ただNotion APIではコードブロックはunsupportedと言われて無視されてしまうので対応待ち。

©︎2021 Yuki Oshima