Engineで動かす。2019/03/05Gatsbyでgatsby-remark-componentを使いつつrehypeのASTをいじくってnl2br的な事をするgatsbyrehyperemarkjavascriptGatsbyでMarkdownを記述すると、普通に改行しても反映されない。Markdownの仕様としてはそれで正しいのだが、気を使いたくないブログだとちょっと面倒さがある。そんな時にgatsby-remark-componentを見つけた。一般的なGatsbyのMarkdown利用の場合、gatsby-transformer-remarkを通して生のHTMLとして記事が取得出来る。そのHTMLを下記のようにdangerouslySetInnerHTMLで表示する事になる。/>dangerouslySetInnerHTMLを使うのはまあまあ気持ち悪いのもあるし、拡張性も高くない。そこでgatsby-remark-componentの出番になる。}]ここからちょっと特殊だ。このpluginはあくまでrehypeのASTをhtmlAstとして返してくれるだけので、そこからは自分で変換する必要がある。}`nl2brの変換をするASTが返ってくればあとは\nを見つけて変換してやればいい。今回はunist-util-visitを利用する形にした。renderAst(tree)}Arrayのspreadでの合成はReduxの公式ドキュメントを参考にした。Github@terrierscript。