Top Page.
ここは何?†
友瀬のがらくた置き場です。
本館に置けないようなさまざまなデータを置いていきます。
要は、整理状況はいいかげん、ということです。
基本的に日記形式。
日々のニュースで思ったこと、趣味にまつわることなどなど、まさにごった煮。
わかる記事にだけ共感・違和感をもってもらうもよし。
自分の知らない世界を見るために全部を読むもよし。
気に入らなければ、無視するなり突っ込むなり。
- 本サイトの構築にはpukiwikiを利用していますが、一部BBSなどを除いて一般に書き込み開放する予定はありません。
- 本サイト内にある情報(文章、画像等)は基本的に友瀬の著作物です。
リンクや妥当な範囲の引用は構いませんが、以下のようなことについてはご配慮ください。- コンテンツの再利用(無断での転載・再配布など)は、禁止しています
- コンテンツについて、AIへの入力(学習や加工など目的は問わず)を禁止します。
- 一部外部で公開されている著作物(アイコンや各種データなど)については、そちらのサイトを参照してください。
- 2023.Jan.27に、ドメイン変更しました(旧: tomose.dynalias.net → 新: tomose.net)
tomose.dynalias.net も当分は転送用に維持しますが、いずれ解約するため、ブックマーク等の情報変更をお願いします。 - 本サイトは Amazon.co.jpアソシエイトによる広告を含みます。
直近の日記†
日記/2026-09-17
雑記:pukiwikiプラグイン:divregion の機能追加の話。†
完全に「pukiwikiの開発・運用」の話なので、そっちに興味の無い方には恐縮ですが(笑)
今回、以前から不満があった divregion というか region系の「2つのプラグインで挟み込む」仕様について。
解決案を盛り込んだバージョンを作成・リリースしたので、それに関する開発メモ的な記事です。
仕様と問題点について†
改めて、前提となる話を。
regionプラグインは、いわゆる「折りたたみ」を実現するためのものです。
折りたたみなので、その折り畳み対象となる範囲を指定する必要があるわけです。
で、region系プラグインの実装パターンの1つが
- regionプラグインで、「開始点」を指定。
- endregionプラグインで「終了点」を指定。
・・・というかたちです。
このやり方、明確なんですが・・・ここで問題となるのが「このペアを管理する仕組みがない」ということ。
論理的に言えば「開始点」と「終了点」とは必ず1対1対応するわけですが。
pukiwikiのエディタやプラグイン自体にこれをチェックする仕組みがない。
結果、ありがちなミスとしてどちらかをより多く書いてしまう、ということが起きます。
そうすると、htmlレベルで不整合が起きてしまい、画面デザインがめちゃくちゃになりうる。
単純な見た目だけならともかく、例えばボタン類が表示されない状態になってしまい操作不能になったりするケースもありえる。
これはよろしくない。
すでにある回避策:マルチライン引数と、でも問題点。†
pukiwikiには、マルチライン引数という機能があります。
これによって例えば以下のように記載することができます。
#divregion(タイトル) {{ // ここが開始点になる
本文
}} // ここが終了点になる
これによって、もし適切な終了点がなければこの「折りたたみプラグイン」自体が引数エラーで止まるので。
前述のような「レイアウト不良」を引き起こさないというメリットはあります。
ただ、このマルチライン引数、いわゆる入れ子構造に弱いんですね。
入れ子にする場合 {{ のようにして指定している部分、カッコの数を増やして対応付けを示さないとならない。
それこそLISPみたいな、面倒さがでてきてしまうのです。
で、今回の対応について。†
ものすごく単純にいうと。
divregion/enddivregionの各プラグインで「自分が何度呼ばれたか」をカウントして。
ページ全体で整合取れればいいよね、という発想をしました。
実際には、divregionプラグイン側で管理するメカニズムをもって。
enddivregionプラグイン側は「divregionプラグインにお伺いを立てる」ようなかたちにしました。
- divregionプラグインは、自分が呼び出された(折りたたみ開始指示をうけた)ら、カウントアップ。
- enddivregionプラグインは、自分が呼び出されたら divregionプラグインに状況を聞く。
divregionプラグインは・・・
- 今残っている開始点が1以上あるなら、普通に「終了点を作ることを許可」する。
- 今開始点が残っていない状態で「さらに終了点を作ろう」としているならば、「却下」する。
その際ついでに「閉じすぎ」警告をだす。- これにより「終了点が多すぎる」状態を記述者に気づかせ、かつhtml構造破綻を阻止する。
- enddivregionプラグインに機能追加:「ページ終端・折りたたみクリア」モードを指定できるように。
- このモードであっても、状況自体は divregionプラグインにお伺いを立てる。
divregionプラグインは・・・ - 今開始点が残っていない状態で「さらに終了点を作ろう」としているならば、「却下」する。
この場合、通常モードと異なり警告表示は出さない。- この挙動があるので、実際に開始点を一つも作っていない状態であっても「常に文末に折りたたみクリアモードのプラグインを書いておく」ことができる。
- 今残っている開始点が1つだけなら、これも普通に「終了点を作ることを許可」する。
- 今開いている数が2つ以上なら「開始点が多すぎる」と判断。
「多い回数だけ終了点を余計に追加」する挙動と同時に、「終了点不足」警告をだす。- これにより「終了点が少なすぎる」状態を記述者に気づかせ、かつhtml構造破綻を阻止する。
- このモードであっても、状況自体は divregionプラグインにお伺いを立てる。
正確にいうと、上記以外に「マルチライン引数での書式なら」とか「グループ指定用の記述なら」みたいな例外処理がいくつかあるんですが、そこはまあ。
折りたたみクリアモードは、折りたたみでは入れ子構造があるためにいれた仕組みです。
1つめの終了点指定の前に2つ目の折りたたみ開始要求が来てもおかしくないので、単純に「閉じてないから駄目」じゃだめで。
どこかで「ここでおしまい」的な指示をしてもらわないとならなかった。
正直ちょっと微妙で、他になにかうまい手がないかなあとも思ってますが・・・とりあえずは。
とまあ、そんな感じ。
ご意見などがあれば。
日記/2026-08-04
雑記:「EZ Sign」を購入したので、表示力をチェックした話。†
という感じで。
モノはこちら:
Santek EZ Sign: https://santekdisplay.com/pages/ez-sign-nfc
「4色電子ペーパーを用いた、小型表示デバイス」です。
少し前・ある程度頻繁にイベントにサークル参加していたころならば「値札看板」くらいに使っていたと思いますし。
それこそ「物理的出社」が多かった時期なら、自席の行先表示板的にも使えたかもしれませんが。
正直、今はあんまり使い道がない、完全に趣味で買ったものです(笑)
で。上記説明&公式ページをみればわかるんですが。
このデバイス、表示できる色が少ない:白黒赤黄の4色なんですね。
いわゆる RGB/CMYKとちがって青系がないので、カラー表示は正直苦手。
ただそれでも「どれくらい出るんだろう?」って興味はわきますよね。
というわけで、試した結果を記録しておきます。
どうやって試したかというと・・・よくあるカラーパレット系のモノの表示を試みました。

で、これを書き込み用の専用アプリにいれると、プレビューで変換後を見ることができます。
こんな感じ。

青がないだけあって、さすがに上半分はかなり厳しい。
また分解能は幅 400px高さ 300pxと「画像表示」の視点で見ると決して細かくはないので、ディザ感もかなり強い。
それでも赤黄で表現できる下のほうの色は結構がんばってる、っていうかんじでしょうか。
で。これを実際の製品にアップロードして、カメラ撮影してみました。
こんな感じです。
表面がグロス==いわゆるテカテカな感じなので、照明使ってないのでちょっと暗くみえますが、普通の明るさの元なら相応にいい色になっています。
あ。上記ではわかりづらいですが、さすがに元の4色(白黒赤黄)はとてもいい発色です。
ちなみに、表示領域のサイズはだいたい「クレジットカードの短辺方向を1.2倍くらいした」感じ。
以上、なにかのご参考になれば。
ご意見などがあれば。

