乗り換えたばかりのZettlrは使い込むと駄目だった。Electronのため、大きいノートの編集が遅くなるのが一番イライラする(日本語なんて、入力に追いつかなくて ひどい)。※あと、余計な補完だの書式を勝手に変える(勝手に破壊して、なかなか直せないことがある)とかも、やっぱりイライラする。

※JavaScript≒ブラウザでテキスト・画像その他を処理しているので、どうしても無理があるのではないか? 最新のマシンなら問題ないのかも知れないが、元々効率が悪いものだけど すごい環境で動かせばいいという思想なのだろうか? まあ、Intelには馴染みが良さそうだw

そもそもMDが嫌いだ。書いている途中で いちいち書式を思い出したり調べたり、(エディタのせいでプレビューがおかしくて)調整するなどと、本質でないことに手間が掛かって書くことに集中できないし、見た目も煩雑だ。※ 今は流行っているが、僕にすれば全く奇妙な現象で、そのうち もっといいのが出て来て廃れるのではと思う。

※文章に書式指定が混ざっていて、良く普通に読めるものだ。MD愛好家・信者は そういうのが透明にでも見えるものなのか。至るところに混在していても「ないもの」にできる? 全く器用だ。

そこで浮上したのがZimである。前にも書いたように、これはワープロほど高機能ではなく、"Desktop Wiki"を自称しているように とてもシンプルなものだが※、僕がノートを書くには必要充分で、まさに「こういうのでいいんだよ」だ。あと、(ElectronのJoplinに比べて)超省メモリ(約1/3-1/10!)なのも 好感が持てる。もちろん高速だ。

Zim:  「こういうのでいいんだよ」って感じ^^

※ツボは押さえており、ちゃんと上/下付き文字もできるw もちろん、画像も貼り込める。

気になるのは、作者が多忙(あるいは疲労?)で いつ終了するか分からず、そこまで行かなくても、この先も改良される期待ができないことだ(それでも、細かい修正は続いている)。まあ、オープンソースなので、終了する時はソースを引き取って自分で面倒見ることも可能だと考えて、使ってみることにした。

 

ただ、僕の使い方(スマフォからもアクセスしたい)としては、Zimはノートの共有・同期の機能、あるいは それを補助するような機能を持っていないのが困る。※

※実際にはwebサーバの機能が内蔵されていて確かに動くが、Zimの完成度や作者の状況を見るに、このサーバをインターネットで使うにはセキュリティ面でのリスクが高過ぎるので、「持っていない」と書いた。もちろん、使いたい人は使えば良い。

いろいろ検討したが、スマフォからのアクセスに関しては、どうにも いいものがない。Dropboxなどのファイル共有でZimのノートやMDなどを共有すれば、MDエディタで見られる(MarkorはZimのノートをサポートしている)。が、残念なことに画像が表示されない。事前に画像もスマフォに同期しておけばできるが、見るかどうかも分からないノートと画像など全部を常にスマフォに同期しておくのは余りにも効率が悪いし、電池や通信データ量を浪費する。

逆に、ユーザが指示した時だけ同期するソフトだと、ノートを見たいだけなのに、まず「同期」の操作をし(て、同期を待た)なくてはならず、面倒この上ない。そんなの忘れて古い情報を見てしまうか、面倒で使わなくなってしまうだろう。

もう一つ、ノートをHTMLに変換してwebサーバに置けば、スマフォからのアクセスはとても容易になる。上に書いたような同期は不要で、必要な情報だけがダウンロードされるし、特別なアプリも要らない。が、いろいろなノートを全部平文で格納してwebで公開(もちろん認証する)するのは多くのリスクがあって、かなりの勇気と慎重さが要る。

そこで出て来る(生き延びているw)のがJoplinだ。Joplinも実際にはノート全部をスマフォにダウンロードしておくようだが、画像はノートを開く時にダウンロードするので効率が良い。また、不具合のおかげなのだろうが、設定していてもバックグラウンドで同期しないので、アプリを開かない限り電池も通信量も消費しない。その代わり、アプリを開いた時に同期が終わるのを待たないと(そのあとで再度同期が要る場合が多い)、ノートが最新にならない(同じアプリなので、面倒さは少ない)。

