静的なサイトなのでプログラムを動かせるようなサーバーは持っていません。することでパフォーマンスが良く、安全性を高めたサイトを作ることができます。ハイパフォーマンスなウェブフロントを実現するアーキテクチャをご参照ください。メリットがあれば、デメリットもあります。静的なサイトになるので動的なこと、たとえばコメント欄などは実現できません。今回のテーマである「人気の記事」も同様で、実現するには各記事へのアクセスを集計しアクセスが多いものを人気として動的にリストを作る必要があります。できない、動的な機能が必要となります。🍵(@tea0828)さんのサイトHexoブログで関連記事や人気記事を生成するプラグインを作った(node.js製hexo)|おちゃカメラ。ページビューを取得して、人気の記事を作るとのことです。設置しているケースは多いですし、本ブログでも設定しています。各ページごとのアクセス数もしっかり取ってくれています。して実現してしまうのがスゴイ!そして形態素解析も備えていて、記事本文を分析して「関連する記事」のリストも作ってくれます。組み合わせることもできミックスしてどちらにウェイトを置いてリストを作るかの制御も可能です。注意点が1つあります。「サイト生成時に動作」します。リアルタイムに人気の記事は変化しません。「サイト生成時の人気の記事」であることに留意が必要です。いえ、きちんと投稿したりサイトメンテをしていれば更新されていくので安心ですし、夜間ビルドを走らせて毎日ビルドしてしまう手もあります。プロジェクトディレクトリへ移動して、以下のコマンドを実行します。アクセスデータを取得して人気の記事リストの機能を使っていきます。経由でアクセスできるようにします。プログラムでアクセスできるようにするをご参照ください。本記事では以下が用意できているものとして進めます。プロジェクトのルートディレクトリに配置します。プロジェクトディレクトリ直下の_config.ymlに以下を追記します。ローカルサーバーを起動します。アクセスしランキングシートが生成されます。出力されていることを確認します。動作が確認できたので、ブログに人気の記事を配置します。今回はウェブサイトの右側にあるウィジェットを新たに追加します。「最近の投稿」が似ているイメージなので、こちらをベースに作ります。recent">最近の投稿</h3>のwidget-titleで全文検索します。テーマにはwidget-titleしかありません)たくさん見つかりますが各ウィジェットと、そのスタイルです。「最近の投稿」の本体はrecent_posts.ejsです。recent_posts.ejsを参考に/themes/landscape/layout/_widget/popular_posts.ejsを作ります。人気の記事を表示するコードになります。PPMixingRateの1.0は「人気の記事」、0.0は「関連する記事」になります。Hexoブログで関連記事や人気記事を生成するプラグインを作った(node.js製hexo)|おちゃカメラ。