Archive for the ‘PC・技術’ Category

いろいろな「したくもないライフワーク」がある。この部屋の異臭問題もその一つだ。去年の初夏から煙草臭や薬品臭(おそらく、加熱式煙草の臭いと想像している)がする(外から入って来る)ようになり、冬までに随分対策して小康状態となり、今年の初夏には解決したか(それでも薬品臭は していた)と思って正式な対処をして終わりにしようとして居たら、そうは問屋が卸さず、この夏に煙草臭が再発して再び格闘して来た。

再発した原因は、窓の隙間を塞いでいた詰物やテープ類が劣化したためだと思う。冬を越し、暑くなって劣化が進んだのではないか。

そこで、まず、以前クリアフォルダーで塞いだエアコンのダクトの室内側の大きな隙間の気密性が甘かったせいかと考えて、穴にビニルを詰めて上をパテで塞いでみたが、余り改善しなかった。更に、廊下などの照明のスイッチのパネルからも風が漏れることが分かったので、ビニルで塞いだが効果はなかった。

結局、一番の漏れる経路は、やっぱり窓(主に窓(動く部分)と窓枠の隙間)だと考えた。それで、ほとんど最終的な対策として、窓の室内側の手前全体にシートを張って、窓に隙間があっても外の空気が室内に漏れ出さないようにすることにした。

実施に当たって いろいろ分からないことや気になる点(例: 気密性・漏れ、シートやテープに必要な強度、結露の有無)があるので、まずはプロトで試すことにした。失敗してもいいように安いシートを探したら、ホームセンターにあった塗装用の養生シート(PE, 2.4mx25m, 厚さ: 0.01mmくらい(スーパーの半透明なポリ袋くらい), コロナ処理)がサイズが丁度良くて、値段も500円くらいと手頃だった。枠に貼るテープは強力な両面テープは高いし試行だからもったいないので、今まで使っていて丁度良かったマスキングテープ*にした。

*ホームセンターで買ったもの※は粘着力が弱くて、すぐに剥がれてしまって失敗だった。糊残りの点では安心だが(それにしたって、あんなにすぐに剥がれるのでは役に立つのかどうか・・・)、今回の用途には向かない。

※中学の技術の製図の時に紙を押さえるのに使った、クリーム色のテープのような感じだった。

それで、手持ちの100円ショップ(ダイソー)の塗装用のものを使った。これが、しなやか かつ粘着力があって なかなか良いのだ。ただ、本来の用途にはどうかという疑問はあるw

うちには窓は大小二つあるのだが、まずは机に近くて影響の大きそうな大きい窓(以下、大窓)に張った。窓は大きいので、シートの処理がなかなか大変だった(あとで足腰が痛くなった)が、何とか付いた。効果は抜群で、臭いが かなり減った。体感で1/10くらいになった。付ける前は、臭う時は「少し臭い」が多かったが、「わずかに臭い」になり、臭う頻度も減った。

その代わり、換気は悪くなった。意識して時々換気しないと「空気が悪い」感じになる。一長一短である。

それでもまだ臭うので原因を調べたが、どうやら、小さいほうの窓(以下、小窓)から漏れて来るようだった。というのは、臭う時に出所を調べるために窓の辺りを嗅いでみると、大窓は臭わないが、小窓では臭う感じがしたからだ。

当初、カーテン(特にレースのもの)に臭いが染み付いている(嗅ぐと薬品臭がする)ためかと考えて洗ってみたのだが、(カーテンの)臭いは取れなかった。ただ、付けていて常に臭う訳ではないのでカーテンではなさそうだ。 → しばらく外していたが、今朝から再度付けて試している。

だから、シートの気密性は問題なさそうだ。ただ、養生シートは不透明なので、外が見えないのは不便だし、さすがに気が滅入る。あと、テープもちゃんとする必要がある。というのは、今朝はシートの下辺が結露していたので、紙のマスキングテープではそのうち剥がれるだろうからだ(そもそも、マスキングテープに耐久性は期待できない)。

それで、透明なシートと強いテープを探した。すると、シートに関しては、園芸・農業用のシートが、サイズや値段の点で良さそうだった。そして、そのページを見ていて思い付いた。シートの材質は主にPEかPVCだが、PEだったら、手元に、間違って買った※透明なゴミ袋があるから使えるかもと。

※透明でも使えるが、中身が丸見えで ちょっと嫌なのだ。

ゴミ袋は窓には小さいので開いて繋げる必要はあるが、園芸用シートを買う前の試行にはなりそうだし、透明なゴミ袋が減るのも丁度いいので試してみた。

繋げるのは なかなか大変だった。大窓用は4枚(繋げるのに結構うんざりしたw )、小窓用は3枚使った。ゴミ袋同士を貼るのには、やっぱり手元にあって使いあぐねていた※OPPテープを使った。OPPテープには耐久性はなさそうだが、それを調べることもできそうだ。

※OPPテープは どうも使いにくいため。普通の紙のガムテープのほうが好きだ。

最初は(大窓の養生シートを交換して)大小両方の窓に付けるつもりだったが、不調+疲れていたので小窓だけに付けてみた。これも予想以上に大変で、4時間くらい掛かった。準備(詰物やパテの撤去と清掃)に半分くらい掛かったし、シートを窓枠に貼るのも手強かった。やっぱり、今日は足腰が痛い。

なお、シートを枠に貼るのには、同じダイソーのマスキングテープで幅広(25mmが良かったが、30mmしかなかった)のものを使った。幅が変わって性質が異なっていないか心配だったが、大丈夫だった。

これも効果があり、それまでよりずっと空気が綺麗な感じになった。今までも不思議に思って居たのだが、そういう時は机の触感がサラサラになる。臭いの影響で皮膚の状態(微妙な発汗?)が変わるのだろうか?

昨日 小窓に張って分かったことは、(上にも書いたが)冷えると(今朝の最低気温は-0.6℃だったようだ)枠に近いところが結露してテープが湿ることだ。シートの大部分は窓から離れているので結露しにくいが、枠(金属)は冷えるので、その近くの結露は避けられない。そのため、正式版のテープには耐湿・耐温(高低)・耐候性(紫外線)が必要だが、そんなに揃ったものは なかなか手頃なものがなさそうだ。

まあ、シートも劣化するだろうから、定期的に貼り・張り直すのは仕方ない。

なお、シートを枠に貼るのには両面テープが良さそうだ。まず両面テープを枠に貼り、そこにシートを貼れば、比較的綺麗に張れそうな気がする。PVC対応のテープは高いので、シートはPEにしたほうが良さそうだ。

あとは、シートが厚い(今回は0.025mm)と枠にフィットしにくくなって、隙間ができやすいことだ(余った部分を切らずに折って使ったせいもある)。特に角の処理が難しい。

それから、換気扇を回すと(、あるいは風があると)シートがパンパンに(ミシュランの人形みたいにw)膨らむ。※ 膨らみを減らそうとすると張力が高くなるし、そうでなくても膨らむので力が掛かる。そのため、シートにはある程度の強度が要る(かといって、厚いと枠にフィットしにくいし、重くてテープが剥がれるかも知れない)。あと、透明でも、膨らむせいで視界が今ひとつ悪くなるのは意外だった。

※膨らんで力が掛かったせいだろうか、今朝見たらテープが一部剥がれていた。

 

というところで、これを書くまでは明日辺りに大窓も「ゴミ袋シート」に換えるつもりだったが、それよりも正式版を考えて それを付けるほうがいい気がして来た。苦労して作ったゴミ袋シートだが、今の養生シートでも臭い対策としては問題ない。せいぜい、外が見えないのでベランダの鳩よけ網やエアコンのドレンホースの状態が見えず、ちょっと不安な程度だ。まあ、それも含めて少し様子を見よう。

ただ、正式版には未解決の課題がある。出入りできるようにしたいことだ。頻繁ではないが、ベランダの網やドレンホースの点検や保守をすることがあるので必要だが、クリアするのはなかなか難しそうだ。今考えて居るのは、出入りする面のシートに出入り口となる長方形の切り込み(3辺)を入れ、それをマスキングテープのような、剥がせるテープで貼っておくことだ。

 

最後に、今までの苦闘で分かって来た、いろいろな異臭の原因(推測)を書く。

  • 煙草臭: (もちろん)煙草
    • 周囲の部屋(始まった時期から、下が怪しい)や家(ただ、距離が結構あるので伝わって来るのかは不明)で吸っているのではないか。
  • 薬品臭(何だか不明。刺激臭とまでは行かないが、そういう系統。鼻がムズムズする。): 謎だが、加熱式煙草ではないか。
    • 周囲の部屋、特に下が怪しい。
      • 本当の煙草と切り替えながら吸っている?
      • ただ、下から臭いが上がる確証はない。 → 周囲に同じように拡散している?
    • 道路工事は関係なさそう。
      • 外で臭うことは滅多にないので。
    • カーテンに染み付いているが、それで部屋が臭くなることはなさそう。 → 再度試している。
    • 同様に、エアコンの内部に染み付くこともあるが、時間が経っても抜けないことはなさそうだ。
  • 埃っぽい臭いやセメント臭: やっぱりエアコンのコート材だった。 (→ 参照)
    • パーシャルな運転時に臭う。
    • ただ、なぜか近頃は臭わない。しばらく使うと抜けるのだろうか。
  • 油っぽい臭い: 扇風機だったかも。
    • 試しに扇風機を使わないようにしたら、臭わなくなった。
    • 煙草臭(の一部)もその可能性がある。
    • モーターの軸が油切れになった時に吹き掛けた、潤滑スプレー(クレ556の類似品)が悪かったと想像している。
      • 連続使用して熱くなると臭いが出るのではないか。
    • ただ、冬場は臭わなかったから、実は無関係(外から)だった可能性も捨てきれないので、あとで再度試したい。

 

PS. ふと思ったが、オープンカーで後ろの窓がビニルの場合があるが、(幌もそうだけど、)そのビニルは相当強いものなのだろうか? 高速で走るから、掛かる力(風圧)は換気扇どころじゃないな。

  •  0
  •  0

世の中、というか、僕が関わるものにはクソが多くて嫌になるw

先月、ちょっと思いついて、光を使っているDTIの支払いを ポイント還元率の高いデビットカードに変えた。デビットカードが駄目なところがあるので、通るかと心配していたのだが、その時は問題なくて、ちゃんと「決済を変更した」というメールが来たので、安心していた

ら、先週、「決済できなかったから至急振り込め」というメールと紙が来た。しかも、「今月末までに払わないと止める」だと。それで、その時はぼやっとしていて文章を良く理解できなかったせいもあるが、「クレジットカードの再登録もしろ」とあったので、再登録すればそれで未納分も支払われるのかと思い、元のカード会社に戻して終わったと思って居た

のだが、昨日だったかに その手続き完了の紙が来て、ちょっと気になった。: クレジットカードの再登録をしても、未払い分は引き落とされないのではないかと。

これ、その紙のどこにも書いてなかったのだが、そういう悪い気みたいなものを感じた。「ピンと来た」ってやつだ。

それで未納の時のメールを見たら、確かにそうだった。危ないところだった。

それだけならいいが、支払い額には、未納分だけでなく催促(再請求)の手数料550円が加算されていた。

は???

あらかじめデビットカードが駄目なのを調べなかったのはこっちが悪いが、登録時にチェックしなかったのは そっちの落ち度じゃないか。※ それで罰金とは全く納得行かない。とは言え、ネットを停められては困るので払った。

※登録完了しても決済できないのでは、登録し直した普通のクレジットカードだって、ちょっとした手違いで また550円もの大金を取られるかも知れないと心配だ。

これだけでもう最高に嫌になって、止めたくなった。

サポートに文句を言ったって、どうせテンプレートどおりの対応をされて(例: 「なぜ引き落としできなかったかは、弊社では判りかねます。」) こっちが疲れるだけで何もメリットはないので、しない。クソに付き合うのが一番馬鹿げている。

 

そして今日、今まで保留していたモバイルの移転も合わせて、何かキャンペーンがあれば、月額料金だけでなく、初期費用や工事費用などを含めても安くなるところがありそうだと思い付いて調べたら、丁度、IIJmioが今月末までキャンペーンをやっていることが分かった。 (「渡りに船」?)

ちゃんと規約を調べたり料金を計算しないと確かなことは言えないし、他にもいいとろがあるかも知れないが、どうやら目論見に合いそうだ。料金は高いが、光とモバイルが一緒だと660円も割引かれるので、トータルでは安くなる。そして、キャッシュバックが1万円あるので、初期費用とや工事費用(フレッツの転用なので安そうだ)は問題なさそうだ。更に、クソDTIの罰金も余裕でペイできる!www (「損して得取る」とは ちょっと違うか)

なお、最も重要なプロバイダの質に関しては、老舗なので堅いだろう(→ 通信データ量が多いと制限されそう)という気がするだけで、他は何も心配はない。技術的には マトモなことをしているイメージがある。

モバイルについては、今のイオンのOEM元的なところだと思うので、何も劣化はなさそうだ。しかも、容量は一気に6倍の3GB(キャンペーン中)になる。使わないけどw

てな訳で、急遽詳しく検討することにした。

(11/26 8:24) 調べたら(もちろんNTT, ソフバン, 楽天など以外で調べた)、光とモバイルのセットでは やっぱりIIJmioが残った。また、別々で安くするなら、エキサイト光 Fit(従量制)+HISモバイルが残った。

トータルのコスト(初期費用, キャンペーン, 中途解約の違約金などを含む)を比較すると、1年ではIIJが1万円近く安いが、1年超では差は小さく(約4千円)なり、IIJは段々高くなるので、すごく安いとは言えない。ただ、どちらでも現状(DTI光+イオンモバイル)よりは安い(例: IIJは1年で1.4万円, 3年で2.4万円安い)。

そして、IIJはやっぱり硬い(例: サポート)が、安くて安定性がありそうなので、ほとんど決まっている。ただ、一つ疑問があるので問い合わせしようとしている(電話はナビダイヤルで高く、メールやツイッターのDMは不可、チャットは24時間でないので待ち状態: ここが気に入らない)。

なお、他にはBIGLOBE, hi-ho, Asahi-netなどがあった。BIGLOBEは「シンプルな料金体系」と書いてあるけど、随分いろいろあって分かりづらいし、サイトもごちゃごちゃしていてセンスが悪いと感じた。他はまあ、安くないしメリットもない感じだった。

(11/26 9:56) IIJのチャットサポートは ひどいものだった。人に繋ぐ方法(裏技的: 「その他の質問」(のようなもの)を選ぶ)を分からないと、永遠にロボットにしか繋がらず、人は人で、質問に答えず間違ったことを答えた。しかも遅い。

ツイッターは(選ばれた人がやっているせいか、)ちゃんとしているようだが、それでチャットのオペレータの回答は更に間違っていたことが分かった。これでいいの???

(11/26 16:44) ツイートで聞かれたことに返事したが、数時間経っても返事がなく※、IIJのサポートはOCNと似たようなものだってことを実感した。実際、会社の体質は似たようなものだろう。すると、エキサイト光+HISモバイルが残るのだが、エキサイトは遅いという悪評が多くて期待できない。実際、安くしつつ速くする(→ 設備を増強する)のは無理だ。

※これを書いている頃に返事があったからツイッターの人はまだマトモだろうが、サポート一般についてはOCNと五十歩百歩という印象だ。

結局、以下のようにクソな選択肢だけになってしまった。

  • 現状維持(DTI光+イオンモバイル): DTI光の品質はまあまあ(良くはない)だが、安くないうえにムカついた。
  • IIJmio(光+モバイル): 安目で品質に期待できそうだけど、サポートがクソ。
  • エキサイト光+HISモバイル: 少し安いけど光が駄目かも。

はて。また保留か。せいぜい、(今回の一件には全く関係ないけど、腹いせに)モバイルをHISにする程度?

モバイルについては、再度povo 2.0も考えたが、やっぱり、低速モードではGoogleの地図がまともに使えないという情報があったので、やっぱり無理だ。トッピングの1GBが1か月持てば随分いいのだが・・・ そして、楽天モバイルはサービスエリアが広ければいいものの、そうでなくて実用にならないから、もちろん駄目だ。

DTIには、朝「事業者変更」(フレッツでのモバイルのMNPに相当)の申し込みをしたが、やっぱり番号は届かず、週明けになりそうだ。まあ、届くまでに どうするか考えるだ。

夕方に催促したのが良かったか、ようやくDTIから事業者変更番号が届き、即座にIIJの光に申し込んだ。とにかく、クソには後ろ足で砂を掛けるほかない。IIJとは相性が悪いのは分かっているが、ひとまず安いし、エキサイトは遅い可能性大で元も子もないないから仕方ない。まあ、「(トラブルに)当たらなければ どうということはない」だ。それに、嫌になったら また移れば良しだwww (11/29 18:50)

その後イオンモバイルにMNP予約をし(、暗号でも解読するのかというほど長い時間を待つことにし)たw イオンには特に怒りはなかったが、まあ、料金戦略が甘い・(老人向けに?)のんびりし過ぎているのが敗因だと言えよう。

MNP番号は明日23時に発行される予定だ。無理してIIJmioの月末までのキャンペーンに間に合わせなくてもいいのだが、まあ、わざわざスターターパック(1円)なるものを買わなくても済むので、それまで起きて居られたら申し込もうかと、物好きにも思っている。まあ、寒い中 年越しの花火を待つくらいには無意味なことだwww (11/29 19:35)

 

PS. タイトなキャンペーンのスケジュールに合わせようとして調べていて驚いたのだが、MNPの番号は、朝8時までに申し込んだものがその日の夜の23時に発行されるそうだ。それじゃ不便そのものではないか。普通の感覚だと、どんなに掛かっても10分くらいだと思うが、一体どんな複雑な処理をしているのだろうか? あるいは、MNPを減らすための意地悪? さすがデジタル後進国日本だと、負の感心をした。

そして、今待っているフレッツの番号も似たようなものなのだろう。まったくすごいITだ。 (17:02)

PS2. IIJmioの今月末までのキャンペーンの初期費用1円てのに間に合わそうとしたが無理そうだけど、調べてみたら「エントリーパッケージ」なるものが1円(DL版)で売られていて、もろキャンペーンと同じことに気付いた。だから、モバイルのキャンペーンに間に合わなくてもOKだ。

が、では、通常の契約費用3300円てのは いったい何なのか? もちろん、キャンペーンもエントリーパッケージも通常もSIM代は別だし、エントリーパッケージ(単なる数字)があってもなくても回線を作る際の「事務」や「作業」はあるはずなのに それがほとんど無料になるということは、それらは何もなくて単なるボッタクリなのか? 謎や闇は深い。

こういう無意味なクソ暇なことをやってるから、日本は効率の低い後進国になってしまうのではなかろうか? そして、僕とIIJは大変相性が悪そうだ・・・ (11/26 18:47, 11/27 6:14)

  •  0
  •  0

最初、「首までどっぷり」ってのは"Knee deep in the hoopla."みたいな感じかと思って居たのだが、調べたら ちょっとニュアンスが違うようだ。そのくらい、(全然やりたくなかったのに)Zimに はまってしまっている。

 

(他のノートアプリ同様)Zimも駄目なところが多く、ガッと捨てようと思ったのだが、探しても他にいいものは全くなかった。それで考えて、細かい問題は いろいろあるものの致命的なもの(例: 遅い、メモリの浪費)は ないので、慣れたり発見したり手を加えたりして使っている。前回も少し書いているが、今までに以下のようなことをした(詳細は追って追加したい ← と書いた割には ほとんど書いた気がする)。

  • JoplinからZimへのインポート関連
    • ノート・ノートブック名の変換、正式な(または本来の)ノート・ノートブック名の保存。
      • Zimはノート・ノートブック名に使えない文字が多いので、それらを削除したり別の文字に置換するようにした。
      • 正式なノート・ノートブック名を保存するため、追加ノート情報ファイルに記録するようにした。今のところ、以下を格納している。
        • 正式なノート名
        • 正式なノートブック名
        • JoplinのノートID: Zimで更新したノートをJoplinに戻す(反映させる)時に使う。
    • 書式の修正
      • pandocでZimの形式に変換する時に仕様の差があるので、その対処をした。
        • 具体的には、水平線("-"3個以上)をZim("-"20個)に合わせている。
      • また、ノートにZim用のヘッダ(pandocは付けない)を追加している。
        • そこにノートの作成日時を入れるため、Joplinから取っている。
    • Zimのノートブックの作成
      • Joplinのノートブック名と同じディレクトリを作るようにした。
      • その時、Zimのノートブックファイル(notebook.zim)も作るようにした。
    • インポートを手軽に。
      • Joplinのノートを外部編集を開始する操作で、ノートをZimにインポートできるようにした。
      • インポートが終わったら通知が表示されるので、外部編集を終了する。
  • ZimからJoplinへのエクスポート関連
    • ノート・ノートブック名を戻す。
      • インポート時に保存しておいた正式なノート・ノートブック名に戻す。
    • 書式の修正
      • ZimからMDに変換する時に誤変換のようなものがあるので、その対処をした。
        • Zimから出す時に書式が欠けるため、出す前後に処理を入れないと うまく行かない。
      • 例えば以下である。
        • "// 文字 //": "//"が"*"になってしまうので、"/"をエスケープする。
        • (行頭)"--- 文字 ---" : 水平線ではないので"*** 文字 ***"に変換する。
          • 手でJoplinに入れても問題ないので、Zimが"---"を誤変換してしまうようだ。
        • 行頭のn個のTAB + 文字 (インデント): MDに同様な書式はないので、引用にする。 → n個の">" + 空白 + 文字
          • ただし、TABで始まるものにはインデントされたコードブロックや箇条書き、チェックボックスもあるが、それらは変換しない。
        • 行頭の空白 (+ 文字):  上と同様に引用にする。 → ">" + 空白 (+ 文字)
          • 空白の数で">"の数を増やすと良さそうだが、どうやって数を決めるべきか分からない。
        • チェックボックス: ""と""になるので、MDの"[ ]"と"[X]"に戻す。
    • リソース(画像など)ディレクトリの変換
      • ZimとJoplinで同じファイルを指していても、ディレクトリの表現や階層が異なるので変換する。
    • Zimで作った新規ノートへの対応
      • 正式なノートブック名(あれば)でJoplinのノートブックを作る。
      • 正式なノート名(あれば)でJoplinのノートを作る。
      • Joplinにインポートして割り当てられたノートIDを、追加ノート情報ファイルに保存する。
      • TODO
        • 正式なノート・ノートブック名を手軽に(追加ノート情報ファイルに)設定する手段(例: 入力ダイアログを出す)が必要だが、まだない。
        • Zimで追加したリソース(画像など)をJoplinに取り込み、ノート中のディレクトリを変換する処理が必要。
          • 今は、Zimで普通に追加した画像はJoplinでは見えない。
    • エクスポート(更新・追加)を手軽に。
      • 自動または手動(ツールバーのボタン: 後述)でできるようにした。
      • 自動の場合、約30秒間隔で、ノート(のファイル)の更新時刻が前回のチェック開始時刻から現在時刻の約90秒前までの間のものを探し、それをJoplinにエクスポートするようにしている。
        • 約90秒というのは「ノートを書き終わったかも?」と判定する時間である。
        • ファイル検索が頻繁で効率が悪くて気に入らないが、とりあえずは使えている。
          • 効率を良くするにはinotifywaitなどを使えばいいのだが、変更後に一定時間(今回は90秒)経過するまで保留するのが難しいので、保留している。
      • 自動でエクスポートされるまで待てない場合は、手動でもできるようにした。
  • UIの改良
    • GTKのCSDのようなものを止める。
      • Zim(実際にはGTKの流儀のようで、他にもいろいろなアプリがそうしているが、なんでそんな勝手なことをするのかと思う)がタイトルバーを勝手なUIにしていて、通常あるメニューのボタン(▼)が出なくなるため、僕の場合は最小化(_)と×(ウインドウを閉じる)が隣になってしまって間違って押しやすいので、ソースを改造してウインドウマネージャが付ける普通のボタンに戻した
        • 今のところは、GTKやZimがタイトルバーを変更しないようにしているだけのため、Zimが追加しているボタン(前・後のノートへ移動, ホーム, 編集のon/off, 検索)は出ないが、最初から余計だと認識していて使わないので問題はない。
          • Chromeもこういう感じになったが、今のディスプレイは広いんだからタイトルバーの面積くらいケチらなくてもいいのに、どうしてこういう発想になるのか理解できない。
        • TODO
          • 前・後のノートのボタンは あれば便利な気がするので、あとで付けたい。
    • 正式なノート・ノートブック名の表示
      • ソースを改造して、Zimのファイル名ベースのノート名などの代わりに、上述の保存しておいた正式なノート・ノートブック名を表示するようにした。
        • ごく当たり前のことなので見ても何がいいか分からないとは思うが、例えば、Zimでは使えない"#"や"/"が(代用文字でなく)出ているし、"_"は空白に変換されずに出る。
        • なぜか、図では本来は"-)"の")"がなくなっているが、短縮処理のためだろう。
      • 処理概要: ノートを読み込む時に追加ノート情報ファイルがあればそれを読み、キーと値をノート(Zimでは「ページ」)のメタデータ(Page._parsetree.meta)に追加し、タイトルバーなどのUI部品でページ名などを表示する時に それらがあれば使う。
      • 今のところ、以下で出る。
        • タイトルバー: ノートとノートブック名
        • タブのようなボタン(パスバー(下図の中段), ブックマークバー(下図の下段)): ノート名
      • TODO
        • 左サイドバーのpage index(ファイルマネージャーのようなもの)は作りが違っていて変更すべき箇所が分からないので、まだである。
    • バージョン表示に追加
      • 改造版であることが分かるように、バージョン表示ダイアログに出るようにした。 (: 中央の".B-3"と最下行)
  • 簡単な機能追加とツールバーへの登録
    • 以下の処理をZimのCustom toolとして追加し、Zimのツールバーボタンに登録して手軽に実行できるようにした。
      • 現在のノートのJoplinへのエクスポート(更新・追加) (: 中段左寄りの青い"J"のボタン)
        • 処理内容は上述のとおり。
      • クリップボードをテキストとしてペースト(LibreOffice Calc対応) (: 中段左寄りのペーストのボタン)
        • 前回も書いたが、ZimかLibreOfficeのクリップボードの扱いが変なのか、LibreOffice Calcからテキストをペーストすると画像になってしまうので、xsel(その後、xclip -quietのほうがハングしにくいことが分かった: 11/22 5:26)コマンドでPRIMARYバッファのテキストを取得して、ノートに挿入できるようにした。
          • なぜかCLIPBOARDバッファを取ろうとするとハングするが、PRIMARYで問題はなさそうだ。
            • 調べると、CLIPBOARDはPRIMARYなどと処理が違うようなので、その関係だろうか。
        • これはボタン以外にショートカット: Ctrl+Shift+Vに割り当てている。
        • TODO
          • なぜか、Zimでコピーしたテキストはペーストできない。Zimとxselが競合しているのかと思うが、今のところは通常のペーストと使い分けが必要で、ちょっと気に入らない。
      • 選択範囲をインターネット(Google)で検索 (: 中段左寄りのGoogleのボタン)
        • 選択したテキストをGoogle検索のURLに追加して、デフォルトブラウザに渡して検索できるようにした。
        • これができるエディタは ほとんどない(知らないだけかも)が、是非欲しかった機能なので付けた。
        • TODO
          • セキュリティホールになりそうな気がするが、個人用なので注意すれば良さそうだ。

 

随分手間が掛かっている(これでも全然終わりでない・・・)が、ソースなどを見れば結構分かり、ツールバーのように簡単にできて効果が大きいものも多いので、ストレスは少ない。そして、今まで仕方なく使っていたMDと違って、Linuxのコマンドやプログラム(`とか~とか-とか*とか#など、MDで特別な意味を持つ記号がバンバン出て来る)を書くのに何も気を遣わなくていい、いや それ以上に、本来の記述とノート(ファイル)が全く同じに書けることが重要・必須だ。まさに、「まだMDで消耗してるの?」だ。

ただ、Joplinに送る時(見る時)にMDに変換されるので、あまりいろいろな記号や書式を入れると、うまく変換されるか心配には なる。そして、運が悪いとバグが見付かって、余計な作業が増えるw

なお、QOwnNotesかZettler(かZimにインポートする時)に書式がおかしくなったノートが結構あって、見付けた時に手で直している。まあ、そんなの可愛いもので、見れば分かるので問題ない。

 

PS. 自分の整理のため、本システムで今分かっている残件・TODO・直したい・やりたいことを以下に挙げる。 (19:54)

  • Zimの不具合・変な点など
    • 描画の更新がおかしいことがある問題への対処。
      • 大きいノートを変更すると、その行が上下に重複して表示されることがある。
      • これを一番先に直したいが、見当が付かない。
      • 直せないなら、デフォルトのフォント(問題が起こらないようだ)の行間や太さを変えて、すっきり見えるようにしたい。 ← デフォルトでも問題が起こったので、駄目。 (11/21 12:35)
    • 行の(ソフト)ラップがない(ように振る舞う場合がある)。
      • これも早く直したいが・・・
      • せめてHomeキーで行頭に戻れるようにしたい。
    • ノートの先頭の見出しがMDに出ない場合がある。
      • 先頭に空行以外があれば、その次が見出しになるようだ。
    • [済] 書式に余計なものがある。 → ソース(pageview/__init__.py)を変更しても反映されないので調べたら、Zimのスタイル設定ファイル(.config/Zim/style.conf)で変更できることが分かって、自分の好みにできた。 (11/22 18:01)
      • 見出しのH1に下線が付き、H3は斜体になる。: 文字サイズだけでいい。
      • 下線は色付きになってしまう。: 下線だけでいい。
  • 機能追加・修正
    • Zimの書式指定タグ関連 (11/24 16:10)
      • 書式指定のタグ(後述の"@"で始まるタグ(ページタグ)とは異なる)に、Linuxやプログラムに良く出て来るもの(例: "__XXX__"(下線), "// YYY //"(斜体)※)があり、インポートしたり貼り付けたりしたあとにコードブロックにし忘れると、次回開いた時に下線(例の場合、"XXX")や斜体(例の場合、" YYY ")になってしまって嫌なので、それらを滅多に出て来ない文字列(例の場合、"⟪_XXX_⟫", "⟪/ YYY /⟫")に変更した。
        • ※本文の「"// 文字 //": "//"が"*"になってしまう」はこれが原因だった。 WYSIWYGなので、中身までは気付かなかった。
        • 似たようなものは、他に"** ZZZ **"(太字)や"~~ WWW ~~"(取り消し線)もあるが、同様に変更可能である。
        • この関係で、インポート時に本来のタグを変更したものに変換するようにした。
      • ページタグも同様にしたかったが、書式が異なるうえに処理が分散していて完全に変更するのが難しいので、ひとまず無効にした。
    •  エクスポート関連
      •  Zimで追加した画像のJoplin向けの処理
        • 本文に書いたとおり。
      • コードブロックのインデントをMDに反映させる。
        • 今はコードブロックが引用になってしまう。
      • 未更新の全ノートを手動で更新(エクスポート)できるようにしたい。
      • Joplinの新規ノートブックを階層も含めてちゃんと作成する。
    • インポート関連
      • インポート時の誤変換などの修正・対処
        • [外部] 空行を挟まない改行が繋がることがある。: pandocの問題? → Zimで書いた場合は繋がらないので、以前のエディタ(Zettlr?)の仕業だろう。 (11/22 18:01)
        • [正常] "@"+文字がZimのタグ(ページタグ)になることがある。 ← Zimの仕様だった。ただ、こういうところがMDみたいになっているのが気に入らない。が、シンプルなテキストファイルなので こうするしかないのも分かる。 (11/22 18:01)
          • とはいえ、ノートにはヘッダ部があるので、そこにタグを書けばいいのにとも思う。そうすれば、タグに空白や記号も含められる。 (11/22 18:27)
          • 逆に、Zimのタグを付ける方法が不明。。。 ← "@"+文字で付ける。(11/22 18:01)
          • → 結局、これの良くない点は、良く使う@をタグのマークとして使っていることだった。上述のように他にもそういうことがあったのでマークを変更したが、このページタグの変更は難しいので、ひとまず無効にして、意図せぬタグができないようにた。僕はタグを使わないので、当面は問題ない。 (11/24 16:10)
        • [外部] IPv6アドレスの一部が記号になる。 ← 再現しないので、以前のエディタの仕業だろう。 (11/22 18:01)
          • 例: ":b:"が"🅱️"(色は黒)になる。
          • 以前のエディタがおかしくした?
      • Joplinでのノートの変更をZimに反映できるようにする。
        • スマフォで更新することもあるかも知れないので。
        • → ひとまず、エクスポート時にJoplinとZimの変更が競合したら、Joplinのノートのバックアップを作り、Zimのノートを上書きし、メッセージを出すようにした。 (11/22 18:01)
          • また、インポート時(Joplinから操作)も同様にした(Zimのバックアップを作る)。
      • ノート中のscheme(例: http://)に見える記述やリンク(パスがリンクになる)の無効化または正常化? → ノートを読んでからフォーマットするため、指定箇所の無効化は無理そう(もちろん、その部分の書式をコードにすれば可能だし、全部を無効にすることはできそうだ)。 (11/22 18:01)
        • Joplinからインポートした時に変なノートができるのを防ぎたい。
        • また、変なリンクがあると、Zim自身でノートをペーストできない場合がある。
        • これに関連して、不正な"file:"のURLがあるとfs.pyがAssertionErrorになってエクスポートできない問題があったので、assertしないように修正した。 (11/22 18:01)
    • UI
      • 正式なノート名などの表示の追加(例: page index)
      • 正式なノート名などの入力UIの追加
      • ツールバーの箇条書き, 番号付きリスト, リンクなどの書式設定ボタン(: "x2"の右の箇条書きとその右の"H"の右のボタン)で出るメニューの要素を独立させて横に並べる。
        • プルダウンメニューは面倒なので。
        • ただ、多過ぎると邪魔になる。
      • カーソルの点滅を止める。
      • CSDを止めてなくなった前・後ページボタンを付ける。
    • その他
      • Zimでコピーしたテキストも、追加したテキストのペースト機能(本文に記述)でできるようにしたい。
      • 起動するたびに/tmpにログディレクトリ(zim-xxxxx)を作らないようにする。
      • アイコンが超ダサい。これだけで随分損しているのでは?
        • でも、そんなことは僕にはどうでもいいので放置w
  •  1
  •  0

Zim+Joplinで自分用ノート管理システムを作ろうとしたが、挫折しそうだ。Zimの完成度が低くて、先行きに十抹くらいの不安を感じた。いろいろ苦労して、Zimで変更・作成したノートを自動でJoplinに更新・取り込みできるようにしたのだが、Zimの不可解な動作や問題が次々と現れて これ以上対処するのが嫌になり、ガッとひっくり返したくなった。

単体でちょっと使うのには良かったが、Joplinと連携させて使い込むと、機能不足、不具合、変な仕様がバラバラ出て来て、そのカバー("workaround")が大変だ。ただ、それなりに まともな考えで ちゃんと作ろうとしているのは感じられるし、「普段」の使用では概ね快適に使えているので、今までの他のソフト(例: Evernote, Joplin, QOwnNotes, Zittlr)と違って腹は立たず、「クソだ」とは言わない。単に未完成なだけ(まあ、「ちょっと実力が足りないね」みたいな)だ。ただ、これが完成するとは到底思えないのが痛い。。。

参考までに、僕にはキツい問題を挙げる。

  • ノート名に使えない文字が多い。
    • 仕様の問題: ファイル名をノート名にしているため。
      • そうは言っても、Linuxで普通に使える文字でも駄目なものが多い。
    • 多くの記号(例: ()[] #)と空白が使えない。
    • ノート名先頭の文字は更に制限が厳しく、 おそらくすべての記号が使えない。
      • 仮に全角文字や非英語の文字にしても、記号のカテゴリは駄目。
    • 文字のカテゴリで余計なチェックをしているのか。
      • → 確かにチェック・制限していた。: zim/notebook/page.py の _pagename_invalid_char_re で行っている。 (11/16 10:21)
        • なぜ、(ASCIIのでない)Unicodeの記号も駄目にするのだろう???
    • → 仕方ないので、記号に見える普通の文字で代用してみたが(例: 下図)、本質的でない無駄な努力(例: ガラケー的なw)に思える・・・
      • Zimでノート名に使えない文字(() 𛰙𛰚, 空白 )を代替してみたが・・・

  • 表示の更新がおかしいことがある。
    • テキストの入力後に行が重複して表示されることが多く、迷子になってしまう。
      • ページを上下させると直る。
    • → その後、フォントが関係していることが分かった。デフォルトのフォントだと問題は起こらず、僕の愛用している源真ゴシックPだと起こることが分かった。 (11/16 10:02)
      • 源真は行間が広目なので、それが関係しているのか。
      • ただ、デフォルト(なぜかTakao Pゴシックのようだ)は行間以外に色が濃くて(線が太い?)すっきりしない・読みにくいのが嫌なので、問題が起こっても源真で頑張りたい。
      • また、Noto Sans CJK JPは漢字が等幅なので嫌だ。
  • 謎の動作・仕様がある。
    • ノートの先頭に書いたタイトル(見出し)がエクスポートされないことがある。
      • → とりあえず、そうなった時は先頭に何か(例: "."だけの行)を書くことで、しのぐことにした。 (11/16 12:15)
    • ノートを取り込むと、実在しない変な名前のノートができてしまうことがある。
      • ノート中に"file:"があると、そうなるようだ。 → URLに見えるもの、Joplinのノート間リンクが駄目な感じ。
        • 名前はそのURLになっている。
        • そんなことされたら邪魔臭い。
      • その場合、エクスポート(インポートも?)がエラーになることがある。
      • → 目障りなので、Joplinから取り込む時に削除するようにした。それが分かるように、その前の行にその旨を入れるようにした。と書いたが、本当に動いているか あやふやだw そうしようと思っただけだったかも知れない。まあ、やればできる。 (11/16 18:45)
    • エクスポートがすごく遅いことがある。
      • エクスポート時にもトップ以下のファイルをスキャンしているため?
  • 結構落ちる。
  • ノートの保存ができないことがある。
    • ノートを外部で変更すると弱い?
    • → どうやら、同じノートをZimと外部で同時に変更すると「負ける」ようだ。これは仕方ない。 (11/16 10:15)
      • Zimから自動でJoplinに追加する時、Joplinで新規だった場合には あとで更新する時のためにJoplinのIDを入れるのだが、それが良くないようだ。難しい。
        • → 今後は、JoplinのIDは別ファイルに入れることにした。そうすれば、あとで追加ノート情報も入れられる(今は未定だが、例えば「本当のノート名」が入れられる)。 (11/16 12:18)
  • 行の(ソフト)ラップがないように振る舞う場合がある。
    • 長い行でカーソルが編集ペーンの右端近くに行ってしまい、Homeキーで行頭に戻れない。マウスでスクロールバーを動かすしかない。
      • スクロールバーは出さなくていいんだが・・・
  • LibreOffice Calcからの文字のペーストが画像になってしまう。
    • 「テキストとしてペースト」(例: Ctrl+Shift+V)の機能がない。。。
    • → 調べたら、(Linuxで)他にも起こっている人が居た(ペースト先のアプリはZimとは限らない)。ただ、例によって「LibreOfficeの問題じゃない。あっち(例: アプリ側)で聞け」や「クリップボードマネージャを止めろ」などで終わって原因が分からないので、本質的・一般的な解決策はない。 (11/16 12:05)
      • そりゃあ、受け側アプリのクリップボードの中の値の選び方が悪いのは確かだが、そもそもスプレッドシートの「値」をコピーした時に、画像を(も)クリップボードに入れるってのは あきらかに非常識だと思うのだが・・・ いったい どういうメリットがあると考えたのだろう? せめて設定にすればいいのに。
    • → コマンド: xclip -selection clipboard -o でクリップボードのテキストが取れるので、それをZimのカスタムツールに入れた。また、ショートカットが割り当てられるので、Ctrl+Shift+Vにして一般的な操作でテキストがペーストできるようになった。 (11/17 9:38)
      • -selectionはprimaryでテキストが取れこともあるが、secondaryは駄目。 → Zimはsecondaryを取っている?
      • また、なぜかZimでコピーしたテキストは取れず、ハングすることもある。 → タイムアウトを付け、clipboard, primary, secondaryの順に試すようにした。: Zimの謎は多い。
        • ハングするのはxclipを普通に動かしていたためだった。オプション-quietを指定すれば良い。
        • が、それでもclipboardではハングし、どうしても解決できない。Zim自身と競合しているのだろうか。
        • → 結局、 xsel -n -o -p (primaryを取得, フォアグラウンドで動かす)だけにした。 (11/17 11:07)
  • UIが整理されていない。
    • メニューは どこに何があるか迷う。
    • ブックマークが多くなると全部が見えなくなる。
    • CSDらしいのが嫌(例: ウインドウのタイトルバーにアプリのボタンがある)。
  • 起動するたびに/tmpにログディレクトリ(zim-xxxxx)を作る。
    • これは ちょっと違うだろ・・・

 

他に、僕のシステム構成の問題として、画像(リソース・添付ファイル)の処理の難しさがある。Zimで追加した画像をJoplinに入れるのが面倒だ。ディレクトリが異なるので、コピーだけでなく、ノート中のディレクトリ名も変える必要がある。

→ とりあえずは、Zettlrの時と同様に、まず画像をJoplinの作業用のノートに貼り付けてJoplinに取り込み、そのノートをZimに戻し、その画像(のタグ)を本来のノートに貼ることでしのいでいる。面倒だが、頻繁でないので それほど苦ではない(プログラムを作るよりは楽だw)。 (11/16 12:27)

 

そして再び振り出しに戻って、次の候補探しを始めた。今度は、やっぱり、前回諦めたWPみたいなwebでできるものがいい気がしている。それなら、最後に書いた画像の問題は起こらないはずだ。が、セキュリティの問題はある。

その後、他のエディタやWPに近そうなWikiのソフトを検討・試してみたが、僕に丁度いいものが全くなく、なかなか意外な結果となった。以下を検討・試した。

  • 検討で却下したもの。
    • OpenNote(Wikiではない), MyTetra(同), TiddlyWiki, TagSpaces, BookStack(前回も却下 → その後試したが・・・), Wiki.js, PmWiki
  • 試したもの。
    • RedNotebook(Wikiではない)
      • MDみたいな入力でプレビュー型
      • 機能が貧弱で話にならない。
      • Zimのほうがずっといい。
    • MediaWiki
      • デモを使った感じでは一番良かったが、WikiPediaのような公開Wikiがターゲットのため、個人のノート用には いろいろ使いにくい。
        • 例: 画像を入れると、「それはあなたの?」などと聞かれる。
        • カスタマイズすればいいのかも知れないが。
      • デザインがイマイチ。
      • 引用がない。: WikiPediaの特徴?
      • 例によって日本語がひどい。
        • 英語にしたつもりが日本語になっていた・・・
    • MoinMoin
      • 著名なオープンソースプロジェクトに採用されているらしいが、良く使ってると思う。10年以上前の感覚。
      • 設定が分かりにくく、不親切。
        • ファイルがいくつもあるが、検索しないと説明がない。
        • サイトも不親切。
        • 簡単にWYSIWYGエディタにできない。 → ガイドを参考にして ようやくできた。
      • エディタがすごく使いにくい。
        • ショートカットがない。
          • → ブラウザなので、太字にするつもりでCtrl+Bを押すとブックマークになってしまう・・・ 「うむ。」
        • タブでインデントしない。(上と同じ)
        • ボタンのアイコンがボケている。
    • XWiki
      • JAVAでメモリを食うので不可。
      • エディタは まともだが、書式の指定が ちょっと使いにくい。
    • Foswiki
      • エディタがすごく使いにくい(MoinMoinと同じ)。
      • 登録時のキャプチャが全然読めなかった。5回くらい繰り返した。
    • WackoWiki
      • WebサーバがApacheでないせいか、うまく動かなかった。
    • DokuWiki
      • 試したうちでは一番好印象(使い勝手がWPに近い)だったが、エディタに問題があって却下した。
      • デフォルトのエディタは使いにくいが、プラグインのCKGEditorを入れれば使いやすくなるものの、うまく合っていない。
        • 画像(説明では直ったと書いてあるようだが・・・)や引用ブロックが ちゃんと表示できない。
          • 画像はデータが表示され、引用は前後にタグが出てしまう。
      • プラグインがwebで入れられて楽。
      • インストールなどの説明も分かりやすかった。
      • Webサーバはlighttpdやnginxが使える。
      • ただ、新しいページの作り方が不明。Wikiのせいか?

 

我ながら要求が厳しすぎるようだ。まあ、ノートを書くソフト(特にエディタ)は いつも使うので、仕方ない面はあるが・・・

結局、今のところは、Zimで まさに「頑張る」※かWPを使うかの二択となった。

※骨を埋める覚悟ならソースに手を入れるが、ちょっとまだその気になれない。

(17:45)

本文を読み返して、Zimで頑張ることは あり得ないと確信した。「だめだこりゃ。次行ってみようだ。」 (19:22)

更に少し考えたら、WPはそもそもブログ用なので、使い方がノートとは合わないことに気付いた(以前検討した時にも気付いた気がする)。例えば、「更新」ボタンを押さない限り、編集内容は反映されない。しかし、ノート用エディタは書いて放置すれば反映される(アプリによっては、履歴が保存されるから、それで全然問題ない)。その気軽さが重要で、ノートにはワープロが使えないと感じるのも、そういうことである。

てな訳で何も残らん・・・

せいぜい、DokuWikiやMediaWikiを頑張って改造する? いや、それらにしたって「保存」ボタンはある。 (21:06)

その後、再度Wikiなどを試したが、まあ全滅だった。

  • BookStack: 綺麗ではあるが、実用性がない。サポートする気が感じられない(「こっちでは再現しない」的な回答ばかり)。
    • 大きなノート(約4000行)の保存に失敗する(既知の未解決の問題)。
      • いろいろなタイムアウトを伸ばしたが、駄目だった。
      • HTML関係の処理が悪いのではないかと思う。
    • 大きなノート(約3000行)の変更(編集)が遅い(Zittlrと同様)。: 「ブラウザ(≒ JS)もElectronも似たようなもの」ってこと。
  • MediaWiki: 詰めが甘い。セキュリティがいい加減。サポートも いい加減(問題を放置)。やっぱり、Wikiはノートには使いにくい。
    • Visualエディタでノートを読み込む動作がおかしい(既知の未解決の問題)。エラーが出たり出なかったり・・・
      • WikiとHTMLの変換処理("Parsoid"とかいうモジュールらしい)の出来が悪いのではないかと思う。
    • 設定ファイル(DBのパスワードなどが平文で書いてある)がwebサーバのドキュメントルートにあるって、とんでもない落とし穴だよ。。。
      • 「Webサーバを適切に設定しろ」と書いてあるだろうし、それを忘れて流出して実害がないとしても、作った人の意識の低さが知れる。
  • DokuWiki: 出来が悪く、使い物にならない。終わったソフト?
    • Visualエディタにノートをペーストして保存して開くと、フォーマットが崩れる。
      • HTMLやMDをインポートしても同様。
      • 大きめのノートで起こりやすいが、小さくても起こると思う。
    • 入れると何もかも動かなくなる(表示が真っ白になる)プラグインがある。
      • そういう情報は何も書いてないのに。
    • プラグインを入れても、どこにもその操作(ボタン)が出て来ないものが多い・・・

あと、BookStackで実感したが、WPもブラウザ(JS)なので、やっぱり大きなノートの変更(編集)は遅くなるだろうから、いくら使い勝手が良くてもノート用には使えない。

そうすると、結局Zim(+Joplin)しか残らないが、「何とかすべきこと」が多過ぎる! でも、さし当たっては(曲がりなりにもw、そして、僕には一番ストレスなく)Zimは使えるので、様子を見ながら考えたい。 (11/15 19:00)

  •  1
  •  0

乗り換えたばかりの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

先日から使っているZettlrは安心・安定感はあるものの、それほど機能が多い訳でも、細かくカスタマイズできる訳でもない。それでも、テーマはCSSでいろいろ変えられる。Electronなので、ブラウザと同じ「開発ツール」が使えて、CSSの変更べき箇所が分かり、その場で設定を変えて試せるのが便利だ。Electronは嫌いだけど、この点は良い。

昨日は、色とフォントの組み合わせに好みのものがなかったので調整した。Frankfurtというテーマは、色はいいのだが、フォントがセリフ(日本語の「明朝」に相当)で気に入らなかったので、サンセリフ(日本語の「ゴシック」に相当)に変えた。それに気を良くして、色をデスクトップに合わせてベージュ系にし、いくつかのフォーマットのスタイルも調整した

あと、タブバーが上だとタブ数が多くなった時に見えなくなるので、縦にできないか試してみたら、難しそうではあるけど、やればできそうな感じだった(先は長そうなので、その時はそこまでで止めた)。が、もしかしたら そのうちオリジナルでできるようになるかも知れないから、余り急いで作ることもない。

あと、テーマではないが、Zettlrでノートに画像を貼り付けてもJoplinにインポートされない件は、Joplinで画像を「画像貼り付け用ノート」に貼り付けてインポートし、そこに出たタグをZettlrに貼り付けることで仮対応している。

 

同じくテーマではないけど、ZettlrはZettelkastenというノートの仕方をサポートしていて、気になっている。(→ 参照) 一言で書くと、情報を(小さくまとめて)「カード」に書いて、リンクで繋げて行くようだ。僕のやり方とは違うが、それよりは効率が良さそうな気がした。というのは、今の、カテゴリごとのノートに続けて書いて行くやり方だと、どこに何があるか分からなくなってしまうし、情報を時系列に追加していくうちに、ノート内での小さ目のまとまりの情報の位置が飛び飛びになったりして不便だからだ。

Zettelkastenは、ツールによるのだろうが、手軽に情報(カード)を繋げられて、効率的にカードが探せれば良さそうだと思った。あと、多くのカードを うまく管理できるかも気になる。そして、こういう方法ではGoogle Keepのようなポストイット型の見せ方のほうが良さそうだけど、カードが多くなったら破綻しそうだから そうでもないのかも知れない。

 

PS. 気分良くZettlrを使っていたら、思わぬ欠点が見付かった。上/下付き文字すら表示できないのだ。フォーラムでは作者らしき人が、「Zettlrが使っているエディタCodeMirrorがサポートしない限り対応しない。対応して欲しければ、自分で作ってCodeMirrorに提案しろ。」とのこと。なんか、随分石頭かつ上から目線で嫌な感じだ。いくら面倒でも その言い草はないだろう。一気に冷めた感じ。

僕は上/下付き文字は余り使わないからいいけど、これの主たるユーザーは研究者らしいのに、良く問題ないな。実は使っている人が少ない??

その後、実は、ZettlrのLaTeX拡張($で挟む。例: $m^2$ → m2, $CO_2$ → CO2)を使えば、上付き/下付き文字が使えることが分かった。それで研究者には問題ないだろうが、一般的な問題(例: LaTeXにないMDの機能?, 互換性※)はないのか? そして、作者は なぜ、上記フォーラムでの質問に この機能を紹介しなかったのか? (11/7 7:27)

※JoplinはGFMとLaTeX拡張をサポートしているので、案外、互換性には問題ないのかも知れない。

また放浪しそうな気がして来た・・・

前にも書いたが、このブログのエディタ(もちろん、上付き、下付き文字ができる)でMD(でなくてもいいが)を編集できればいいのだが、できないものか。編集以外が低機能とか煩雑になるのか。ちょっと考えたい。 (11時)

PS2. PSのあとで調べたら、このブログのエディタはTinyMCEのようで有料のようだが、そのお金はWordPressが払っているのだろうか? (それで新しいエディタを押し付けている??)

それはまあいいとして、似たようなエディタにはCKEditorやTrixQuill(あとの2者はフリー)などがあることが分かった。ブラウザで動く、ちょっとした編集領域(ブログにあるようなもの)を作るのは簡単だが(→ Trix, Quill。Trixは画像に横線が入ってしまう。Quillは高機能な感じ)、それでファイルの読み込みや保存(、その他もろもろのこと)をするなど、「本物のエディタ」にするのは面倒そうだ。

そういうののスタンドアロン版があるといいのだが、なかなか手軽なものがなかった。普通のリッチテキスト(あるいはWYSIWYG)エディタはWordみたいで重いし機能があり過ぎて、「ちょっと書く感じ」でないのだ。 上に挙げたような「こういうのでいいんだよ」的なものが欲しい・・・

今は そういうのはMDエディタになるのだろうが、いくら探しても僕の気に入るものがなくて困る。 (21:02)

PS3. PS2の前に、もう少しMDまたはリッチテキストエディタ、他の方法を検討したのだが、ZettlrやJoplinよりいいものはなかった。※ 今までに試した・検討したうち(論外のQOwnNotesは含まないが、純粋に主要な機能がまともに動いたとして比べればZettlrの上になる)では、以下の順位・印象となった。

※その後、pandocでMDをZimのフォーマットに変換すれば取り込めることが分かったので、Zimの順位を上げた。将来性を除けばZittlrやJoplinより良いかも知れない。 (11/7 13:54)

  1. WordPress (ローカルサイト → 外部アクセス用サーバに送信 → スマフォから閲覧)
    • 問題: セキュリティ
    • 手間: HTMLへの変換(移行時のみ)
    • 外部での編集はしない。
    • Joplinは不要。
  2. WordPressのエディタ
    • 手間: HTMLへの変換・逆変換(毎回)
    • Joplinが要る。
  3. Zettlr
    • 問題: 機能が今ひとつ。大きいノートは遅い。
    • フォーマットも今ひとつ。
    • 作者が石頭。
  4. Joplin
    • 問題: 遅い、メモリを食う。
    • 作者が いい加減。
  5. Zim
    • 問題: 何もインポートできない。独自のファイル形式。 → その後、pandocでMD(おそらく その他も可能)を変換すれば取り込めることが分かった。 (11/7 13:54)
    • 作者はMD嫌いか無関心? 「多忙」。
    • 将来性に不安。
  6. Cherrytree
    • 問題: かなりメモリを食う。
    • センスが悪い。
    • 将来性に不安。
  7. VNote
    • 問題: かなりメモリを食う。
    • まだ不完全。
    • 信頼性に不安あり。

そして、実は1番はWordPressでなくても良く、手軽なリッチテキストエディタとファイル送信の仕組みがあればいいことに気付いたが、エディタについてはPS2に書いたように「手頃なものは なし」となった。 (20:44, 11/7 8:17 加筆・修正)

その後、BookStackという、セルフホスティングでTinyMCEでノートを編集できる情報管理システムが見付かった。まさに探していたものだと思い掛けたのだが、良く調べたら、これもZim同様に何もインポートできず、独自のファイル形式(実際にはDBに格納される)である。

フォーラムを見ると、作者は全然乗り気でない(他に重要なことがあると思っている)ようだ。まあ、思想の違いなのだろうけど、全く賛成も理解もできない。僕だったら、これは最も重要で一番最初に考えることだ。

既存システムから移行する手段がなかったら、本気で使おうと思う人はかなり限られてしまう。引越しに例えれば、新しい部屋は今までの家具が全く入らず、全部買い直すか、分解して部品で搬入して組み立て・調整し直す必要があるようなものだ。あるいは、PCだったら、新しいPCは既存のメディアが読めず、USBもNWも繋がらないので、何もコピーして入れられず、情報を1文字ずつ手で打つしかないようなものだ。馬鹿過ぎる。

魅力はあるものの、これだったらZim(ノートはテキストファイルに記述)のほうが まだマシな気がした。ただ、BookStackのサーバはセキュリティに考慮しているようなので、外からのアクセスが可能になるメリットはある。 (11/7 10:03)

  •  0
  •  0

先日からJoplinのエディタの代わりに使い始めたMDエディタ、QOwnNotesは なかなか良い。が、前回も書いたけど、完璧ではないので使っていると問題は出て来るので、気になるものからフォーラム(正確には「問題報告ページ」だろうが、ここでは簡単に「フォーラム」と書く)に投稿して対応してもらっている。

その対応がなかなか良くて感心している。言葉はぶっきらぼう簡潔だけど、ちゃんと対応する気が感じられるのがいい。しかも速い。そこら辺は昔やっていたMusicBeeに似た雰囲気で、懐かしい。

(11/4 17:02) が、(忙しいせいか)結構いい加減かつクソ野郎癖の強い人で、なかなかイライラすることがあった。が、他にいいエディタがないので今は使うしかないと、諦めている。その代わり、寄付はしない。

(11/4 18:53) いつもの「坊主憎けりゃ」で、使うどころか画面を見るだけでもイライラするので、QOwnNotesは止めた! 少々物足りないけど、安心感のあるZettlerに戻る(とりあえず今はねw)。

 

そういう問題の中で一番最初に何とかしたかったのは、日本語(Fcitx+Mozc)の未確定入力(pre-edit text)に下線が出ないことだ。落ちるとかでなく表示だけの問題なので、致命的ではないのだが、エディタで文章を書いている時には、どこからが変換対象なのか分からない(候補を良く見ればいいかも知れないが、書くのを邪魔される)のは結構なストレスだ。ただ、普通のアプリは出るのが謎だった。

検索してみると、いくつか情報が出て来た。いいヒントになったのは、LibreOffice(実際にはKDE?)のフォーラムへの報告だった。更に、fcitx-qt5のフォーラムに まさにこの問題が報告されていたのだが、作者の環境では「起こっていない」で未解決(と思われる)のまま閉じられて仕舞っている。

どうやらQt5アプリとFcitxの組み合わせで起こるようだ。実際、いくつかのQt5アプリで試したら ほぼ全滅だった。以下に結果を示す。

  • 下線が出ない。
    • digiKam7, QuiteRSS, QtQR, SMPlayer, VLC, FeatherPad, Calibre, Nextcloud, KeePassXC
  • 下線が不完全に出る。
    • LibreOffice Writer
  • 下線が出る。
    • LibreOffice Calc

確かにdigiKam(7からだったと思う)では下線が出なくて使いにくかったが、この問題のせいだったことが分かった。

それで、これはQOwnNotesの問題ではないのだが、fcitx-qt5の作者は問題が起こって居ないスタンスで解決の見込みがないので、QOwnNotesもLibreOfficeと同様な対応をしてもらえないか聞いてみたが、さすがに無理だった。(出て来ないが、「無理強い」の今の言葉だw ← 「無茶振り」だw)

その時はQt5の問題と思ったが、実際には、Fcitx(fcitx-qt5)の問題のようだ。ただ、Qt5がfcitx-qt5に下線を描くように指定していないせいだとしたら、Qt5の問題だ。この辺りは分からない。

そこで、「ちょっと何とか」できないかと思ってQOwnNotesのソースを見たが、上のLibreOfficeのパッチを適用するところに相当する部分はなく、未確定入力に関しては何も処理していない(確定した文字列を受け取って処理しているだけ?)と想像した。そこでfcitx-qt5のソースを見たら、(無理やり)下線を出す方法が分かった気がしたので やってみたら、たった1行の修正(削除)だけで見事に出た!

この変更は、本来 文字列に指定された(そういうことがあるのか?)スタイルに関係なく、無理やり下線を出しているので どこかで問題が起きそうだが、2時間くらい使った範囲では大丈夫だ。

ただ、他のQt5でないアプリでは下線は破線でなく実線なのが気になった。少しソースを検討したら、本来はデフォルトで実線の下線を描くつもりのようで、指定されたら破線にしているようだ。それがなぜか、実線の下線すら描いていない。Fcitxの設定があるのか調べたが、なかった。

そこで、とりあえず、破線の下線(DashUnderline)の指定がない場合(デフォルト)は実線の下線(SingleUnderline)を描くように修正した。参考までに、以下に修正したソースの関連部分を載せる。変更箇所は"Default to draw underline."辺りである(行頭の":"は省略した部分)。

platforminputcontext/qfcitxplatforminputcontext.cpp:

void QFcitxPlatformInputContext::updateFormattedPreedit(
 const FcitxFormattedPreeditList &preeditList, int cursorPos) {
:
    if (preedit.format() & TextFormatFlag_Underline) {
        format.setUnderlineStyle(QTextCharFormat::DashUnderline);
    } else { // Default to draw underline.: Butty: 2021/11/3
        format.setUnderlineStyle(QTextCharFormat::SingleUnderline);
    }
:
    update(Qt::ImCursorRectangle);
}

※上のソースコードのオリジナル部の著作権は、オリジナルファイルの先頭に記載のとおり。

 

妙なのは、これが全然問題になっていないことで、ひょっとすると僕とか特定の環境だけで起こり、世の中の多く(実は少ないのか?)の方は普通に使えているのかも知れない。であるので、本来は こういう修正は作者に連絡してオリジナルに入れてもらうべきだが、上記のように作者が「起こってない」スタンスということもあって保留した。

(11/4 12:19) その後、別件で「まっさら」かつ僕のとは別な環境(KDE neon)で試したところ、やっぱり問題は起こったので、少なくとも僕だけの問題ではないようだ。ただ、Ubuntu系だけかも知れないし、そもそも作者が上記のとおりなので、報告は保留する。

 

もし、この投稿を読まれて「自分のところでも起こっている」という方が多いなら、オリジナルに入れてもらうようにします。そういう方は、コメントを書いて下さるか、「いいね!」か「そうね!」を押して下さい。

あと、「とりあえず、自分も直したい」という方がいらっしゃたら、もう少し詳しいやり方(と言っても、ビルドの方法、ビルド時にエラーが出た時の対処、インストール方法程度)を書きます。ただ、上の記述で分からない方ですと、理解して頂けるように書けるか不安です。

 

とりあえず、また一つ問題が解決して、(しかも、QOwnNotes以外もザクっと直って)気分がいい。そして、QOwnNotesは(気になることは他にも もう少しあるけど、)さらにサクサク書けるようになった^^

 

PS. 僕の「ちょっと何とか」は、大体ちょっとどころじゃ済まないが、今回は大丈夫だったwww でも、忘れた頃にトラブる可能性はある。

  • QOwnNotes

    QOwnNotes

    Open source markdown note-taking for Linux, macOS …

  •  0
  •  0

結構前に書こうと思ったけど、良く確認してから投稿しようと思い、その後全く問題が起こっていないので確かそうだ。

僕のPCとルータの相性なのかも知れないが、スリープからの復帰後にNWが使えなくなる問題があった。一番最初に使っていたバッファローのルータ(WHR-G301N)では起こらなかったが、次のバッファローの新しいもの(WSR-300HP)では起こったので、ルータの仕様が悪いのかと思って使うのを止めた。

その後、IPv6(IPoE)対応にするためにI/Oデータのルータ(WN-SX300GR)に換えたら また起こったので、これも駄目かと思った。

なので、バッファローには濡れ衣を着せてしまった。申し訳ない。

バッファローの旧と新(I/Oデータも)の違いはGigabit Ethernet対応かどうかなので、その辺りと僕のPCの相性なのかも知れない。

が、通信速度の低下を少しでも減らすためにIPv6は使いたいので、「何とか」した。想像だったのだが、PCのスリープからの復帰をルータが ちゃんと認識していないのが原因ではと思った。それで、ルータのポートからPCのケーブルを「抜き挿し」するのを擬似(電気)的に実現しようと、スリープからの復帰時にNW-IFを一旦落としてから上げるようにした。

少し詳しく書くと、nmcliというコマンドで、(connectionでなく)deviceレベルでNW-IFの機能を停めて(down)から起動(up)させた。

とりあえず問題は解決したので、少し前まで使っていた。ただ、ちゃんとした対処でないし、復帰時に一旦NWが切れるのでちょっと気分が悪かった。IPv6のネゴシエーションは遅いようで、少し(数十秒)時間が掛かるのが嫌だった。

それが、先日のQuad9のDNSサーバが遅い問題に対処した時にNWを いろいろいじっていたら、NW-IFを落とさなくても済む方法、つまり、「ちゃんとした」対処方法が分かった。

まず、スリープからの復帰後にNWが使えなくなる問題の直接の原因は、復帰後に(PC(Linux)の)DNSサーバの情報がなくなってしまう※ためだ。そのため、IPレベル(例: IPアドレス直打ち)ではちゃんと通信できるものの、ホスト名で外部にアクセスしようとしてもIPアドレスが分からないために通信できなくなっていた。

※その原因は分からない。いつもながら不勉強で、この辺りは分からないことが多い。

それで、スリープに入る前にDNSサーバの情報を保存しておき、復帰時に再設定するようにしたら、万事うまく行った。

めでたしめでたし。

この時に思い付いたもう一つの解決法は、NW-IFを一旦落とすのにnmcliのconnectionを操作するものだ。ただ、スリープからの復帰時にconnectionを有効にするのに時間が掛かるのと、DNSだけでなくルーティング情報も保存する必要があり、また、IPv6の一時アドレスがリセットされるので、今ひとつ好みでないので却下した。

 

でも、他の人は特に困っていないようなのが謎だ。やっぱり、相性みたいなものがあるのか?

  •  1
  •  1

(2021/11/5 4:10) その後いろいろあり、QOwnNotesは作者共々クソだという結論に達し※、使うどころか画面を見るだけでもイライラするのでアンインストールして、とりあえずZettlrに戻った。それで使いにくいことがあれば、何とかすることにした。

※実際に使ったりフォーラムをのぞいてみて、自分で確認されたい。

やっぱり、舌の根は永遠に乾かないようだ。(そもそも、舌の根が乾いた時は死んでいるのではないか?)

であるので、以下のほとんどは「古い情報」である。


先日は、MDの編集は(Joplinじゃなくて)Zettlrが一番いいと思ってそう書いたのだが、そのすぐあとに、「ちょっと待て」的な展開になった。

先日のリストで「最初に何か(MDは不可)開かないと起動しない。」と書いて却下したQOwnNotesは、本当にそんなにしょうもないものかと疑問に思ったのだ。それに、仮に何か開かないと起動しないとしたって、機能が良ければ使えるかも知れないとも思った。

再度試したら、以前(Evernoteを止める時だったか)試した時の設定の痕跡が残っていたために、何か開かないと起動しない状態になっていることが分かった。再設定したら普通に起動した。全く失礼だった。

しかも、再度試す きっかけとなった機能紹介ページにあるように、機能や操作性がちゃんとしていて意外にいい感じだった。それでも、「完璧」とは言えないが、他に全滅なので それだっていいと思って詳しく試した。

Evernoteを止める時に試した時は、MDを使う気がなかったのとスマフォ版がないので却下したように思うが、今は状況が違って充分候補になる。

結果は、結構な当たりだった。Zettlrに完勝している訳ではないが、良い点はZettlrより多く、悪い点はZettlrより少なかった。(→ 付録を参照)

一番いいのは、ごく当たり前の話ではあるが、sym-linkに対応していることだ。これで、前回苦労して作ったけど なんか煩雑で嫌いな、MDが変更されるたびにJoplinにコピーし続ける処理が不要になる(と思った)。

一方で、Zettlrにない欠点もある。QOwnNotesはリソース(画像)の格納先にはノートのトップディレクトリの"media"というディレクトリだけしか指定できないのだ。それ以外の指定では概ね画像は出ない(フルパスとかを書けば可能らしいが、僕の用途には向かない)。

かたや、Joplinはノートを外部編集に出す時には画像ファイルをノートのトップディレクトリの"resources"に入れるので、そのままではQOwnNotesで画像が出ない。ひどいことに どちらも強情で、設定でディレクトリを変えられるようにはなっていない。

改造した時(後述)に分かったが、QOwnNotesは意外にディレクトリ名をハードコードしていて、それが何箇所にもあった。機能などの出来がいい割には雑なところがあって、どこの人かは分からないがUS的な雰囲気を感じた。

そのせいか、フォーラムでの問い合わせに作者は「変更はできない」と平然と書いていて(参照不明)、なかなか「ん?」だった。

一方、Joplinはディレクトリ名を定数にしていたので、こういうところは抜かりないものだと感心したものの、変更できないようにする考えが理解できなかった。まあ、変えると全部のノートに影響してシステムが崩壊してしまいかねないのは分かるから、仕方ない。

それで、仕方なく「何とか」しようと思った。これはZettlrの時に比べれば簡単で(とその時は思った)、Joplinの出すノート(作業用ノート)中の画像指定タグ中の画像のディレクトリ("resources")を"media"に置換してQOwnNotesに出せばいい。

なお、画像ファイル本体はresourcesにあるので、resourcesをmediaにsym-linkしておく。

早速実装しようとして、気付いた。編集が終わったノートをJoplinに戻す時には、逆に"media"を"resources"に変換しなくてはならないが(そうしないとJoplinで画像が出ない)、それは そんなに簡単なことではない。というのは、いつQOwnNotesで編集を終えるか分からないからだ。※ Zettlrの時同様、Joplinが作業用ノートを削除したことを契機にできるが、削除されたファイルの中身は置換できないので、やっぱり、Zettlrの時同様に、ファイルの変更を監視して逐次Joplinにコピーすることになって、何も簡単ではない。そんなはずではなかったが・・・

※もちろん自分(僕)は分かるので、そういう(手動の)操作を追加すればいいが、必ず忘れるし面倒なので、そういうことは避ける方針だ。これは、PCでUSBメモリを抜く時にアンマウント操作をすべきかどうかの話*に似ている。

*不要という人も多いが、僕はOSの仕組み上、必要だと思う。例えば、OSは、メモリがいつ抜かれるか分からないではないか。それに備えて常に安全策を取っているOSがあるようだが、それは何か違うし、それだって完全に安全ではない。そういうOSでは書き込み中に抜いてもいいのだろうか?

本当に「何もせずに抜いていい」と言うなら、USBの端子に「抜かれつつある状態」を検出する仕組み、または、処理中は抜けないようにロックする仕組みが必要だ。

しかし、一晩頭を冷やして考えて、(他の案もあったものの、)QOwnNotesかJoplinを改造して、QOwnNotesが"resources"を認識するようにするか、Joplinが作業用ノートに"media"で出すようにすれば、万事丸く収まる気がした。

早速QOwnNotesを改造してみたら、うまくできた。ただ、オリジナルのQOwnNotesが更新されるたびに改造し直す必要があるので面倒だ(作者にフィードバックしてオリジナルに入れてもらえばいいが、結構なパワーが要る)。※

QOwnNotesにはスクリプティングという機能(JavaScriptらしい)があり、それを使えば改造しなくても実現できるかもしれないが、なかなかハードルが高いので保留にした。

※と書いたら、さっき更新の通知が来たwww (18:00)

更新のたびに改造するのはJoplinでも同様だが、僕はJoplinに これ以上の改良は期待しておらず、激遅とメモリの馬鹿食いが解消されない限りMDの編集には使わないので、仮に今後更新しなくても大きな問題はないと考え、Joplinも改造してみた。こっちはGUI版とコマンドライン版があって全部は確認できていないが、おそらくうまく行ったと思う。

JoplinはJavaScript(正確にはTypeScript?)で書かれているので、コンパイルが不要なのが楽だった。 (← TypeScriptからJSへのコンパイルは要る。これが長くて面倒・・・) でも、nodeの更新が必要なのに気付かず、ちょっと手こずった。

それから、Joplinにはプラグインの機能があるので、それを作れば改造しなくても実現できるのかも知れないが、QOwnNotesのスクリプティングと同様にハードルが高い。

Joplinは以下のように改造した。

  • ノートを外部編集設定した時
    • 作業用ノート中の画像指定のディレクトリの"resources"を"media"に置換する。
    • それがファイルに書き出される。
      • それがQOwnNotesに読み込まれる。
  • ノートの外部編集設定を解除した時
    • ファイルから読み込んだ作業用ノート(QOwnNotesが更新した(かも知れない)もの)中の画像指定のディレクトリの"media"を"resources"に置換する。
      • そのあとで、何事もなかったようにJoplinの内部パスに変換される。

なお、外部編集設定している間もJoplinはノートが更新されるたびに表示を更新するので、その時は画像が出なくなる。読み込まれるたびに変換すればいいのだろうが、無駄な処理だし面倒なのでやっていない。 (← その後、更新されても ちゃんと画像が出ることが分かった。それが下に書いたように正しい動作で、出なかったのはQOwnNotesの版(改造版かどうか)と合ってなかったからかも知れない。)

良く考えると、読み込まれるたびに上の変換が行われるはずなので、外部編集設定を解除するまでは、少し動作が違うのかも知れない。まあ、それほど大きな問題ではない。

あとは、改造版Joplinを「ちゃんと」使えるようにすればいいのだが、改造したものは「開発版」と出ていて設定なども本物とは別で、その直し方(書いてない・・・)を調べようとするところで力尽きたw

→ JSとTSの違い(あと、昨日はJSを直して居たが、それはTSから生成されるため、危うく消滅するところだった)、その他諸々に戸惑いながらも どうにかできた。改造版Joplin (GUI版)とオリジナル版QOwnNotesで連携できている。

CLI版は謎の動作(中身を表示すると、画像のディレクトリが外部編集と同じディレクトリになっている)だが、オリジナル版と同じなので良しとした。面倒なのでAppImageは作らず、npmやnodeで起動することにした。

npmとnodeとelectronの違いが分からないが、興味ないので放置する。

あとはQOwnNotesでの画像の追加や新規ノート作成に対応などが残って居るが、おいおい やりたい。 (これも疲れそうだ) (11/1 13:33)

 

それから、(これが最初だったのだが)上の処理の他に、QOwnNotesの動作を改善し、使いやすくするための処理をJoplin→QOwnNotesのコネクタに入れた。

  • QOwnNotesはノートのタイトルをファイル名から取るが、Joplinのノートのファイル名はIDなので、ノートを表示させないとタイトルが分からなくて不便。
    • それを解消するため、Joplinが外部編集設定した時に、作業用ノートのタイトル(Joplinでは最初の行に書かれている)を短縮してファイル名に入れるようにした。
    • 重複を防ぐため、元のIDも付けるようにした。
  • QOwnNotesは画像タグのタイトル(またはキャプション)が空だと画像を表示しない。
    • それを解消するため、Joplinが外部編集設定した時に、作業用ノート中にタイトルが空の画像タグを見付けたら、ファイル名をタイトルに入れるようにした。
    • MDでは画像のタイトルを見ることはまずないし、空のものにファイル名を付けるのに特段の問題はなさそうだ。
    • ※ノートから画像を抽出する部分のソースを見ると、タイトルが空でも問題ないはずなのだが そうでないので、別のところで落としているようだ。

 

と、最初は「簡単だ!」と思ったけど実はそうでもなかったという、いつものパターンである。(Joplinの改造を仕上げる件が残って居るものの、)今は、以下のように普通にMD(画像も)が表示でき、快適に編集できている。

QOwnNotesをJoplinの外部エディタにして、ノートを編集できるようにした。

 

最後にもう一回言いたいのは、ZettlrでもQOwnNotesでも どちらもでいいけど、Joplinのエディタを使っていた時のイライラから解放され、まさにサクサクと(それが普通なんだけど)文章が書けるようになって(Joplinも最初はそうだったはずだが、いつの間にか肥大化・肥満化・劣化してしまったようだ・・・)、うれしい限りだ。

 

付録: ZettlrとQOwnNotesの長所と短所

主に相互の比較の観点で書いた。また、基準はJoplinのエディタ(機能としては かなり良いほう)である。なお、太字は僕が重視した(「これはちょっと」、「これはいい」と思った)点である。

Zettlrの長所・短所

  • 長所
    • 他のエディタよりは ちゃんと使える。
    • 全ノートに対する検索ができる。
    • ノートの編集ペーンはプレビュー兼用だけど見やすい。
  • 短所
    • 検索で前候補に行けない。 → その後、Shift+Enterで行けることが分かった。 (11/5 5:53)
    • sym-linkで誤動作する。 → コネクタで対応した。 → 最新版(2.0.2)では直っていそうな感じ。ただし、相変わらずsym-linkのファイルは開けない。 (11/5 5:53)
    • MDのタグの動作が変・変なものに変えてしまう場合がある。例: コードブロック, 横線 → Auto completeを調整すれば大丈夫そうな感じ。 (11/5 5:53)

      • それをコピー・ペーストしても、ちゃんと働かないことがある。補完の影響?
    • ()や"などの補完が余計なことが多いうえにoffにできず、面倒。 → 設定があった(最新版で増えた?)。それ以外もAuto completeを調整すれば大丈夫かも。 (11/5 5:53)
    • 編集中に表示位置がジャンプすることがある(Joplinよりはずっと少ない)。
      • プレビューが別でないので、ジャンプは仕方ない?
      • 表示はジャンプするが、カーソル位置は動かないので まだ良い。 (11/5 5:53)
    • 選択したブロックを箇条書き・番号リストにすることができない。 → 選択して右クリック → "Insert numbered/unordered list"でできる。が、箇条書きは頭の文字が違う(そのうち直る?)。 (11/5 5:53)

      • 番号リストのリナンバーもできない。 (できるものは見たことない)
    • 書式設定の ショートカット・ボタンが少ない。
    • 細かいカスタマイズができない。 → CSSの調整である程度できる? (11/5 5:53)
    • 日時の挿入ができない。 → スニペットで代用できる。(11/5 5:53)
    • 日本語処理が今ひとつ。
    • 左サイドバーの機能が貧弱。
    • Joplinのタグに相当するものがない。
    • Joplinとタイトルの指定方法が異なる。
    • テーマの色の趣味が悪いうえに調整できない。→ CSSで調整できる。 (11/5 5:53)
      • テーマでフォントも決まってしまうので不便。

QOwnNotesの長所・短所

  • 長所
    • 他のエディタより ちゃんと使える。
    • 使用メモリ量が少ない。: Zettlrの約1/4。
      • 例: 4ノートを開いている場合、アイドル時約140MB
        • この少なさは何かの間違いではないかと思って調べ直すのだが、合っている。
    • 編集中に位置がジャンプしない。
      • ただし、プレビューペーンは頻繁にジャンプする(それでも、Joplinと違って ちゃんと戻る)が、エディタは動かない。
    • 全ノートに対する検索ができる。
    • 細かいカスタマイズが結構できる。
      • できないことも結構ある。
    • 日時の挿入ができる。
      • フォーマットが変更できる。
    • ノート一覧が縦なので、ノートが多くなっても見やすい。
    • 高速
      • ノートの切り替え(読み込み)がJoplinよりずっと速い。
    • 文字列を選択してネットで検索できる。
      • これが欲しかった!!
    • Joplinのタグに相当するものがある。
    • ノートの暗号化が可能
      • 実際に使うかは不明。
    • スクリプティング機能がある。
      • 実際に使うかは不明。
    • コネクタでノートを常時コピーしないので、Joplinでの変更が検出できる。
  • 短所
    • 画像の保存ディレクトリとタグのディレクトリが"media"で固定。対応が必要。 → Joplinを改造し、外部編集時のディレクトリを"media"にして対応した。 (11/3 13:36)
      • 本文に記載のとおり。
    • 選択したブロックを箇条書き・番号リストにすることができない。 ← スクリプトでできることが分かった。すごい。 (11/2 6:21)
      • → スクリプト"List maker"でできる。 (11/2 6:21)
      • 番号リストのリナンバーもできない。 (できるものは見たことない)
        • → スクリプト"Fix list numbers"でできる。 (11/2 6:21)
    • 書式設定のボタンが少ない。
    • MDの解釈・実装のJoplinとの差
      • 画像タグのタイトル([])が空だと表示されない。 → コネクタで対応した。: 修正する(ファイル名を付ける)ようにした。
      • HTML要素(例: "<s>")をコードブロックに入れても無効化できない。 → &xxx;を使うしかない? なぜか、今試したら問題ない。他のアプリとの混同や勘違いだった? (11/2 8:44)

        • あとで問題になりそうではある。
      • 画像タグの前に空行がないと、プレビューがおかしくなる。
        • 画像の前に縦の空白が入る。
      • 単一の改行は無視されて繋がってしまう。空行を入れないと、期待する結果にならない。
        • MD本来の動作なので、仕方ない。
        • こいういうのが嫌で却下したMDエディタがあったが、QOwnNotesは それを補うほどのメリットがある。
        • ただ、それと違うのは、勝手にノートを変更(「修正」)しないことだ。これは重要だ。
    • 検索結果のハイライトが消せない。 → 対処してもらって解決した。 (11/3 13:36) → が、実際には、どうしようもない場当たり的な修正だったし、作者自身が作ったものの仕様を覚えてなくて、こっちが混乱させられたり(そもそも、ハイライトが消えないのが仕様だったのを、僕に指摘されて場当たり的に消したものだから、整合性が取れなくなった)と、クソさが露呈し、それで使うのを止めた。 (11/5 20:40)

      • 検索文字列を消せばハイライトも消えるが、位置がリセットされてしまう。
    • 日本語処理が今ひとつ。
      • 直接関係ないが、日本語入力(Fcitx+Mozc)の未確定入力の下線が出ないのがちょっと辛い・・・ Fcitx側で調整できるのだろうか? → いろいろ調べたところ、Qt5の問題のようだ。ほとんどのアプリで下線が出ない。 (11/1 17:01) → QOwnNotesの問題ではなく、fcitx-qt5の問題だった。自分で対処した。 (11/3 13:36)
        • ただ、LibreOffice CalcとImpressでは出るのが謎。使い方があるのだろうか?
    • 画像がある場合、プレビューの縦の余白が広過ぎることがある。
      • 画像タグの書き方によるようで、次を空行にすれば直ることが分かった。
    • ノートにタイトルが指定できない。: ファイル名で見るしかない。 → コネクタで対応した。: ファイル名にタイトルを付けるようにした。
    • プレビューペーンが最後まで見えない(ことがある)。
      • コードブロックの開きと閉じの対応(インデント)が悪かったためだった。
    • 書式付き文字をコピーして、他のアプリでペーストすると、書式の文字列も貼り付けられてしまうことがある。: 再現せず。
      • 別のアプリ(ReText)だったか?
  • QOwnNotes

    QOwnNotes

    Open source markdown note-taking for Linux, macOS …

  • Overview

    Overview

    Open source markdown note taking for Linux, macOS …

  •  0
  •  0

Joplin(特にエディタ)がクソで使い物にならなくなったので※、他を探してみたのだが(試したものを付録に書いた)、結局、Zettlrしか残らなかった。エディタの機能ではJoplinは足りているのだが、遅かったり表示がジャンプしたりと邪魔されて普通に文章が書けないという点で、使うことができない。

※想像して欲しい。1文字打つ・消すたびに5秒くらい待たされるので、記憶と予想で新しいカーソル位置を想定して作業する苦しさを。30年前のviだって、そんなことはなかったよ。もちろん、何か大きなことをすると(いつ起こるかは不明)いきなりカーソルが行方不明になって、文章を書くレベルじゃねえ!

前回候補に挙がったTriliumは、(いろいろな問題はあるけど一番大きいのは、)内部的にMDでない(HTMLのようだ)※せいかJoplinのノートを開くと書式が変わってしまう。Triliumを使うために全部のノートを見て修正するなんてやってられないので、やっぱり使いものにならない。

※どうしてそうしたかは分からないが、推測してみると、MDよりHTMLのほうが 幅広い表現が可能なためかも知れない。が、世の中の標準に合わせずに自分だけの(詳細が不明な)仕様で通そうとしても先は ない。そういう点で、Triliumはセンスが悪い。

更に、PC(Linux)だけの話なら まだいいが、僕はスマフォ(Android)でもノートを共有して開きたい。すると、ノートの同期システムが必要になるのだが、こちらも(僕には)まともなものがなかった(例: ちゃんと同期しない、電池を食う)。また、同期するといっても、常に全部のノートをスマフォに入れておく必要はなく、見たいものだけ適宜ダウンロードすればいいのだが、そういうものは なかなかない。Dropboxは近いのだが、その上のノートをMDエディタで開いた時に画像が開けない問題があった。Dropbox対応のMDエディタなら可能かも知れないが、有料である。※

※高いものではないから、ちゃんと使えるなら買ってもいいけど、買わないと確かめられないので どうにもならない。

すると、PCとサーバとスマフォでノートを同期するという点では、Joplinは必要充分で なかなか良いことに気付いた。

なお、JoplinのAndroidアプリはLinux版と同様に重くて(EvernoteのAndroidアプリと同様) ほとんど編集はできず、表示専用と割り切っている。

そこで考えたのは、いつものように、JoplinとZettlrで「何とかする」ことだ。それぞれの得意な(「使える」)ところを使い、以下のように分業させるのだ。

JoplinとZettlrの分業

  • Joplin
    • (Linuxアプリ) ノートの管理
    • (スマフォアプリ) スマフォでのノートの表示
      • 重いので、編集は元から諦めている。
      • ノートの編集(書き込み)の代わりに、自作のメモ記録システム(BNote)を使っている。
        • 必要なら、そのメモをPCでノートに貼り込む。
    • ノートのサーバとの同期
  • Zettlr
    • ノートの編集

試しに上記の分業システム(のPoCかプロト)を昨日作り、どうにか動くようになった。以下に基本的な動作を示す。

動作

  1. Zettlrで編集したいノートに対して、Joplinで外部エディタでの編集を設定する(ノート名で右クリック → "Edit in external editor")。
    • あらかじめ、Joplinの設定の外部エディタに、JoplinとZettlrを連携させるためのコマンド(「コネクタ」?)を指定しておく。
  2. JoplinとZettlrを連携させるコマンド(zettlr.sh)は以下を実行する。
    1. 編集用にJoplinからエクスポートされたノート(「元ノート」)を作業ディレクトリにコピーする(→ 「作業ノート」)。
      • 元ノート自体をZettlrに指定してもいいのだが、Joplinの他のファイル(設定やログ)が見えるのが嫌だし、それらを誤って変更したり削除してしまうのを防ぐために こうしている。
      • また、下にも書いたが、Zettlrは単にファイル名を指定しても開けない場合があるので、(仕方なく)作業ディレクトリを作ることにした。
      • 更に、Zettlrはsym-linkは開けないようなので、(仕方なく)編集するノートを作業ディレクトリにコピーすることにした。
        • このために かなり面倒になった。。。
        • 調べたら、ワークスペースやノートのあるディレクトリにsym-linkがあると うまく動かないことがあるようで(→ 参照)、実際に この環境でもしばらく使っていたらノートが開けなくなってしまった(なぜか、Zettlrを再起動すると開ける)ので、(仕方なく)作業ディレクトリ直下からsym-linkを排除し、ノート中のリソース(画像)を抽出してJoplinのディレクトリからsym-linkして(サブディレクトリにある分には大丈夫なようだ)表示できるようにした。これで様子を見ることにした。
    2. 作業ノートを指定してZettlrを起動する。
      • あらかじめ、Zettlrに作業ディレクトリをワークスペースとして設定しておく。
        • 設定しないと、Zettlrが起動中に新たにノートを開く時にエラーで開けない場合が多い。
    3. 作業ノートの更新または元ノートが削除されるのを待つ。
      • 作業ノートの更新の場合、少し更新を「ためて」からJoplinのディレクトリにコピーする。
        • ノートを書いている時は頻繁に作業ノートのファイルが更新され、そのたびにコピーするのは無駄だし重そうなのでそうした。
        • 現状は、10回以上更新があったか、10回未満でも約20秒間更新がなかった場合にコピーするようにしている。
      • 元ノートが削除された場合(Joplinで外部エディタでの編集が解除された)、作業ノートを削除して終了する。
        • 作業ノートを元ノートにコピーしていない場合(上記の保留された更新が未反映の場合)には、エラーダイアログを出す。 → あとで手で反映させるなどが必要。
    4. 3に戻る。
  3. ノートの編集を終える時は、Joplinでノートの外部エディタでの編集の設定("Edit in external editor")を解除する。 → 元ノートが削除され、上の「元ノートが削除された場合」が実行される。

使っている時の画面を見ても、単に「2つのMDエディタが動いているだけ」だが、背後では上のような複雑な処理をしている。そのおかげで、Zettlrでノートを変更すると少し経ってJoplinの表示も更新される。

Zettlr(左)でJoplin(右)のノートを編集している様子

 

効果・良かったこと

  • 操作性: Zettlrは高速(というか、当たり前の速さ)だし、MDエディタとしての挙動も概ね一般的(Joplinに近い)なので、書く時にストレスがなさそうだ。
    • 今までのところ、機能不明・不足以外のストレスはない。
      • 他のエディタのようなプレビュー画面はない(印刷プレビューのみ)のだが、それで充分使えるところがZettlrの表示の すごい・うまいところだと思う。やたらに機能を増やさず、着実に進めている印象がいい。
    • 一方、Joplinのエディタは まさに"disturbance/distraction-ful"だ。
  • メモリ量: JoplinもZettlrも同じElectronで動いていると思われるが、Zettlrは随分まとも(というか普通)。
    • 開いているノートの数と使用メモリ量(アイドル時)の比較例
      • Joplin: 1ノート(サイズ: 約40KB): 約1.2GB
      • Zettlr: 5ノート(サイズ: 合計約1MB): 約680MB
    • Joplinはエディタの他にノート管理や同期の機能があるとは言え、メモリを食い過ぎる。多くのノートを開くと、簡単に2GBを超える。
    • Joplinのメモリは減ることがないが、Zettlrは作業状態に応じて ちゃんと減るのが いい(というか、それが普通だ!)。

処理速度もメモリ量も、同じElectronなのにZettlrは ちゃんとしているが、Joplinは全然「なってない」。Zettlrができているので、やればできるはずのことをしていない(Androidアプリも同様にひどい)。作者は、手を広げるよりも、まず こういう基本的なところを詰めるべきだと思う。

惜しいこと

  • ノートを編集するたびにJoplinで外部エディタでの編集を設定するのが面倒。
    • Joplinを終了しなければ設定は維持されるので それほど煩雑ではないが、(可能ならZettlrに組み込まれた)シンプルなメニュー的なものが欲しい。
  • JoplinとZettlrの管理情報(タイトルの設定方法やタグやノートのIDやマークダウンリンクなど)が別々なので煩雑。
    • ノートIDの統合はできないだろうから、Joplinをベースにするしかなく、必要になるたびにJoplinに戻るのが面倒そうだ。
    • 書いていて気付いたが、Zettlrで貼り込んだ画像をJoplinに戻す必要があることを忘れて居た。面倒かも知れない。。。
    • 同様に、新規ノートはZettlrでは作れない(Joplinに入れる機能がない)。: なかなか先が長そうだ・・・
  • Zettlrの編集機能が「もう一声」。
    • 総合的には、試した他よりは ずっといいのだが・・・
      • 書式設定の機能・メニューが少ない。
      • 日本語処理は特にしていないようで、日本語中の英語の単語選択(ほとんど文章全部が選択される)もスペルチェックも誤動作する(ノートのほぼ全体が真っ赤になるw)。
    • このブログ(WordPress)のエディタくらいの機能があれば言うことないが、なかなかうまく行かないものだ。
      • 何度もブログでノートを書くことを考えているのだが、エディタの機能だけで済むものでもなく、なかなかうまく行きそうにないので諦めている。
    • あと、テーマがどれもイマイチ。自分でCSSをいじれるが、もう少し普通の感覚のものを用意して欲しかった。
      • もしかすると、日本(というか、僕?)以外では、用意されたものがごく普通なのかも知れないw が、特に色遣いの趣味が悪い。明る目の緑とかキツい赤とか止めて欲しい・・・
  • "Zettlr"の綴りが いつも分からないw
    • Zettler? Zottler? Zottero? ヒ○ラー? デスラー?などと、最初の"Z"しか分からない。

メモ・残件

  • ファイル更新の検出は、inotifywaitというコマンドを使った。これをモニターモードで動かし、出力されるイベントを読み込んで処理する。
    • ファイルのコピー中などに起こったイベントを落とさないように、モニターモードで動かすことにした。
  • 連続した複数のイベントを保留してまとめる処理は、イベントの読み込み(bashのreadコマンド)にタイムアウトを指定することなどで実現した。
  • 現状では、編集中のノートごとに上のファイル更新の検出処理が起動されてイマイチなので、いつか統合したい。
    • ただ、基本的に待っているだけなので、負荷は高くない。が、無駄にプロセスが多くなって気分が悪い。
  • 上に書いたように、Zettlrで追加した画像や新規ノートをJoplinに入れる処理が必要だが、作るのは容易ではない。対応できるまでは適宜Joplinを併用するしかない。

 

付録: 試して却下したMDエディタ

以下のもの(すべてLinux版)を試したが、どれも僕には今ひとつだった。次点的なものはMark TextとAbricotineとReTextだった。

(書いたあとで再度試して分かったが、)Mark Textはキーの挙動と勝手な修正とメモリ量などを我慢すればZettlrより良さそうで、乗り換えたくなっている。が、更に少し試したら結構バグがあるようだし、ノートを勝手に修正されるのは困るので、保留した。Abricotineはメモリを食うのが惜しい。ReTextは いろいろ惜しい。いったい何を考えているのか分からない。そこを直せばいい感じだ。

  • Remarkable: パッケージ不足でインストール不可だった。
  • ReText: タブキーで箇条書きがインデントしない。
    • プレビューの画像のサイズが大きい(リサイズされない)。
    • ライブプレビューの表示位置がエディタと同期せず、不便。 (← レンダラーにWebkitを使えば同期する。)
    • 改行の解釈・処理が違うようで、改行だけで次に空行がないと、行が繋がってしまう。
    • メモリ量は少なそう。
  • Mark Text: MDを勝手に変更(修正)する。カーソルがノート内にある場合、Page Up/Down, 上下キーの動きがおかしい。
    • MDの箇条書きの子要素の前に余計な空行が入る(MDを勝手に変更する)。
      • その他も勝手にいろいろ(空行や空白など)書き換わる。「正しいMD」に修正してしまうようだ。
    • MDの空行が無視される。入れてもなくなる。
    • 細かいバグが多そう。
      • Ver. 1未満なので仕方ない? (結構時間は経っているが・・・)
    • 日本語対応は一番良い。
    • 雰囲気はZettlrに似ている。
    • メモリ量は多目だが、Joplinよりは少なそう。
  • MindForger: PPAがUbuntu 20.4 LTS(focal)に非対応でインストール不可だった。
  • Abricotine: 開くノート(ウインドウ)の数に応じてメモリがかなり増える。約340MB+200MB/ノート。
    • 複数のノートは別ウインドウ
    • 設定がファイル
    • 表示は綺麗。
    • Zettlrに近い。
    • 古い: 2015年。ただし、GitHubでのリリースは2020年。
  • Notable: ワークスペース型で、ノートのインポートが必要。
  • Haroopad: タブキーで箇条書きがインデントしない。
    • 複数のノートは別ウインドウ
    • なぜか、メニューのフォントが汚い。
    • 雰囲気が、僕が使っているエディタjEditに似ている。
    • メモリ量は少なそう。
    • 寄付の表示が消せない。 (← ボタンを押せば消える)
    • 古い: 2015年。
  • GhostWriter: 複数のノートが同時に開けない。
  • QOwnNotes: 最初に何か(MDは不可)開かないと起動しない。
  • Markdownify: ライブラリが合わないようで、起動しない。
  • Znote: Joplinで作ったMDの画像が表示できない。
  • Apostrophe: Joplinで作ったMDの画像が表示できない。
    • 機能が貧弱
    • Flatpakなので、インストール・起動・アンインストールが面倒
  • StackEditPro: サイトが開けなかった。
  •  1
  •  0