npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@crowi/plugin-renderer-crowi-legacy

v0.1.0-alpha.1

Published

Crowi v1 compatibility quirks aggregator for Crowi 2.x. Fixes actual v1 idiosyncrasies (e.g. `##hoge` heading-without-space) that are NOT standard markdown. The single-newline → <br> behaviour shipped here in earlier dev iterations is now a Crowi-wide def

Readme

@crowi/plugin-renderer-crowi-legacy

Crowi v1 互換挙動の集約プラグイン。

このプラグインは、Crowi 1.x で受け入れられていた CommonMark 準拠ではない v1 独自の Markdown 書き癖 を、Crowi 2.x でも従来どおりレンダリングできる ようにするためのものです。Crowi 1.x からデータを移行してきた場合のみ有効化 してください。

※ 「シングル改行 → <br>」については当初このプラグインで提供していまし たが、GitHub・GitLab・Slack 等の主要 Markdown サーフェスと同じ挙動 (= GFM 互換) であり、CommonMark 純正の soft-break のほうがむしろ少数派であるため、 Crowi 2.x のデフォルト挙動 (core pipeline) に格上げされました。 改行のためにこのプラグインを入れる必要はもうありません。

このプラグインが直す v1 挙動

| 入力 | プラグイン無効 (素の CommonMark) | プラグイン有効 | |---|---|---| | ##hoge | 段落 ##hoge (見出しにならない) | 見出し depth 2 hoge | | ###bar | 段落 ###bar | 見出し depth 3 bar | | #######nope (7 個以上) | 段落のまま | 段落のまま (CommonMark 仕様尊重) | | ## hoge | 見出し depth 2 hoge | 見出し depth 2 hoge (二重変換しない) |

ATX 見出しの # の直後に空白を入れない、という非エンジニアに多かった v1 時代 の書き癖を補正します。CommonMark / GFM 仕様では # のあとに必ず空白が必要 なため、素のパーサだと段落扱いになり見出しスタイルがつきません。

このプラグインがやらないこと

  • H1 → ページタイトル抽出 — v1 は本文の最初の H1 をページタイトルとし て採用していました。Crowi 2.x はタイトルを Page.path で別管理しています。
  • @include / @toc 等の独自トークン — Crowi 2.x のプラグインモデルに 置き換えられています。該当ページは手動で書き直してください。
  • </path/to/page> 山括弧内部リンクcrowi-admin migrate --only=wikilink[[...]] 表記に一括変換できます (本プラグインの責務 ではない)。
  • 添付 URL (/_uploads/...) の書き換え — Crowi 2.x の LinkDetector が そのままハンドルするため不要。

既知の制約

  • このプラグインによって書き換えられた ##hoge 見出しは、TOC (目次) には 表示されません。また、heading anchor (#hoge 形式の見出し ID) も 付きません。理由: コアの見出し処理 (TOC + slug 計算) はプラグインより前に 走るため、後段でパラグラフ → 見出しに変換しても TOC ビルダはもう動いて いないためです。
  • 長期的には、移行元の本文を ##hoge## hoge (空白入り) に書き直すこと を推奨します。

インストール / 有効化

ランナー (crowi.config.json を置いているディレクトリ) の package.json 依存に追加し、crowi.config.jsonplugins に列挙します:

npm install @crowi/plugin-renderer-crowi-legacy
# or dev:
pnpm --filter @crowi/api add -D @crowi/plugin-renderer-crowi-legacy
{
  "plugins": [
    "@crowi/plugin-renderer-crowi-legacy"
  ]
}

サーバの再起動が必要です (crowi.config.json は起動時に読まれます)。

Default on/off matrix

| Install kind | Recommended | 適用方法 | |---|---|---| | 新規 Crowi 2.x install | OFF (plugins から外す) | 通常通りの GFM レンダリングになる | | Crowi 1.x からの移行 install | ON (plugins に列挙) | v1 時代の書き癖を v2 でも崩さない |

設定 (環境変数) は一切ありません。plugins に列挙するか否かのみが ON/OFF スイッチです。

管理画面

/admin/plugins には Crowi v1 互換レンダラー というラベルで表示されます。 プラグインごとの個別設定項目はありません。

既存ページの再レンダリング

このプラグインを有効化すると、以後 編集して保存し直したページRevision.renderedAst にはプラグインの効果が反映されます。既存の renderedAst (旧 revision) はプラグイン無効時に生成済みなので、自動的に は書き換わりません。一括再レンダリングは将来の crowi-admin renderer:rebuild で対応予定です。

See also

  • RFC-0002 — Crowi 2.0 renderer architecture と Phase 5 (v1 compat migrator) の全体像。
  • core pipeline (packages/api/src/renderer/pipeline.ts) — 改行 → <br> を 含む Crowi 2.x デフォルト挙動はこちらに統合済み。