とりあえず書きたいことを書いていく

いわゆる裏垢とか考えてたけど、簡単に言えば姿を隠して書きたいことを書くブログなのかもしれない。

マークダウンの改行に悩む

毎日届くAKB48グループのプライベートメールをどうにか見やすくできないかと企んで、今やっていることをメモ書きにして残しておきます。

Dropbox Paper にインポートしてみる

基本的に、メールは PC の Thunderbird で受信したものを、受信容量を節約するために Thunderbird 内のローカルフォルダに保存しています。このままメール本文をコピーして、すぐにマークダウン文書として編集するのもアリだと思うのですが、それだと添付されている画像の扱いが面倒になってしまいます。

偶然、そんな時に気がついたのが Thunderbird でメールを開いたものを「すべて選択」でコピーして Dropbox Paper のドキュメントに貼り付けると添付ファイルの画像ファイルも一緒に Dropbox 上にコピーされるということです。

これを利用して、受信したメールは時系列に並べて1日1つの Paper ドキュメントとして保存することにしました。

※当然、非公開にして保存しないと著作権の問題としてかなりまずいので、十分な注意が必要です。

Dropbox Paper から GitHub にコミットする

メールは無事 Dropbox Paper に格納されたわけですが、何日分も溜まってくると結構見づらくなってきました。そこでどうしたらよいかをあまり考えずに、マークダウン文書に変換して GitHub に保存することを考えました。最終的にマークダウンが使えるブログにでもエクスポートできればいいのではないかという安易な考えですね。

Dropbox Paper からエクスポートしたマークダウンを編集する

エクスポートしたマークダウン文書を見ると、改行がそのまま改行コードで設定されています。これを GitHub にプッシュしてプレビューすると、当然改行コードは無視されて、すべてがつながった文章になってしまいます。まあ、個人的に見るだけなので、それでも問題ないのですが、やはり改行位置にも書き手の意味があると思うので、可能な限り再現するとなるともうひと手間かける必要が出てくるわけです。

リポジトリにコピー

継続的に使うことを考えれば、まずは GitHub にプライベートリポジトリを作成して、それをクローンすることで今後作業していくためのローカルリポジトリを作成します。ここに上記でエクスポートしたマークダウンを保存します。作業前にコミットしておいた方がいいでしょうね。

GitHub に作るリポジトリはプライベートじゃないとダメです。

一括置換ツールを探す

リポジトリ内のドキュメントを1つずつ開いて修正していくのではキリがないので、正規表現で一括置換ができるツールを Vector さんで探しました。そこで見つけたのが Hoge Text Replace というツールです。サブフォルダ内も含めて、複数ファイルを対象に置換処理ができるツールで、かなり有能なツールだと思います。

改行を「 」(スペース2つ)に置換する。

まずは、空行とか見出し行を除外して行末にスペースを2つ追加してやることにします。以下の検索条件で置換すれば改行として認識されるようになります。置換処理は行単位での処理となるため「複数行モード」で実行します。

検索条件

「見出し、画像リンク、改行」以外で始まって改行で終わっている行が対象。

(^[^#!\n].+)(\n)
置換文字列

文章と改行の間にスペースを2つ追加する。

$1  $2

文中から「 \」を「\」に置換する

上記の処理でスペース2つを追加すると、直後が空行である行末にもスペースが追加されることになります。表示上は特に問題ないはずですが、やはりゴミなのでこれも置き換えていまいます。改行が2つつながっていることを検知したいので、こちらは行単位ではなく「単一行モード」で処理します。

検索条件

スペース2つと改行が2つつながっている部分が対象。

([ ]{2})(\n\n)
置換文字列

スペース2つを除去する。

$2

GitHub にプッシュ

置換処理を行ったマークダウン文書をローカルリポジトリにコミットしてプッシュすれば、送信メールと同じような改行の状態でメールを読むことができるようになりました。新たに置換処理を施す対象が増えた場合には「Hoge Text Replace」でファイルを検索した際にすでに処理済のファイルを対象から外すようにした方がよいかもしれませんね。

ブログにもしてみた

それでも実際に読むにはブログみたいに形にした方がいいかなということで「はてなブログ」に非公開ブログを作って、そこに上記のローカルリポジトリにあるマークダウン文書を元にして記事を投稿しています。1行目のH1のタイトルをブログタイトルに移動すればそれなりな形で読めるようになるはずです。投稿日時もメールの送信日に合わせれば後から探す時に便利かもしれません。

あとがき

本当は IFTTT のような自動化ツールで GitHub にプッシュした時点でメール投稿ができれば更に良いのですが、その辺は今後探っていきたいと思います。