Windows環境で、ブログを書きました。そしたらエラー。
Markdown yaml headerのパースがうまくいってないみたいでした。自作パーサーです。
そこまでは掴めたものの、なぜパースできないかに、1時間ほど費やしてしまいました。
原因は、改行コードでした。もともとLinux環境で開発していたので、Windowsの改行である、\r\n
でエラーを吐いていました。
具体的には、
text.split("\n")[0]==="---"
のような形でMarkdown yaml headerの存在を確認していたのですが、text.split("\n")[0]
の値が---\r
になってしまい、エラーになっていたようです。
text=text.replaceAll("\r\n","\n")
を処理の前に入れることで、解決しました。
みなさんも、行単位でなにかを処理するときにエラーが出たら、改行コードのことを気にしてみてください。 私みたいなことが起こらないように。