Skip to content

Commit 8f9dd6e

Browse files
committed
寄贈先をテーブル形式で出力するコードを追加
1 parent 8971cbd commit 8f9dd6e

File tree

1 file changed

+32
-10
lines changed

1 file changed

+32
-10
lines changed

get_dojo_list.rb

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212
INPUT_TEXT = IO.readlines('./get_dojo_list.txt')
1313
DOJO_DB = JSON.parse Net::HTTP.get(URI.parse 'https://coderdojo.jp/dojos.json'), symbolize_names: true
1414

15-
# CoderDojo の名前を使って、Dojo 一覧からデータを検索
16-
result = '<h3>🎁️ 寄贈先の CoderDojo 一覧<small style="white-space: nowrap;">(カッコ内は都道府県名となります)</small></h3>'
17-
result << "\n\n<ul>\n"
15+
# CoderDojo "名前を使って、Dojo 一覧からデータを検索
16+
result = "<h3>🎁️ 寄贈先の CoderDojo 一覧<small style='white-space: nowrap;'>(カッコ内は都道府県名となります)</small></h3>\n\n"
1817
dojo_name = ''
1918
dojo_list = []
2019
not_found = []
@@ -65,14 +64,37 @@
6564
not_found << dojo_name
6665
end
6766

67+
# coderdojo.jp の掲載順と同じ順序に揃える
6868
dojo_list.sort_by!{ |dojo| dojo[:order] }
69-
result << dojo_list.map{ |dojo| " <li><a href='#{dojo[:url]}'>#{dojo[:name]}</a><small>(#{dojo[:prefecture]})</small></li>" }.join("\n")
70-
result << "\n</ul>\n"
69+
70+
# 掲載方式 v1(リスト形式)e.g. https://news.coderdojo.jp/2022/07/12/donation-from-box-to-coderdojo/
71+
#result << "\n\n<ul>\n"
72+
#result << dojo_list.map{ |dojo| " <li><a href='#{dojo[:url]}'>#{dojo[:name]}</a><small>(#{dojo[:prefecture]})</small></li>" }.join("\n")
73+
#result << "\n</ul>\n"
74+
75+
# 掲載方式 v2(表形式)e.g. https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/
76+
result << "<table style='margin: auto; border-collapse: separate; border-spacing: 20px; table-layout: fixed; width: 80%;'>\n"
77+
result << " <tbody>\n"
78+
dojo_list.each_with_index do |dojo, i|p
79+
result << " <tr>\n" if i%3 == 0
80+
result << <<-DOJO_HTML
81+
<td style='text-align: center; width: 33%;'>
82+
<a href='#{dojo[:url]}'>
83+
<img src='#{dojo[:logo].gsub('.webp', '.png')}' width='100px'/><br>
84+
<span style='font-weight: bolder;'>#{dojo[:name]}<small>#{dojo[:prefecture]}</small></span>
85+
</a>
86+
</td>
87+
DOJO_HTML
88+
result << " </tr>\n" if i%3 == 2 || i == dojo_list.size - 1
89+
end
90+
result << " </tbody>\n"
91+
result << "</table>"
92+
7193
puts result
7294

73-
# 見つからなかった Dojo 等あれば出力
74-
puts ''
75-
puts '--- NOTE ---'
76-
puts "道場数: #{dojo_list.count}"
77-
not_found.each {|dojo_name| puts "Not-found or In-active: #{dojo_name}" }
95+
# デバッグ用コード -- 見つからなかった Dojo 等あれば出力
96+
#puts ''
97+
#puts '--- NOTE ---'
98+
#puts "道場数: #{dojo_list.count}"
99+
#not_found.each {|dojo_name| puts "Not-found or In-active: #{dojo_name}" }
78100

0 commit comments

Comments
 (0)