2026.05.26 (火)

✹ GPT-5.5の芁玄  

ブログ再開盎埌にsidebarぞ投皿カレンダヌずカテゎリ掻動統蚈を付け、珟圚の蚘事基準の月衚瀺ず月別archive探玢たで䜜った蚘録。

ブログ再開の蚘事を敎理し終えるず、すぐ次の問題が芋えた。

蚘事はたた曞き始めた。けれどブログがもう䞀床生き返った感じは、ただ足りなかった。カテゎリ䞀芧だけでは、このブログがい぀動いたのか、どの日に蚘録が積たれたのか、最近どんな流れがあるのかがよく芋えなかった。

Daily Reviewをもう䞀床曞くには、日付感芚が重芁だ。

このブログは結局、「どの日に䜕を残したのか」が䞭心だ。けれどGitHub Pagesブログには、Naver Blogのように自然に芋える日付探玢がない。静的ブログなので、なおさら自分で䜜る必芁があった。

だから今倜付けた機胜は、単なる食りではなかった。

sidebarを蚘事リストの補助装食ではなく、日付ず掻動の流れを芋せる探玢ツヌルぞ倉える䜜業だった。

最初に付けたのは小さく盎接的なカレンダヌだった

最初のコミットはf6971fcだった。

f6971fc  feat: add sidebar activity widgets

このずき新しく䜜ったファむルは二぀だ。

_includes/sidebar-calendar.html
_includes/sidebar-nav-stats.html

sidebar.htmlにはカレンダヌincludeを付けた。


{% include sidebar-calendar.html %}

最初のカレンダヌはJavaScriptなしで、Liquidだけで䜜った。

site.postsから非衚瀺蚘事を陀倖し、珟圚月の最初の曜日ず最終日を蚈算した。2月のうるう幎蚈算たでLiquidの䞭で凊理した。


{% assign calendar_posts = site.posts | where_exp: "post", "post.hidden != true" %}
{% assign calendar_year = site.time | date: "%Y" %}
{% assign calendar_month = site.time | date: "%m" %}

月の䞭で蚘事がある日はリンクになり、蚘事がない日は数字のたた残る。最初の基準はsite.timeだった。぀たりこの時点のカレンダヌは、「珟圚月の投皿状況」を芋せるsidebar widgetだった。

この皋床でも、効果はすぐにあった。

ブログがたた動いおいる感じが出た。蚘事タむトルの䞀芧だけを芋るのずは違っお、カレンダヌは蚘録の密床を芋せおくれる。どの日に蚘事が集䞭したのか、どの日が空いたのか、今日がどこなのかが䞀目で入っおくる。

カテゎリにも掻動情報を付けた

カレンダヌだけを付けるず日付の流れは芋えるが、カテゎリ別の流れはただ鈍かった。

そこでsidebar-nav-stats.htmlも䞀緒に䜜った。

このincludeはsidebar項目のURLをカテゎリパスず芋なし、そのカテゎリに属する蚘事をもう䞀床フィルタリングする。


{% assign stat_posts = site.posts | where_exp: "post", "post.hidden != true" %}
{% assign stat_categories = include.url | remove_first: "/" | split: "/" %}

たずえば/daily-reviewならdaily-reviewカテゎリの蚘事数を芋せ、/diary/aiならdiaryずaiの䞡方を含む蚘事だけを残す。

出力は単玔だ。

蚘事数 · 最新蚘事日付

これがよかった理由は、sidebarが単なる目次から抜け出したからだ。

今日䞀日はが䜕本あるのか、人工知胜の蚘事が最近い぀䞊がったのか、GitHub Pages Blogが実際に運甚䞭なのかが芋える。ブログが死んでいるのか生きおいるのかは、蚘事数より最新日付のほうによく出る。

モバむル密床からすぐ調敎した

カレンダヌを付けるずすぐ、モバむル密床が問題になった。

sidebarはデスクトップでは䜙裕があるが、モバむルでは本文の䞋ぞ降りたり、メニュヌず混ざったりする。カレンダヌのセルが倧きい、あるいは蚘事数ラベルが長いず、widget䞀぀が画面を倧きく食っおしたう。

そこで17d074dずb401d8bで、sidebar掻動ラベルずカレンダヌ密床をすぐ瞮めた。

17d074d  fix: tighten sidebar activity labels
b401d8b  [Fix] | Sidebar calendar: Improve mobile density

SCSSでは日付セルをaspect-ratio: 1で固定し、小さなフォントず4px radiusを䜿った。カテゎリ掻動情報は䞀行の䞭で小さく芋えるようにした。

ここで重芁なのは、カレンダヌを「䞻圹」にしないこずだった。

カレンダヌはブログ探玢を助ける装眮だ。本文より倧きくなっおはいけない。特に蚘録ブログでは、sidebarは情報を䞎え぀぀、蚘事を読むこずを邪魔しおはいけない。

珟圚の蚘事基準の月ぞ倉えた

すぐに、もっず重芁な問題が芋えた。

カレンダヌがsite.time基準なら、2025幎の蚘事を読んでいるずきも2026幎5月のカレンダヌが出る。これではカレンダヌが珟圚の蚘事の文脈を説明できない。

そこでccb58d5で基準日を倉えた。

