アプリケーション

DayOne に転送している Twitter ログを #Scrapbox に記録するために #MacVim で不要なテキストを削った(7.8MBのgifファイルあり)

@rabirgoです。

#Dynalist と #Dynawrite で日記をつけて #Scrapbox にアーカイブするまで(rabirgo2019/03/14版)@rabirgoです。 ちょっと遠回りしてる感もありますけど日記の運用が固まったので記録しておきます。 Dynawrite の入...
#Dynalist に書きためた一行日記を #Scrapbox に貼り付けるための Snippet を作った #TextExpander@rabirgoです。 Dynalist で一行日記を書いてます。 https://rabirgo.net/dynalist...

Dynalist と Scrapbox に日々の記録を集約する運用を行ってます。
記録は Dynawrite や DayOne で行ってます。

整理してて、DayOne の Twitter ログをシンプルな時系列にできないかと思って MacVim でいじってみましたので参考まで記録しておきます。
(Vim をご存知の方向けのポストとなります)

手数は少なくなく、面倒ではあるのでいつまで続くか分かりません。

前提

  • MacVim インストール済み
  • IFTTT により Twitter のログを DayOne に転送

Twitter については以下のような状況です。

IFTTT設定

検索して見つけたと思います。「Twitter “Tweets” saved to Day One」

Twitter "Tweets" saved to Day OneTwitter “Tweets” saved to Day One

DayOne エントリー

Tweet は DayOne 上で以下のように格納されます。

DayOne に格納された TweetDayOne に格納された Tweet

Open in … – Plain Text

エントリーを選択して右クリックしてから Plain Text で出力します。

右クリックメニューより Open In ... Plain Text右クリックメニューより Open In … Plain Text

以下のようなテキストフォーマットで出力されます。

DayOne から Plain TextDayOne から Plain Text

MacVim の ex コマンドを使って変換

MacVim を使って 1Tweet あたり1行になるよう変換してみました。
ここまで記録を頑張る必要があるのかは疑問です。

exコマンドを列挙したファイルを作成

拡張子が適切か不明ですけど、ホームディレクトリ(~/)に dayone.vim というファイルを作成しました。

~/dayone.vim

:%s/\tDate:\t\d*年\d*月\d*日 //
:g/via Twitter/d
:g/@rabirgo/d
:g/ at \d\d:\d\d/d
:%s/:\d\d JST//
:%s/^\n//
:%s/\(:\d\d\)\n/\1 /
:%s/^\(\d:\d\d\)/0\1 /

本来なら vim スクリプトで処理した方が良いのかもしれません。
作ったことないのでまずは自身が使えるものを。

今後うまく処理できないケースは出てくると思うので、手元では随時変更します。ここでは参考まで。

変換作業

変換してる様子を gif にしてみました。(gif ファイルサイズ大きめ。7.8MB)

DayOne の Open In から MacVim で開く

DayOne で複数エントリーを選択し、右クリックで Plain Text を MacVim で開きます。

MacVim で source

先ほど作成した dayone.vim を、ex コマンドの source で読み込むと処理されます。
私はもう一度実施したので、「:so」までタイプして履歴から実行します。(ファイル名を毎回入れるようなことはしません)

:so ~/dayone.vim

gif では一部エラーになってますが、gif を作成する際に選択したエントリーが少なかったのでキーワードが現れませんでした。

さいごに

繰り返しになりますけど、やっぱりめんどくさいです。
今後日次レビューなどするときに、DayOne ログがあまり有用でないと判断したらやめると思います。

ABOUT ME
rabirgo
うさぎ年おとめ座生まれの rabirgo です。 2019年よりフリーランスとして活動しています。