という訳で、最新のシステム概要は以下のようになる。

  • PC
    • 僕: Zimでノートを作成・変更、表示する。
      • 当初はJoplinのノートを変換して取り込むことが多いので、そのためのプログラムを作成する。
    • ノート変換・更新プログラム: (スマフォで見たい)ノートが作成・更新されたらMDに変換し、Joplinに入れる(ノートが既にあったら更新する)。
      • 自動で行うようにする予定。
    • Joplin: サーバにノートを同期(アップロード)する。
  • サーバ: ノートを格納する。
  • スマフォ
    • Joplin: サーバからノートを同期(ダウンロード)する。
    • 僕: Joplinでノートを表示する。
      • ノートの更新はせず(Joplinが重いので諦めている)、記録は別のシステムを使う。

そして今は、いくつかのノートをZimに移して機能や操作性などを確認しつつ(ダメ出し+習熟)、ZimとJoplin間のノート変換・取り込み/更新プログラムを作っている。

システムを作る際にZimのいい点は、グラフィカルに(WYSIWYGで)書式設定できるにも関わらず、ノートのファイルが非常に単純なテキスト形式(MDに近い)なので※、テキスト処理ツールで自由に処理できることだ。

※紛らわしいが、ZimのファイルフォーマットはZIMというファイルフォーマットとは異なる。なので、前者は"Zim-wiki"などと書かれることがある。

また、意外なことにpandoc(テキストフォーマット変換プログラム)がZim形式での出力("zimwiki")に対応している(JoplinのMDを入力するには"gfm"を指定するのがいいようだ)※ので、MDからの変換が可能だ。また、Zim自体でMDへのエクスポートが可能なので※、pandocと併用すれば、一応はMDとの相互変換が可能だ(今までのところ、MD-Zimの変換・逆変換をしても書式は崩れていない)。

※なぜか、pandocはZim形式での入力はできず、ZimはMDのインポートができない。

 

今まで同様、このシステムも、いつ気が変わって「はい終わり」になるか分からないが、まあ、苦労して作ったからと言って特に固執せず、その時々で良い・使えるものが できれば・見つかれば良いスタンスだ。

永遠のプロト・PoCか、継続的スクラップアンドビルドか、あるいはシステムの焼畑農業か星一徹式開発か?w

 

PS. Zimを使っていたら、早速思わぬ欠点に気付いた。引用の書式がないのだ。あと、段落のちゃんとした(綺麗な)インデントもない。※ 良く使うものだが、ないものは仕方ない。作者なりの考えなのだろう。

※ちゃんとしたインデントはあった。MDにエクスポートする時になくなってしまったようだ。そうだ、EvernoteからJoplinに移行する時に、MDにはそういう概念がなくて困ったのを思い出した。その時は">"を使った。

代わりに、例えば、引用部をコードブロック(verbatim)にするとか、斜体にするとか、上下を目立つマーク(例: "+++")で挟むとか、MDのコードブロックの記号で挟む("```"などは そのままMDに行く)などの代替ができる。他には、単に段落をインデントさせるのもいいかも知れない。

作者としてはverbatimを使うことを想定したと思う。それは間違っていないのだが、そうすると引用部に書式が付けられなくなくなってしまうのが、不満なのだ。まったく、「シンプルなのでいい」と言っていた舌の根が乾かないうちにw

それから、インデントは、まあ、箇条書きで代替すればできるし、現状でも「綺麗でない」インデントは可能だ。

でも、何となく気に入らないので追加したい気もするが、やり過ぎだろう。 (11/9 19:16)

本体を改造するのはハードで やりたくないので、別件で見付かった余計な変換(例: "//...//"が"*...*"になる)を吸収するのと一緒に、MDへのエクスポート前にノートを変換して何とかした。

引用部はインデントすることにすると、ZimはインデントをTABで表現しているが、MDにエクスポートする時に削除されてしまうので、エクスポート前に、とりあえずMDのblockquote(">")のTABの数分繰り返しにして、MDに残るようにした。 (11/10 18:55)

  •  1
  •  0

コメントを書く / Write a comment

名前 / Name    

メール / Mail 

URL