diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-02 19:40:15 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-03 00:24:59 +0900 |
| commit | 2e629b7761af5bfe8b9ac5a9ce462c7c07878818 (patch) | |
| tree | 1fe03f5b2c0cb37d23b28c840a0913b984f32726 /services/nuldoc/lib | |
| parent | 3eb04f39e55091bf042d97f0762a21f3e78a4383 (diff) | |
| download | nsfisis.dev-2e629b7761af5bfe8b9ac5a9ce462c7c07878818.tar.gz nsfisis.dev-2e629b7761af5bfe8b9ac5a9ce462c7c07878818.tar.zst nsfisis.dev-2e629b7761af5bfe8b9ac5a9ce462c7c07878818.zip | |
Diffstat (limited to 'services/nuldoc/lib')
| -rw-r--r-- | services/nuldoc/lib/nuldoc/about/parse.rb | 3 | ||||
| -rw-r--r-- | services/nuldoc/lib/nuldoc/about/staff_record.rb | 6 | ||||
| -rw-r--r-- | services/nuldoc/lib/nuldoc/pages/about_page.rb | 19 |
3 files changed, 20 insertions, 8 deletions
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 |
