npm でインストールした tiddlywiki にプラグインをインストールする


ひじょうに困ったのと、時間を要したので同じようなめにあうことがないように記しておきます。

少ないと思いますけど。

##tiddlywiki a non-linear personal web notebook (2004-2020) version 5.1.22
とはどういうものかというと、情報カードみたいにセルを取り出せるブログみたいな wiki みたいな Zettelkasten ていうらしいですが、そういうやつだとおもいます。なぜかキャラとして猫がどーんと推されています。tiddly って猫のことかな ?と思いましたが、たぶん違うでしょう。いつかわかるかもしれないですね、使っていたら。
html ファイル 1 つだけで完結しているものも出来上がるのでこのように github pages でおいておくこともできます。

この道しるべは、Tiddlywiki を android で nodejs の web サーバーを使っている場合を想定しています。

Android タブレットの場合は、npm からサーバーバージョンをインストールするように公式の tiddlywiki のページにありますから、素直にそうしたという初めての npm インストールから、初めての tiddlywiki なあなたです。

そうそれは、5 日以上前のわたし。
そしてついさっきまでかかってようやく、そこに マークダウンのプラグインをインストールできた今のわたしが、ここにいて、やり方が全然わからなかったし、途中で何回か無理かなとあきらめかけたなと思っているわけです。

そう、 tiddlywiki はマークダウンで書けるわけですが、それには javascript のプラグインをインストールする必要があります。

Nodejs を使わない単体の tiddlywiki であればそのインストールは、なにも知る必要がなくインターネットにつながっていれば、 atom エディターのプラグイン追加のように、例のようにできますし、プラグインのリンクがあれば開いている tiddlywiki の上にドラッグアンドドロップでインストール可能です。それでことたります。

しかし、 npm でインストールした nodejs でコマンドでサーバーによって動いている tiddlywiki の場合はもうちょっとてがかかります。
わかってしまえばそれまでなんですが、わかるまでに tiddlywiki の特性でもある情報カードみたいに細切れにいくつあるのかもしれない公式ドキュメントの断片や github ページをぐるぐる見回ることになります。

という前置き。

みるべきところは 2 つだけ、でした。
そして、それも片方だけです。
これ、
Installing custom plugins on Node.js

これ。( こっちダ

Installing a plugin from the plugin library

tiddlywiki.info を探して書き加える。

何を、
"tiddlywiki/markdown"
を。

前提として、プラグインの名称を前もって知っている必要があります。

どうやって ?

サーバーなしの tiddlywiki を開いてプラグインのライブラリーにアクセスして調べます。

npm からインストールした tiddlywiki ではプラグインのライブラリーになーんにも表示されませんので不可能です。ここで android だけで ローカルホストからでしか tiddlywiki を見たことないで何とかしようとするとな、謎が深まるのです。
謎がなぞをよびます。
いや、見えないんだからおかしいやろ、と思わないともうそこでつんでしまいです。

https://tiddlywiki.com/ 
ここにアクセスして tools のタブをクリックし、control panel のなかの plugins のなかの Get more plugins でプラグインを検索できます。
このように。

Nodejs によってローカルホストでたちあがっている tiddlywiki だとアクセスできませんから、プラグインの検索画面でもなーんにも表示されませんから注意してください。

前者のリンクには

Note that including a plugin as an ordinary tiddler (e.g. by dragging and dropping a plugin into the browser) will result in the plugin only being active in the browser, and not available under Node.js.

とあります。

これは、
「プラグインを通常の tiddler として含めると(たとえば、プラグインをブラウザーにドラッグアンドドロップすることにより)、プラグインはブラウザーでのみアクティブになり、 Node.js では使用できないことに注意してください。」
ということですが、じゃあ、だからどうするのよ、とよく読んでもわからないのです。

なので、わかんないわー、どこに実例あるの? youtube でチュートリアルは ?

とならないために実例で、
##プラグインの名前は markdown という実在のプラグインを追加する事だけを説明します。
markdown プラグインは先程見たプラグインライブラリーに登録されているものです。カスタムプラグインはプラグインライブラリーに登録されていないものを含むので、登録されていないものは別に探しだしてダウンロードする必要があります。

Termux のコマンドライン
ctrl + c
で サーバーを止めます。( codeboardhackerskeyboard ) などのアプリを使ってコマンドのキーを使えるようにしておく必要があります。)

Termux のコマンドラインで cd を駆使して( cdls )探しだした tiddlywiki.info ファイルに nano とか vi や vim 等のテキストエディターを使ってファイルを開いて、

$ vim tiddlywiki.info

Plugins の 項目のなかに

"plugins": [

		"tiddlywiki/markdown"
	],

というように一行を書き足して、保存。
tidlywiki.info の中はこのように。

Plugins のディレクトリを mkdir でつくる。(カスタムプラグインファイルをダウンロード可能な場合はここにプラグインファイルを配置するが、 markdown プラグインに関してはここにインストールされるわけではないので必要ない。)

├── plugins
│ 
├── tiddlers
└── tiddlywiki.info

そうして


Tiddlywiki mynewwiki --init server

でサーバーを再稼働させて、127.0.0.1:8080
をブラウザーで開くとプラグインが読み込まれている。

文章で分かりやすく書けたような気がしないので、youtubeで見るのがいいと思います。こういうことです。

以上です。

もうひとつ。

npm でインストールした tiddlywiki を 127.0.0.1:8080 で起動しようとして port 8080 が address alredy in use となっている場面。

これは、rootじゃない android で nodejs のサーバーが動いている状態で、バッテリー切れになり、再度電源を入れてみると、8080番ポートが何かに占有されています、いました。
2日経ってもおなじです。おなじでした。
リブートしてもおなじです。

root ではないのでプロセスを探そうにもプロセス番号を知ることができませんでした。
これは root 権限のない android だと困る問題です。たぶん。

プロセス番号のわからない、ローカルホストの 8080 番ポートの何かを解放する方法。

$fuser -k -n tcp 8080

これで見えない、なぞの8080ポートのなにかを kill できました。

〈追記〉
が、ダメなときもある。8080ポートに kill は有効に働いているが、すぐに tcp6 で使われている。
何が有効な方法なのか、今のところわかっていません。よく起こるみたい。

解決としては、 wi-fi の接続を切ります。つまりデバイスのインターネット接続を切ります。
wi-fi 接続がない状態で、再度 127.0.0.1:8080 に tiddlywiki をたちあげるとエラーなしに起動します。