うちあわせCastな木曜日

8:00

おはようございます。本日は午後からうちあわせCastです。それまでは原稿作業を進めましょう。

Textbox:

iPhoneで撮影した食事の写真などをTextboxに取り込みたい、という欲求があります。Life Journalと、ひとまずは呼びます。

それは通常の思いつきメモとは別の、ライフログ的な記録です。日記もその系列に入れるのがいいのかもしれません。

ひとまずは、それようのフォルダに写真を保存していく、というのが第一ルートです。それならば特に難しくはありません。しかし、写真の名前やコメントをつけるとなると、一ひねりが必要です。

方法は二つ。HTMLないしはマークダウンでそれらを記述し、画像を image タグで指定するというやり方。もう一つはJSON形式で保存し、画像もそこにファイル名を置くというやり方。後者はJSONをfetchしてHTML要素を生成する、といういつものやつになります。

* * *

ヒントにしたいのは以下のサイト。

Using static websites for tiny archives – alexwlchan

自分で静的なサイトを作っているということで、Textboxと同じコンセプトです。

各年ごとにフォルダがあり、そこに画像ファイルがまとめられているのでしょう。で、トップの階層にindex.htmlとmetadata.jsが置かれています。おそらくmetadata.jsにファイルの説明などが入っているのではないかと予想します。

index.htmlでそのjsを呼び出して、ページを生成する。あるいは記述されたものに説明を加える、という感じでしょう。たとえば、HTMLにイメージタグがあって、そこにidがふってあって、そのidの説明がmetadataにある、みたいな形。

こちら側のシステムはいくらでも作り込めるので、考えたいのはiPhoneでの処理。写真を撮影して、それをTextboxに送る段取りをどうするのか。

* * *

直接パターンと、間接パターンがあります。

直接パターンは、ショートカット.appなどを使い、画像を選択し、テキストを記述して、それをセットにして何らかのかたちでtextboxのフォルダに保存すること。ようするにiPhoneだけで完結するやり方。

間接パターンは、Textboxのimageフォルダに「inbox」というフォルダを設けて、そこに保存だけして、テキストを加えるなどの処置はパソコン上で行う、というもの。iPhoneは前処理だけに使い、Textboxへの編入はパソコンで作業するやり方です。

後者であればあっという間に作れます。ショートカット.appで3〜4ステップくらいで済むでしょう。

前者はかなりやっかいです。でもって、それとTextbox上の実装が関わってきます。

* * *

データをJSONで保存する場合を考えてみましょう。

当然のように、そのJSONにテキストと画像ファイルの名前を保存することが必要です。その上で、画像ファイルそのものを特定のフォルダに保存すること。Dropbox経由でそれを行うので結構時間はかかりそうです。最初に保存されているJSONを読み込んで、そこに追記して保存する、という往復が必要なので、iCloud Driveよりも体感はかなり遅く感じると予想できます。

単に画像を保存するだけならばあっという間です。

JSONを経由せずに、mdファイルに直接記述を追記する場合なら、少しだけ話は変わってきて、末尾ないしは冒頭に追記ができるので、その場合は少し速くなると思います。

さて、どうするか。

mdファイルに直接記述してしまうと、逆順でのソートや検索が少し難しくなります(一応不可能ではない)。

* * *

JSONの作成自体は後から行うことも不可能ではないので(やや面倒ですが)、とりあえず、iPhoneで撮影した画像をTextboxのフォルダに保存する仕組みだけを作っておきましょうか。

* * *

とりあえず、photo と screenshot という二つのフォルダを作りました。日記というようなカテゴリよりもこちらの方がよいかと思います。

さらにその中身を分けるかどうかは一旦保留にしておきましょう。photoなら「食べ物」「飲み物」という分け方もできますし、オブジェクト指向ノーティングならそういうやり方になりそうですが、とりあえずはこの二つ。

あとで読む:iOSのローカルを全文検索するSamurai Search - Jazzと読書の日々

* * *

できました。

https://www.icloud.com/shortcuts/0ec25b65ab0f4f9696caaf68ed215645

Image from Gyazo

iPhoneでショートカットを起動し、写真を選んだら、それがDropbox/textbox/以下略に保存されます。複数選択にも対応してます。

写真のメタデータに「スクリーンショットであるかどうか」が含まれていたので、それを使って条件分岐することにしました。なかなか快適です。

あとは、このデータをTextboxでどう表示させるか。かなり深い階層にあることと、年ごとあるいはカテゴリごとでフォルダが分かれる可能性があるので、その編を考慮してシステムを組む必要があります。

単純にHTMLを書いてもいいですが、やっぱりJSONでコメントも添えられる形がよいですかね。

* * *

すでに「アルコール履歴」というページがありました。

Image from Gyazo

これをとりあえず、Life Journalというページにリンクさせておきます。

で、このページは普通にdivでページを構成していますね。すべて手書きです。ただ、画像ファイルはgyazoへのリンクでした。なるほど。

そういうやり方もありではあります。このページをそのまま外部に公開することもできますからね。

ともあれ、まずはローカル形式でいきましょう。

* * *

やはり、手書きは限界がありますね。特に凝ったレイアウトにしようと思うと、divなどで囲む必要があり、なかなかしんどいです。listを使うこともできますが、そうなるとバレットが邪魔です。

普通にまっすぐに並べて行くだけならば、そう難しくはなさそうですが。

* * *

一通り体制を整えたら、Evernoteに保存してあるチューハイの画像をすべてこちらに映そうと思います。脱Evernote計画の一端を担う計画ですね。

ようするに、Evernoteに含まれていたものを、いくつかの構成要素に分け、それぞれのパーツに沿った形で保存し直す、ということになりそうです。

10:00

メルマガ:

三つ目の原稿を書きましょう。

* * *

2100字の原稿を書きました。

11:00

一日一英文:

Good nutrition is vital for an infant’s growth.

環読プロジェクト:

第一章の続きを読みましょう。

14:00

うちあわせCast:

収録です。

* * *

収録が終わりました。

publish:第百六十一回:Tak.さんと沈思黙考できる場所について 作成者:うちあわせCast