bingo: credit Claude and hackyourmom in the footer
Part of the list was collected and verified with Claude, and several entries came from the hackyourmom data-center map (Cat Eyes OSINT data). Say so in the footer of the card and data-center pages, in all three languages, and note that each entry was re-verified against operator sites and the press. Assisted-by: Claude:opus-5
This commit is contained in:
parent
79d28cae9e
commit
510998c0ed
5 changed files with 20 additions and 0 deletions
|
|
@ -61,6 +61,8 @@ module Bingo
|
|||
mw_types: { 'it' => 'ИТ', 'connected' => 'подв.', 'total' => 'общ.', 'design' => 'проект' },
|
||||
building: 'строится', mw: 'МВт', since: 'с %d г.', photo: 'Фото', source: 'Источник',
|
||||
close: 'Закрыть', no_incidents: 'Инцидентов не зафиксировано.',
|
||||
credits_ai: 'Информация собрана и проверена с помощью Claude (Anthropic).',
|
||||
credits_hym: 'Спасибо %{link} (данные Cat Eyes OSINT) за часть списка: каждая запись перепроверена по сайтам операторов и прессе.',
|
||||
footer: 'Данные из открытых источников (2025–2026). Клетка зачёркивается только по публичному источнику.',
|
||||
kinds: { 'strike' => 'Атака БПЛА', 'fire' => 'Пожар', 'outage' => 'Отключение', 'flood' => 'Затопление', 'cooling' => 'Перегрев', 'other' => 'Инцидент' },
|
||||
letters: %w[Б И Н Г О],
|
||||
|
|
@ -89,6 +91,8 @@ module Bingo
|
|||
mw_types: { 'it' => 'IT', 'connected' => 'connected', 'total' => 'total', 'design' => 'design' },
|
||||
building: 'under construction', mw: 'MW', since: 'since %d', photo: 'Photo', source: 'Source',
|
||||
close: 'Close', no_incidents: 'No incidents recorded.',
|
||||
credits_ai: 'Information collected and verified with the help of Claude (Anthropic).',
|
||||
credits_hym: 'Thanks to %{link} (data by Cat Eyes OSINT) for part of the list; every entry was re-verified against operator sites and the press.',
|
||||
footer: 'Open-source data (2025–2026). A cell is crossed out only with a public source.',
|
||||
kinds: { 'strike' => 'Drone strike', 'fire' => 'Fire', 'outage' => 'Outage', 'flood' => 'Flood', 'cooling' => 'Overheating', 'other' => 'Incident' },
|
||||
letters: %w[B I N G O],
|
||||
|
|
@ -117,6 +121,8 @@ module Bingo
|
|||
mw_types: { 'it' => 'ІТ', 'connected' => 'підв.', 'total' => 'заг.', 'design' => 'проєкт' },
|
||||
building: 'будується', mw: 'МВт', since: 'з %d р.', photo: 'Фото', source: 'Джерело',
|
||||
close: 'Закрити', no_incidents: 'Інцидентів не зафіксовано.',
|
||||
credits_ai: 'Інформацію зібрано й перевірено за допомогою Claude (Anthropic).',
|
||||
credits_hym: 'Дякуємо %{link} (дані Cat Eyes OSINT) за частину списку: кожен запис перевірено за сайтами операторів і пресою.',
|
||||
footer: 'Дані з відкритих джерел (2025–2026). Клітинка закреслюється лише за публічним джерелом.',
|
||||
kinds: { 'strike' => 'Атака БПЛА', 'fire' => 'Пожежа', 'outage' => 'Відключення', 'flood' => 'Затоплення', 'cooling' => 'Перегрів', 'other' => 'Інцидент' },
|
||||
letters: %w[Б І Н Г О],
|
||||
|
|
|
|||
|
|
@ -215,6 +215,16 @@ class BingoTest < Minitest::Test
|
|||
assert_nil @dcs[0].refresh.provider
|
||||
end
|
||||
|
||||
def test_footer_credits_in_every_language
|
||||
{ 'ru' => 'с помощью Claude', 'en' => 'with the help of Claude', 'uk' => 'за допомогою Claude' }.each do |l, text|
|
||||
get "/#{l}"
|
||||
assert_includes last_response.body, text
|
||||
assert_includes last_response.body, '<a href="https://hackyourmom.com/en/karta-data-czentriv-na-rasii/" target="_blank" rel="noopener">hackyourmom</a>'
|
||||
end
|
||||
get "/en/dc/#{@dcs[0].slug}"
|
||||
assert_includes last_response.body, 'hackyourmom</a>'
|
||||
end
|
||||
|
||||
def test_robots_and_sitemap_are_the_bingos_own
|
||||
get '/robots.txt'
|
||||
assert last_response.ok?
|
||||
|
|
|
|||
2
views/bingo/_credits.erb
Normal file
2
views/bingo/_credits.erb
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<p class="credits"><%= t(:credits_ai) %>
|
||||
<%== format(Rack::Utils.escape_html(t(:credits_hym)), link: '<a href="https://hackyourmom.com/en/karta-data-czentriv-na-rasii/" target="_blank" rel="noopener">hackyourmom</a>') %></p>
|
||||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
<footer>
|
||||
<p><%= t(:footer) %></p>
|
||||
<%== erb :_credits, layout: false %>
|
||||
<p>© <%= Date.today.year %> <a href="https://asxp.io">asxp.io</a></p>
|
||||
</footer>
|
||||
</main>
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@
|
|||
|
||||
<footer>
|
||||
<p><%= t(:footer) %></p>
|
||||
<%== erb :_credits, layout: false %>
|
||||
<p>© <%= Date.today.year %> <a href="https://asxp.io">asxp.io</a></p>
|
||||
</footer>
|
||||
</main>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue