使っているライブラリsfarthin/ga-analyticsの動作確認したところ、コンソールに正しく表示できました。環境設定に問題はなさそうです。ソース確認に入ります。プロジェクト配下のnode_modules/hexo-related-popular-postsを開きます。13ファイルとはいえ、何かあたりが欲しいところ。rankingSheet.txtを正しく表示できるところを目標にランキングデータファイル名の設定rankingSheetを全文検索します。するとcache.jsがかかりました。updateと、それっぽいコメントがあり、36行目でパスの比較をしてデータモデルを作っているようです。ここにデバッグ用のコンソール出力を挟んで動作確認をしたところarticles/有無でミスマッチしていることがわかりました。トップでriotz.worksドメインのサブパスに配置されているパス名になります。データには入っていなかったことからランキングデータが正しく作られなかったようです。原因が判明したので、サブパスを使っている場合に対応する機能拡張をプルリクします。フォークしてプルリク作成の環境用意プルリクを出すために、まずは元リポジトリをフォークしてプルリク作成の環境を作ります。いい感じにリポジトリがフォークされます。(画面左上のリポジトリのアカウントが自分になっていて、フォーク元が表示されている)フォークした自分のリポジトリに変更を加えるプルリクしたい変更を自分のリポジトリに行います。やるには作業用ブランチを用意しますが、今回は単発の作業で開発用ブランチもなさそうなのでmasterブランチに直接変更を加えてしまいます。原因究明時にほぼ判明しているので難しくないですが、以下となります。/articles/になります。Hexoの設定になります。これをcache.jsで使うにはhexo.configのrootプロパティ、すなわちhexo.config.rootを使います。このままだと/articles/のように先頭の/でまたミスマッチするのでhexo.config.root.slice(1)にして先頭を取り除きます。ここで取得したサブパスの文字列を判定のif文で使います。...}このままだと処理がわかりにくいのでリファクタリング。slice(1)を毎回処理するのはムダなのでファイル上部の変数宣言部に移動します。rootの変数名は微妙ですが設定の項目名をそのまま使っているようなので合わせます。...}テストケースが用意されているのでテストが失敗しないか確認しておきます。修正が完了したら自分のリポジトリへプッシュします。プルリクの作成フォークした自分のリポジトリへ行き、変更がプッシュされていることを確認します。ボタンがあるのでクリックします。