WordPressがデフォルトで読み込むスクリプトやスタイルシート(コアファイル)をjsDelivrのCDNからロードするWordPressプラグイン「jsdelivred」を書いた。
WordPressのjsやcssはWordPress/WordPressというGitHubミラーから、jsDelivrのGitHubエンドポイントで読みこむようになる。これらのアセットはインストールしているWordPressのバージョンのものを使うのでWordPressをアップデートすると、アセットもアップデートされるはず。ローカルにあるファイルのハッシュを計算してSubresource Integrityを利用するのでGitHubリポジトリかjsDelivrのファイルが改竄されても、対応しているブラウザなら少し安心できる。
ソース
既知の問題とか
jsdelivrのエッジやオリジンにキャシュがないと糞遅い。
もちろんキャッシュされれば問題ないが、WordPressをアップデートするたびに最初の数アクセスはキャッシュがないから同じ問題がおきるはず。これは、jsDelivrのバックエンドがWordPressのパッケージ全体をフェッチしなおすからだと思う。とりあえず、RawGitのようにリクエストされたファイルだけフェッチして、あとからパッケージのキャッシュを取得するとかやりようはありそうだけど。
コアファイルだけという保証がない
デフォルトディレクトリにあるかどうかでコアファイルかどうかを判断してるから、本当にそれが正しいか保証がない。
PHP5.3.0未満だと動かない
名前空間を使ってるから。でもそんな古いPHP使ったらダメ。
WordPressプラグインに不慣れ
WordPressのプラグインとかよくわかんない。今のところ動いてるみたいだけど将来はわからない。ただ、こういうものを書くと勉強にはなった。