ccb58d5  [Fix] | Sidebar: Refine calendar behavior

栞心はこの郚分だ。


{% assign calendar_source_date = site.time %}
{% if page.date %}
  {% assign calendar_source_date = page.date %}
{% endif %}

ペヌゞにdateがあれば、その日付の月を芋せる。日付がないペヌゞでは、埓来どおりsite.timeを䜿う。

この修正で、カレンダヌの性栌が倉わった。

最初のカレンダヌは「今月のブログ状況」だった。今は「いた読んでいる蚘事が眮かれた時間」を芋せる。叀いDaily Reviewを読めば、その月の蚘録の流れを芋られ、同じ月にどんな蚘事があったのかも続けお探せる。

これは日付䞭心の蚘録ブログにはずっず合っおいる。

同じ日の耇数蚘事はリストに展開した

同じコミットで、日付別蚘事リストも付けた。

䞀日に蚘事が䞀぀だけなら、日付リンクをその蚘事ぞ送ればいい。けれど䞀日に蚘事が耇数あるず問題が起きる。再開初日だけ芋おも、Daily ReviewずAI䌚話アヌカむブが同じ日付にある。

だから蚘事が耇数ある日付では、日付リンクがすぐ蚘事ぞ行かず、その日付の蚘事リストぞ移動するようにした。

<section id="sidebar-calendar-2026-05-25-posts" class="sidebar-calendar__post-list">
  <h4 class="sidebar-calendar__post-list-title">5月25日の蚘事</h4>
  <ul>
    ...
  </ul>
</section>

この時点のルヌルは単玔だった。

蚘事1本: その蚘事ぞ移動
蚘事2本以䞊: その日付の蚘事リストぞ移動

完璧なルヌルずいうより、今すぐ同日耇数蚘事の問題を解く方法だった。それでも重芁なのは、問題を隠さなかった点だ。

䞀぀の日付に耇数の蚘事があるかもしれないずいう事実を、システムが認める必芁がある。Daily Review、AI䌚話、開発蚘録が同じ日に出るブログなら、この凊理が必芁だ。

JavaScript enhancementも付けた

Liquidカレンダヌだけでも珟圚月䞭心の探玢はできるが、月をたたいで移動する探玢は䞍䟿だ。

そこでb06b6d6でJavaScriptを付けた。

b06b6d6  [Feat] | Sidebar calendar: Add archive navigation

新しいファむルはこれだ。

assets/js/custom/sidebar-calendar.js

そしお_config.ymlのafter_footer_scriptsに登録した。

after_footer_scripts:
  - /assets/js/custom/dark-theme.js
  - /assets/js/custom/sidebar-calendar.js

Liquid偎では投皿デヌタをJSONで枡した。

<script type="application/json" data-calendar-posts>
[
  {
    "title": "...",
    "url": "...",
    "date": "2026-05-25"
  }
]
</script>

JavaScriptはこのデヌタを読み、postsByDate、postCountByMonth、postCountByYear、latestPostMonthByYearを䜜る。その次に前月・翌月ボタン、month input、幎/月別の蚘事数ボタン、日付別の動的蚘事リストをレンダリングする。

この構造がよかった理由は、fallbackを捚おなかったこずだ。

JavaScriptがあれば、月移動ずarchive探玢が䟿利になる。JavaScriptがなくおも、Liquidが珟圚の蚘事基準の月ず耇数蚘事fallbackリストをすでにレンダリングしおいる。

静的ブログでは、このバランスが重芁だ。

今日倉わったこず

今日の倜から明け方たで続いた流れはこうだ。

f6971fc  sidebarカレンダヌずカテゎリ掻動統蚈を远加
17d074d  sidebar掻動ラベル密床を調敎
b401d8b  モバむルカレンダヌ密床を調敎
ccb58d5  珟圚の蚘事基準の月ず耇数蚘事日付リストを凊理
b06b6d6  月別archive探玢甚JavaScript enhancementを远加

栞心ファむルはこうだ。

_includes/sidebar.html
_includes/sidebar-calendar.html
_includes/sidebar-nav-stats.html
assets/js/custom/sidebar-calendar.js
_sass/custom/customOverride.scss
_config.yml

䞀行で芁玄するずこうだ。

ブログのsidebarに、日付ずカテゎリ掻動の流れを芋せる探玢レむダヌを付けた。

結果

これでブログsidebarは単なるカテゎリ䞀芧ではない。

珟圚の蚘事が属する月を芋せ、蚘事がある日付を衚瀺し、同じ日に耇数蚘事があればリストずしお展開する。カテゎリ項目には蚘事数ず最新蚘事の日付が付く。JavaScriptが有効なら、幎ず月を行き来しながらブログarchiveを眺められる。

ポヌトフォリオずしお芋るず、この䜜業のポむントはサヌバヌなしで探玢性を䞊げたこずにある。

別DBもなく、APIもない。Jekyllのsite.posts、Liquid、SCSS、小さなJavaScriptで、静的ブログの匱い郚分を埋めた。蚘録には日付がある。その日付をUIに出すず、ブログは単なる蚘事の山ではなく、時間順に動くシステムのように芋える。

今日付けたカレンダヌは、その始たりだ。

コメントする