From 2e629b7761af5bfe8b9ac5a9ce462c7c07878818 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 2 Jun 2026 19:40:15 +0900 Subject: feat(about): add event date to staff section --- services/nuldoc/content/about/staff.toml | 11 +++++++++++ services/nuldoc/lib/nuldoc/about/parse.rb | 3 ++- services/nuldoc/lib/nuldoc/about/staff_record.rb | 6 +++++- services/nuldoc/lib/nuldoc/pages/about_page.rb | 19 +++++++++++++------ services/nuldoc/public/about/index.html | 22 +++++++++++----------- 5 files changed, 42 insertions(+), 19 deletions(-) (limited to 'services/nuldoc') diff --git a/services/nuldoc/content/about/staff.toml b/services/nuldoc/content/about/staff.toml index 792e0856..04691991 100644 --- a/services/nuldoc/content/about/staff.toml +++ b/services/nuldoc/content/about/staff.toml @@ -2,53 +2,64 @@ date = { from = "2023-03-23", to = "2023-03-25" } event = "PHPerKaigi 2023" role = "当日スタッフ" +url = "https://phperkaigi.jp/2023/" [[staff]] date = { from = "2024-03-07", to = "2024-03-09" } event = "PHPerKaigi 2024" role = "コアスタッフ" +url = "https://phperkaigi.jp/2024/" [[staff]] date = "2024-04-13" event = "PHP カンファレンス小田原 2024" role = "当日スタッフ" +url = "https://phpcon-odawara.jp/2024/" [[staff]] date = { from = "2024-08-22", to = "2024-08-24" } event = "iOSDC Japan 2024" role = "コアスタッフ" +url = "https://iosdc.jp/2024/" [[staff]] date = "2024-12-22" event = "PHP カンファレンス 2024" role = "当日スタッフ" +url = "https://phpcon.php.gr.jp/2024/" [[staff]] date = { from = "2025-03-21", to = "2025-03-23" } event = "PHPerKaigi 2025" role = "コアスタッフ" +url = "https://phperkaigi.jp/2025/" [[staff]] date = "2025-04-12" event = "PHP カンファレンス小田原 2025" role = "コアスタッフ" +url = "https://phpcon-odawara.jp/2025/" [[staff]] date = { from = "2025-09-19", to = "2025-09-21" } event = "iOSDC Japan 2025" role = "コアスタッフ" +url = "https://iosdc.jp/2025/" [[staff]] date = { from = "2026-03-20", to = "2026-03-22" } event = "PHPerKaigi 2026" role = "コアスタッフ" +url = "https://phperkaigi.jp/2026/" [[staff]] date = "2026-04-11" event = "PHP カンファレンス小田原 2026" role = "コアスタッフ" +url = "https://phpcon-odawara.jp/ja/2026/" [[staff]] date = "2026-10-03" event = "PHP カンファレンス愛媛 2026" role = "コアスタッフ" +url = "https://phpcon.ehime.jp/" diff --git a/services/nuldoc/lib/nuldoc/about/parse.rb b/services/nuldoc/lib/nuldoc/about/parse.rb index 9236807c..ff8ca1d1 100644 --- a/services/nuldoc/lib/nuldoc/about/parse.rb +++ b/services/nuldoc/lib/nuldoc/about/parse.rb @@ -12,7 +12,8 @@ module Nuldoc StaffRecord.new( date: parse_date(entry['date']), event: entry['event'], - role: entry['role'] + role: entry['role'], + url: entry['url'] ) end end diff --git a/services/nuldoc/lib/nuldoc/about/staff_record.rb b/services/nuldoc/lib/nuldoc/about/staff_record.rb index ea456153..134eee7c 100644 --- a/services/nuldoc/lib/nuldoc/about/staff_record.rb +++ b/services/nuldoc/lib/nuldoc/about/staff_record.rb @@ -1,7 +1,11 @@ module Nuldoc - StaffRecord = Data.define(:date, :event, :role) do + StaffRecord = Data.define(:date, :event, :role, :url) do def sort_date date.is_a?(Range) ? date.begin : date end + + def linkable? + url + end end end diff --git a/services/nuldoc/lib/nuldoc/pages/about_page.rb b/services/nuldoc/lib/nuldoc/pages/about_page.rb index 6c72ec09..2517e6e2 100644 --- a/services/nuldoc/lib/nuldoc/pages/about_page.rb +++ b/services/nuldoc/lib/nuldoc/pages/about_page.rb @@ -83,14 +83,21 @@ module Nuldoc h2 { text 'カンファレンススタッフ' } ul do sorted_staff.each do |record| + if record.date.is_a?(Range) + from_str = Revision.date_to_string(record.date.begin) + to_str = Revision.date_to_string(record.date.end) + label = "#{from_str}〜#{to_str}: #{record.event} (#{record.role})" + else + date_str = Revision.date_to_string(record.date) + label = "#{date_str}: #{record.event} (#{record.role})" + end li do - if record.date.is_a?(Range) - from_str = Revision.date_to_string(record.date.begin) - to_str = Revision.date_to_string(record.date.end) - text "#{from_str}〜#{to_str}: #{record.event} (#{record.role})" + if record.linkable? + a href: record.url, target: '_blank', rel: 'noreferrer' do + text label + end else - date_str = Revision.date_to_string(record.date) - text "#{date_str}: #{record.event} (#{record.role})" + text label end end end diff --git a/services/nuldoc/public/about/index.html b/services/nuldoc/public/about/index.html index 1f5a5626..b71e2fd0 100644 --- a/services/nuldoc/public/about/index.html +++ b/services/nuldoc/public/about/index.html @@ -153,37 +153,37 @@

カンファレンススタッフ

-- cgit v1.3.1