ホームに戻る
🗺️

ブログにグラフビューを実装してみた

Obsidianのグラフビューが気に入ったので自分のウェブサイトにも実装してみた

2025/10/29

グラフビューってなに

Image from Gyazo

グラフビューでは、このように、相関図のようなグラフでアイテム間の関係性を表すことができる。

ブログを書くのに使っているObsidianというエディターに同様の機能が搭載されている。Obsidianの記事をwebで公開する、Obsidian Publishにもこのグラフビューが搭載されていて、グラフビューと同じレンダリングエンジンを使っていると言っている。

Image from Gyazo

Obsidian ではどうやら自前で実装しているようだけど、ソースコードが公開されていないので、仕方なく自前で実装する。

記事数もそこまで多くないし、パフォーマンスについてはそこまで考えなくて良かったので、先程挙げたredditで言及されていたd3.js というライブラリを内包した、React-Force-Graph というパッケージを使って、力のシミュレーションとかを微調整している。

類似のもので、vis.js というものもあるが、d3.js の方がより複雑な操作ができるのでそっちを選択(なお、導入しやすさで言ったら vis.js)。モバイルでの閲覧が多いようなので、ホバー操作などをせずにすべての機能が利用できるようにした。

パッケージ名の通りグラフビューは React で動作している。このサイトはほとんどが Static で、Astro を使っているので、グラフビューのコンポーネント以外は全て事前にビルドしている。

ビルド時に、全ての記事と、その関係性を記述した JSON を作成し、ページ読み込み時にそれをロードしている。

これ、ページ数が増えまくったら結構厳しい気もするので、しばらくこれで使ってみて、ダメそうだったら別の方法を考えようと思う。

0人が0回拍手しました

関連記事

📝

EmDashに移行してみる

2026/10/3

元々Obsidian / Gitで管理していたブログだけど、スマホでサクッと書くときに毎回Git操作するのが面倒なのと、ObsidianのUIがブログ向けに最適化されていないこともあり、Emdashに移行してみました

0回拍手されました
記事を読む

🔧

Maker Faire Tokyo 2026に出展した話

2026/8/17

Vibeで作ったハードウェアをなんとなく出したら出展することになった!?Maker Faire Tokyoにソフトウェア畑の人間が作ったバッテリーレスで動く電子ペーパーNFC基板名刺出展してみました。

0回拍手されました
記事を読む

📝

ハードウェアとしての紙

2026/9/19

一周まわって紙のすごさを知ったのでメモを電磁的に記録しておく。

0回拍手されました
記事を読む

⚒️

チーム開発で使える便利ツールの紹介

2025/10/5

チーム開発を初めてやる時、みんなでどうやるかとても悩みます。この記事ではそういったケースで使えそうなツールをまとめて紹介しています。

0回拍手されました
記事を読む
ホームに戻る