$(function () { // サブメニューの表示/非表示処理 $("ul.sub_menu").slideDown(); $("a.category").click(function () { $("ul.sub_menu").slideUp(); if ($("+ul", this).css("display") == "none") { $("+ul", this).slideDown(); } }); if (!location.pathname.startsWith("/biography/")) return; if ($('#side_menu .sub_menu').length === 0) return; const currentYear = 2026; const latestYearText = currentYear + "年"; // 最新年のリンクが無ければ追加 if ( $('#side_menu .sub_menu li a').filter(function () { return $(this).text().replace(/[^\d]/g, "") === String(currentYear); }).length === 0 ) { const newListItem = $( '
  • ' + latestYearText + '
  • ' ); const prevYearLink = $('#side_menu .sub_menu li a').filter(function () { return $(this).text().replace(/[^\d]/g, "") === String(currentYear - 1); }).parent(); if (prevYearLink.length) { newListItem.insertBefore(prevYearLink); } else { $('#side_menu .sub_menu').prepend(newListItem); } } // 前年のリンクが無ければ追加 if ( $('#side_menu .sub_menu li a').filter(function () { return $(this).text().replace(/[^\d]/g, "") === String(currentYear - 1); }).length === 0 ) { const prevListItem = $( '
  • ' + (currentYear - 1) + '年
  • ' ); const olderYearLink = $('#side_menu .sub_menu li a').filter(function () { return $(this).text().replace(/[^\d]/g, "") === String(currentYear - 2); }).parent(); const currentYearLink = $('#side_menu .sub_menu li a').filter(function () { return $(this).text().replace(/[^\d]/g, "") === String(currentYear); }).parent(); if (olderYearLink.length) { prevListItem.insertBefore(olderYearLink); } else if (currentYearLink.length) { currentYearLink.after(prevListItem); } else { $('#side_menu .sub_menu').prepend(prevListItem); } } // 各年リンクのhrefを正規化 $('#side_menu .sub_menu li a').each(function () { const yearText = $(this).text().replace(/[^\d]/g, ""); if (!yearText) return; const yearNum = parseInt(yearText, 10); if (yearNum === currentYear) { $(this).attr("href", "../biography/index.html"); } else { $(this).attr("href", "../biography/" + yearNum + ".html"); } }); // 現在ページの年を取得 var year = location.pathname.match(/\/biography\/(\d{4})\.html$/); var thisYear; if (year) { thisYear = year[1] + "年"; } else { // index.htmlの場合 thisYear = latestYearText; } // すべての年リンクから一度class="oth"を消す $('#side_menu .sub_menu li a').removeClass("oth"); // 「今の年」以外の年にclass="oth"をつける $('#side_menu .sub_menu li a').each(function () { if ($(this).text().trim() !== thisYear) { $(this).addClass("oth"); } }); // 下線()の処理 $('#side_menu .sub_menu li a').each(function () { $(this).html($(this).text()); }); $('#side_menu .sub_menu li a').each(function () { if ($(this).text().trim() === thisYear) { $(this).html("" + $(this).text() + ""); } }); });