レ点腫瘍学ノート

Toppukiwikiカスタマイズ箇所2025

Pukiwiki 1.5.4のMarkdown記法対応を強化

pukiwiki claude

11a7b1cc89.png

個人的に改造して遊んでいるPukiWiki改造版「PukiWiki 1.5.4 + Markdown」をv0.4に更新しました。

以前の記事はこちら。

Pukiwiki 1.5.4も無理やりMarkdown記法とPukiwiki記法に両対応させた - レ点腫瘍学ノート
pukiwiki 以前にPukiwiki 1.5.3も無理やりMarkdown記法とPukiwiki記法に両対応させたという記事を公開していました。今回はそのPukiwiki 1.5.4版です。 Pukiwiki 1.5.3も無理やりMarkdown記法とPukiwiki記法に両対応させたpukiwiki markdown

ページごとにPukiWiki記法とMarkdown記法を使い分けられるのが特徴で、今回のアップデートでMarkdownエディタの選択機能が入りました。ドキュメントも大幅に書き直しています。

SimpleMDEからEasyMDEへ

見た目に大きな変化はSimpleMDEからEasyMDE v2.20.0への移行でしょうか。SimpleMDEは2017年から開発が止まっていて、セキュリティアップデートも出ない状態でした。EasyMDEはその後継プロジェクトで、現在も活発に開発されています。ある程度の互換性があるので移行は楽でした。実用性は高いと思います。

ついでにlib/html.phpの構文エラーなど多数のバグも直しました。直したと言っても、自分では全くコードは打っておらず、Claude codeに書いてもらってchatGPTのCodex Cloudに確認をしてもらっただけなのですが。

複数行プラグインに対応

今回、前バージョンでは使用できなかった複数行プラグインに対応しているはずです。Pukiwiki内部的には複数行プラグインを利用した場合はその引数を1行ずつに分割して並べ直してプラグインに渡して処理を行い、そのレスポンスをまた複数行に分割するというような処理が行われています。前回までのMarkdown対応の場合は描画のかなり早い段階でMarkdownパーサーに文章を渡してしまうので、この1行ずつに分割という処理を挟む余地がなくて対応が難しかったのです。しかし、これもClaude Codeに相談したらすぐに解決してしまいました。

プラグイン互換性とその他

Markdown記法モードでも、PukiWikiのプラグインは全部使えます。ブロックプラグインは `#plugin` を `!plugin` に変えるだけで、インラインプラグインは `&plugin` のままです。既存のPukiWikiページをそのまま残しながら、新規ページだけMarkdownで書けるのが便利なんですよね。全ページを書き換えなくて済むので。

Markdownパーサーは相変わらずParsedown 1.7.4とParsedownExtra 0.8.1を使っています。テーブルや脚注、定義リストといった拡張記法も使えて、GitHub Flavored Markdownともだいたい互換性があります。セキュリティは、SafeModeで生HTML埋め込みを防いで、URLホワイトリストで危険なスキーム(javascript:とかdata:とか)をブロックしています。プラグイン実行も例外処理で保護しているので、一応安全な方だと思います。

個人的なWiki環境を改善するために始めたプロジェクトですが、同じような課題がある人には参考になるかもしれません。GitHubで公開しているので、フィードバックがあれば歓迎します。たくさんバグも残っているかもしれません。不具合を見つけた方は教えてください。

Release PukiWiki 1.5.4 + Markdown v0.4 リリース · m0370/pukiwiki154_md
v0.4 リリース 🎯 主な更新 複数行プラグインに対応 EasyMDE v2.20.0へ移行: SimpleMDE (開発停止) から後継のEasyMDEに統一 ドキュメント刷新: README.md で最新情報を一元管理 バグ修正: lib/html.php の構文エラーを解決 ✨ 新機能 Markdownエディタの動的選択機能 EasyMDEローカル配置による高速化 自動保存・ス...
https://github.com/m0370/pukiwiki154_md/releases/tag/v0.4

ドキュメントを書き直した

README.txtがいつの間にか古い情報だらけになっていたので、Markdown形式のREADME.mdに全部書き直しました。新しいREADME.mdには、セットアップからトラブルシューティング、拡張Markdown記法の説明まで一通り入れています。


この記事に対するコメント

最新の10件を表示しています。 コメントページを参照

  • markdownパーサーをParsedown Extraからleague/commonmarkに限定することで、pandoc方式の書式(打ち消し線、下付き文字・上付き文字など)に対応しました。また脚注はmarkdown標準のほかに、pandoc方式のインライン脚注やpukiwiki記法にも対応しました。
    https://github.com/m0370/pukiwiki154_md/commit/a6232d74cb5737d79a81cd2a3f0381d57e48f6d8 -- m0370 2025-11-29 (土) 12:36:48
  • さらにいくつかの大幅な変更を加えました。これでv0.5をリリースしました。
    • league/commonmarkに完全移行しました。これでGitHub Flavored Markdown (GFM) 完全対応しています。
    • Markdownの「見出し」との重複を回避するためにプラグインは'#plugin'ではなく'!plugin'と記載するようにしていましたが、半角スペースの有無で見出しかどうかを判別するようにしたことで#pluginも使えるようにしました。pukiwiki.ini.phpからオンオフを設定できます。
    • PukiWikiスタイルのインライン脚注も使えるようにしました。
    • Markdownキャッシュ機能を実装しました。pukiwiki.ini.phpからオンオフを設定できます。
      https://github.com/m0370/pukiwiki154_md/releases/tag/v0.5 -- m0370 2025-11-30 (日) 08:50:47
  • デモページはこちらにあります。
    https://oncologynote.jp/pukiwiki154_md_v0.5/ -- m0370 2025-11-30 (日) 09:13:22

お名前:

更新日:2025-11-19 閲覧数:206 views.