cd ~/notebook pt -l -e "^ID:\\s+$query" . | head -n 1
で見つかったファイルを iA Writer で開く PopClip エクステンションを作った。 iA Writer 上で 20210125215723 という文字列を選択したあとにポップアップした PopClip でこのエクステンションを実行すれば
YAML front matter に
--- ID: 20210125215723 ---
と書いておいた Markdown ファイルを iA Writer でささっと開ける。 iA Writer でのノート間リンクを実現。先週 Alfred で開けるようにしたものの PopClip 版。
PopClip 便利。
キーを「ID」ではなく「ZID」に変更した。
[ ノート・日記はテキストファイルに ] [ Zettelkasten ]
ストリーム。#photography
— Naney (@Naney) January 25, 2021
RICOH GR III #GR #GRIII #GR3#ブラックミストNo05 pic.twitter.com/yO9ng7zbak
Markdown エディタ Zettlr で内部リンク(ノート間リンク)を
- [[yyyymmddHHMMSS]] タイトル
のように書き、エクスポートする時は Marked 2 のカスタムプリプロセッサで消す(記事)というマイルールを作った(yyyymmddHHMMSS は ID)。が Zettlr から iA Writer に戻し、ノート間リンクは自作の PopClip エクステンションで開けるようにした(記事)ので、必ずしも [[yyyymmddHHMMSS]] 形式で内部リンクを表現しなくても良くなった。であれば、最初から変換した時にドキュメントに現れない形式で Markdown ファイルに内部リンクを書いておきたい。
Markdown ファイル中に HTML コメント形式で内部リンクを書いておけば、 HTML 等に変換した時にドキュメントに出現しなくて済むのだが iA Writer だと全文検索にひっかからないので却下。
ドキュメントに出現しない表記にはもう1つ「リンク定義」があるのでこれを使うことにした。
[yyyymmddHHMMSS]: <> "title"
として内部リンクを書いておけばプレビューしたドキュメントには現れない。若干やぼったい感じもするがなかなかいいんじゃない。
[ ノート・日記はテキストファイルに ] [ Zettelkasten ]
拡張子 md の Markdown ファイルを「バックアップと同期」アプリで新規に同期したり、 Web 版の Google ドライブでアップロードしたりすると MIME タイプが text/markdown となり全文検索対象にならない。不便。
StackEdit は Google ドライブに送る時の MIME タイプを設定で text/plain を選べるようにすることで問題を回避しているようだ。
クラウドストレージ上のファイルを管理するためのコマンドラインプログラム rclone でアップロードするとどうだろうと思ってやってみたところ、ちょっと設定をいじれば拡張子 md の Markdown ファイルを text/plain で Google ドライブにアップロードできることがわかった。
rclone では Google Drive API で新しいファイルを作成する際に、rclone 側で MIME タイプを判定している。内部的には Go の mime パッケージを使っている。
このパッケージは UNIX 系の環境では mime.type ファイルがあれば参照するようになっていたので macOS Catalina にあった /etc/apache2/mime.type ファイルの text/plain 行に md を追加して試したところ、めでたく text/plain として Google ドライブにアップロードできた。全文検索対象になることも確認。
ちなみに「バックアップと同期」アプリは /etc/apache2/mime.type 変更の影響を受けなかった。
rclone での方法が分かったわけだけれど、実際のところ Markdown ファイルの Google ドライブとの同期や読み書きを rclone だけに限定するわけにもいかないな。引き続き拡張子 txt で管理するのが現実的のようだ。
去年の夏・12月と試したあと距離を置いていたナレッジベースアプリケーション Obsidian が気になってまた使ってみることにした。
Roam Research も気になるけれどやはりデータがテキストファイルじゃないというのがね。
Obsidian を躊躇していた点については以下のように考え運用してみることにする。
過去の全部のノートテキストファイルを対象とするのではなく、特定ドメインの知識整理用としてゆるく切り離して使う。
Obsidian の拡張子が md 固定でそのまま Google ドライブに同期しても全文検索できない問題については、Google ドライブで全文検索したい拡張子 txt の日記/日誌系 Markdown ファイルを Obsidian vault には入れず、今まで通り別で管理することで回避することにした。
[[ファイルベース名]] や [[ファイルベース名|表示テキスト]] という内部リンク方言についても、 Obsidian の vault 内でノートでは許容しよう(許容しないと Obsidian を使う意味が無いので)。エクスポートする時は[[・]]を消すプリプロセッサを用意して Marked 2 で使うようにする。
[ ノート・日記はテキストファイルに ] [ Mac アプリケーション ]
昨日考えた方針通り Google ドライブで全文検索する必要のない Markdown ファイルの拡張子を txt から md に変更し、Obsidian vault を作成した。そこそこファイル数があるが Zettlr に比べて検索が圧倒的に速くてサクサクだ。いけそう。
1つのファイルに複数の情報が書かれているデイリーノートファイルがあると、同日に扱ったという点以外で関連のないものが関連があるかのようなグラフになってイケてない。
フィルタでデイリーノートファイルを -file:... を使って除外したらいい感じになった。なるほど。
試してみたいけれど $96/年に見合うほど使わなさそう。HTTPS なカスタムドメインを設定するのが現時点でハードルが高いということもあり様子見。様子見していて 50% early bird 価格が終わっちゃったら、さらに遠のいちゃうかもしれない。
[ ノート・日記はテキストファイルに ] [ Mac アプリケーション ]
ディスカッションのきっかけになっていいのかもと社内向け Top of Mind ノートを作ってみた。共有範囲の管理を考えてまずは Google ドキュメントで作成。自分の Google Chrome のスタート ページとタブを開いた時のページにも指定してみた(多少表示が速くなるかなと /preview な URL を指定)。
最初は直接 Google ドキュメントに入力していたけれど手元の Markdown ファイルと別々だと煩雑すぎるので、他のドキュメントでやっている Marked 2 で変換して貼り付ける方法で更新することにした。
インターネット公開している Top of Mind ノートに比べて「読まれるかも/読まれているかも」感が薄くて(明示的に誰にも共有していないからそれはそうだ)まだそれほどテンション上がっていないけれど、しばらく続けてみる。
Obsidian ノートとして内部リンク方言([[ファイルベース名]] や [[ファイルベース名|表示テキスト]])を書いた Markdown ファイルを HTML ファイルに変換する場合は Marked 2 から[[・]]を消す自作フィルタをプリプロセッサとして呼ぶようにしている。
単独ファイルとして HTML ファイルに変換する場合はこれで良かった。しかし最近はノート間のリンクを残しつつ変換したくなってきた。
ノートの YAML front matter にそのノートの URL (今だとノートを Google ドキュメントにして共有しているので Google ドキュメントの URL)を URL キーで宣言してある。内部リンク先の Markdown ファイルを探して URL が宣言されていれば [ファイルベース名](URL) あるいは [表示テキスト](URL) に書きかえるよう自作フィルタを改良した。
これでリンク元 Markdown ファイルではリンク先ノートの URL を記述しておく必要がなくなり、普通に Obsidian ノートして書くだけでよくなった。めでたし。
Obsidian vault にある断片的なノートの Google ドキュメント化共有をやめるのに合わせて、社内向け Top of Mind ノートの共有もやめた。
しかし仕事に関する Top of Mind ノートは引き続き Obsidian で更新し、仕事用の Google Chrome のホームボタンや新規タブで表示できるようにしたい。 pandoc でさくっと HTML ファイルに変換するシェルスクリプトを作り Alfred から呼び出してさくっと更新することにした。
ちなみに個人的な Top of Mind ノートは引き続き Obsidian Publish サイト上に作って Google Chrome のホームボタンを押した時や新しいタブを開いた時に表示するように設定している。
Deckset のスライドテーマは欧文向けでしっくりこないなと思いつつ今まで使ってきたが、今回はきちんと日本語フォントを設定するなどちゃんとカスタマイズしたテーマを作っておこうと思う。
Deckset アプリ側でのテーマ管理だとスライド (Markdown ファイル)と設定が分離してしまうのが嫌なので、 configuration commands で Markdown ファイルに都度埋め込むことにしよう。
Deckset では Font Book.App でフォントの「正式名称」に書かれたフォントの名前を指定すれば良いようだ。
theme: Simple,1 text: ヒラギノ角ゴシック W4 text-strong: ヒラギノ角ゴシック W7, #009DD5 text-emphasis: ヒラギノ角ゴシック W2 header: ヒラギノ角ゴシック W7, alignment(left) header-strong: ヒラギノ角ゴシック W9, #009DD5 header-emphasis: ヒラギノ角ゴシック W5 slidenumber-style: ヒラギノ角ゴシック W4 footer-style: ヒラギノ角ゴシック W4 footnote: ヒラギノ角ゴシック W4 link: ヒラギノ角ゴシック W4, #009DD5 quote: ヒラギノ角ゴシック W4 quote-author: ヒラギノ角ゴシック W4 autoscale: true slidenumbers: true slide-transition: push(horizontal) footer: スライドタイトル (confidential) <br/><br/> # [fit] スライドタイトル [.text: alignment(right)] 2021年3月30日 [.hide-footer] [.slidenumbers: false] --- # セクション 見出し --- # セクション見出しと本文 本文
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。
ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。