今までノート・日記のテキストファイルは Dropbox で同期していました。 Dropbox の同期については満足しているのですが Android スマートフォンで全文検索でファイルを探して開くということができないのはやはり不便なので Google ドライブに同期するように変更しました。
Ulysses で Dropbox を同期しておくこと iPhone でノート・日記のテキストファイルの全文検索・編集ができていたのですが、今回の Google ドライブへの同期先変更でそれができなくなります。
今は Android スマートフォンメインで使っているのでこちらは諦めることにします。
Google ドライブにテキストファイルとして扱ってもらうためには Markdown ファイルの拡張子を md ではなく txt にする必要があります。
過去 txt ファイルに統一して Google ドライブに同期していた事もあったのですが、その時はテキストエディタ・ライティングアプリの都合で結局戻しました。今回全文検索が使えることを優先し、再度 Markdown 形式のノート・日記テキストファイルも拡張子を txt に変更しました。
Mac の Ulysses ではそのようなファイルを保存している外部フォルダの「新規シートのファイル拡張子」設定を .txt に変更し、「標準テキスト (.txt) ファイルを Markdown として編集」設定をオンにしておきます。
JotterPad・iA Writer・Jota+ が Google ドライブにアクセスできるので、これらでブラウズしてファイルを開き編集できます。
全文検索でファイルを探してから開いて編集するというのは JotterPad・iA Writer ではできません。
Google ドライブアプリで全文検索してファイルを選んだあとに Jota+ に渡すと、Jota+ で編集・保存で Google ドライブに書き戻すことができます。全文検索からはこの流れで扱うことにします。単独のライティングアプリで全文検索から直接編集といかないのでちょっと手間ではありますが、今までは探すことすらできなかったのでかなり助かります。
これでどこでもパーソナルナレッジベースにアクセスできるようになりました。やはり過去のノート・日記をどこでも検索できるというのは便利でいいですね。
[ ノート・日記はテキストファイルに ]
Markdown 形式ファイルと、そこから参照されている画像ファイルを1つにまとめて管理する形式として TextBundle がある。ライティングアプリ Ulysses が対応しているのでちょっといじってみた。
TextBundle は package format と compressed format がある。 package format は macOS のパッケージの形になっていて、 textbundle という拡張子をつけたディレクトリの中に info.json と text.* (Markdown なら text.md)、それからテキストファイルから参照しているファイルを asserts/ サブディレクトリに置くという仕様である。macOS の Finder からは1つのファイルのように表示される。
メリットは以下。
非対応アプリケーションから使う場合にデメリットを感じる。
Ulysses は TextBundle に対応しているので通常の Markdown ファイルと同様1つのシートとして自然に扱える。
普段 Ulysses for Mac では Dropbox の中のディレクトリを外部フォルダとして指定して使っているので以下、外部フォルダの時の話し。
Ulysses の外部フォルダ上の Markdown ファイルに貼った画像をエディタ上でプレビューできるのは現状 TextBundle だけ。エクスポート時も TextBundle 内の画像ファイルは書き出されれるけれど、(相対パス・絶対パス問わず)ファイル名で参照しているものは書き出されない(http/https な URL で指定した画像は HTML でエクスポートする際は画像が貼られる形になるが PDF ではだめ)。Ulysses だけを使って画像を扱いたいなら TextBundle を使う以外選択がない感じだ。
Ulysses 上で TextBundle なシートを保存するたびに参照されている画像ファイルを残して他は assets/ から消されてしまう。なので assets/ の下に画像作成に使ったソース・ファイル(マインドマップファイル)を一緒に置いておくおような管理はできない。そもそもテキスト編集で間違えて画像参照を消して保存実行してしまうと、画像ファイルだって消えてしまうので、画像ファイルだってオリジナルを別で保存しておく必要がある。
TextBundle は使うのは控えた方が良さそうだ。
ライティングアプリ Ulysses for Mac では画像ファイルのプレビューがいい感じじゃなかったので、 Markdown プレビューアの Marked 2 を使うことにした。
Marked 2 は相対パス指定・絶対パス指定のローカルの画像ファイルや URL で指定したネットワーク上の画像もきちんと扱ってくれるので便利だ。
さて Markdown ファイルから参照している画像ファイルをどこに置いておくか。Markedown ファイルと同じディレクトリに置くのが素朴だが以下の点で却下。
別のところにまとめて置いておくのがよさそうだけれど、そうするとパス指定の問題が出てくる。ファイル移動時の参照書き換えをするは面倒なので嫌。
どうしようかなと思っていたら、 Marked 2 のプリプロセッサ機能で画像のパスを書き換える例を発見。その記事ではローカルホストでのプレビュー時とサイト公開時とでパスが違うことの解決に利用していたんだけれど、ローカルホスト上でも応用できるな。
パス指定はプリプロセッサにやらせてしまえばいいじゃない。画像のファイル名をユニークにしておき(もともとそうしている) Markdown ファイル上ではそのファイル名だけで画像参照として書く。プレビュー時に画像ファイルをローカルホスト上で検索して見つかったパスで書き換えてやれば良いなと。
さっそく Perl プログラムとしてプリプロセッサを作成。 Markdown ファイル中の画像参照があったら、Markdown ファイルのあるディレクトリレクトリ以下および指定したパス以下のディレクトリから File:Find::find で探し、見つかればそのパスに書き換えるようにしてみた。
あ、これ便利。
画像ファイルをいちいち Markdown ファイルの近くにエクスポートするとか、一緒に移動させるとかする必要なくてめちゃくちゃいいわ。
頭に浮かんだことを書き留め、整理しながら思考していくツールとしてアウトライナーをまた利用したくなった。 WorkFlowy や Dynalist が人気のあるアウトライナーだけれど、 個人的にテキストファイルとして管理できる方が好きなのでまた TaskPaper を使うことにした。
去年アウトライナーとして使い始めたあとに、タスク管理の統合を試みたもののタスク管理を Remember The Milk に戻したタイミングでアウトライナーとしても使わなくなっちゃってた。
今回は TaskPaper は
に絞って活用するつもり。inbox・ノートツールは Ulysses (ライティングアプリ)、タスク管理は Remember The Milk 中心で。プロジェクトノートに使うかはまだ迷い中。
[ ノート・日記はテキストファイルに ]
最近 Ulysses for Macばかり使っていて出番が減っているライティングアプリ iA Writer for Mac だけれど、ライブラリ機能が Ulysses と違うので使い分けでまた使ってもいいかなって。
Ulysses はテキストファイルしかシートリスト(ファイルリスト)に表示されないのに対して、 iA Writer ではその他のファイルもファイルリストに表示されるのでその存在を意識できる。
画像ファイルやスプレッドシートなどその他のファイルが混在している
のようなフォルダ上の Markdown ファイルの編集には iA Writer の方が便利そう。またちょこちょこ使ってみることにする。
[ Mac アプリケーション ]
Android デバイスでさっと現在日時をファイル名にしたファイルを作成してメモするに今はライティングアプリ JotterPad を使っている。今の手順。
ちょっと長い。最近使い始めた Android アプリの neutriNote が軽快でいい感じなのでキャプチャツールを neutriNote にすることにした。
ただ neutriNote だとタイトル(= ファイル名)に使えない文字があると「Invalid title」と表示されて保存できないので、きちんと現在日時を入力できる手段が必要になる(neutriNote には柔軟な text expansion 機能があるのだけれど、本文でしか使えなかった)。指定フォーマットで現在日時を文字列化するアプリはいろいろあるが「クリップボードに生成するものは手順が多くなる」「Gboard はマッシュルーム未対応」ということで使い勝手のアプリを探してみたところ Texpand が良さそう。
テキスト入力中に登録した Texpand に登録したフレーズがあるとフローティングボタンが表示されるのでこれをタップすると入力が置き換えられる。置換時の年月日時分秒をテンプレート設定できるので「にちじ」と入力さいたら現在日時文字列になるようにした。
これで
でキャプチャできるようになった。neutriNote 良い。
[ ノート・日記はテキストファイルに ] [ ファイル名の先頭を日付に ]
一昨年の8月21日に年間購読し始めたライティングアプリ Ulysses、この1年もヘビーに使い続けていたのでそのまま自動更新。
機能追加の開発も継続的に行われているのでうまくビジネスが回っているのかな。
[ サブスクリプションサービス ]
Ulysses 18 for Mac からフォーマット無しのテキスト(プレーンテキスト)として表示・編集する機能が無くなったのかなり不便である。ライティングアプリ iA Writer for Mac メインに変えようかなと。
iA Writer も全て Markdown 扱いになるのだけれど、 Ulysses のように勝手に \ でエスケープされて書き換えられるといったようなことがないのでそれほど困らない。
Ulysses ではパフォーマンスの問題で nDiki の全記事の入ったフォルダをライブラリ(外部フォルダ)に追加できなかったのだけれど、 iA Writer で試しにライブラリ(ロケーション)に追加したら意外や意外、問題無く操作できた。これは嬉しいぞ。
[ ノート・日記はテキストファイルに ]
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。
※内容は個人的見解であり所属組織とは関係ありません。