diff options
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 |
