]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/4911'
authorTom Hughes <tom@compton.nu>
Wed, 19 Jun 2024 14:17:24 +0000 (15:17 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 19 Jun 2024 14:17:24 +0000 (15:17 +0100)
app/assets/images/banners/StateoftheMapEurope_2023.png [deleted file]
app/assets/images/banners/StateoftheMapEurope_2024.png [new file with mode: 0644]
app/helpers/browse_tags_helper.rb
config/banners.yml
test/helpers/browse_tags_helper_test.rb

diff --git a/app/assets/images/banners/StateoftheMapEurope_2023.png b/app/assets/images/banners/StateoftheMapEurope_2023.png
deleted file mode 100644 (file)
index 33e9db9..0000000
Binary files a/app/assets/images/banners/StateoftheMapEurope_2023.png and /dev/null differ
diff --git a/app/assets/images/banners/StateoftheMapEurope_2024.png b/app/assets/images/banners/StateoftheMapEurope_2024.png
new file mode 100644 (file)
index 0000000..d0d1cee
Binary files /dev/null and b/app/assets/images/banners/StateoftheMapEurope_2024.png differ
index 722b0425d6f90c26192df9d6514ea3ecef5e598e..867fe1273c282f2ad20f391cd204ec38dcc0bb0e 100644 (file)
@@ -85,20 +85,15 @@ module BrowseTagsHelper
       title_section = value
     end
 
-    if title_section =~ /^([^#]*)#(.*)/
-      # Contains a reference to a section of the wikipedia article
-      # Must break it up to correctly build the url
-      title = Regexp.last_match(1)
-      encoded_section = "##{CGI.escape(Regexp.last_match(2).gsub(/ +/, '_'))}"
-    else
-      title = title_section
-      encoded_section = ""
-    end
+    title, section = title_section.split("#", 2)
+    url = "https://#{lang}.wikipedia.org/wiki/#{wiki_encode(title)}?uselang=#{I18n.locale}"
+    url += "##{wiki_encode(section)}" if section
+
+    { :url => url, :title => value }
+  end
 
-    {
-      :url => "https://#{lang}.wikipedia.org/wiki/#{title}?uselang=#{I18n.locale}#{encoded_section}",
-      :title => value
-    }
+  def wiki_encode(s)
+    u s.tr(" ", "_")
   end
 
   def wikidata_links(key, value)
index 8edbfa7e07557d7662c7089050f053c3508613b4..d9eb92c13e6619971eddff41e4fc0192d52051e7 100644 (file)
@@ -8,13 +8,12 @@ donate_2023:
     - [banners/donate_2023_1@2x.jpg, 2x]
   dark: true
   enddate: 2023-dec-31
-sotmeu_2023:
-  id: sotmeu_2023
-  alt: State of the Map Europe 2023
-  link: https://stateofthemap.eu/
-  img: banners/StateoftheMapEurope_2023.png
-  startdate: 2023-oct-05
-  enddate: 2023-nov-05
+sotmeu_2024:
+  id: sotmeu_2024
+  alt: State of the Map Europe 2024
+  link: https://tobilet.pl/state-of-the-map-europe-2024.html
+  img: banners/StateoftheMapEurope_2024.png
+  enddate: 2024-jul-18
 sotmasia_2023:
   id: sotmasia_2023
   alt: State of the Map Asia x Foss4G Thailand 2023
index f09eb3356e3ccc43d92ebb405f0683804db47194..9bd11f052d46d56256e4f050e6efb36b3104f08b 100644 (file)
@@ -198,17 +198,21 @@ class BrowseTagsHelperTest < ActionView::TestCase
     assert_equal "de:Test", link[:title]
 
     link = wikipedia_link("wikipedia", "de:Englischer Garten (München)#Japanisches Teehaus")
-    assert_equal "https://de.wikipedia.org/wiki/Englischer Garten (München)?uselang=en#Japanisches_Teehaus", link[:url]
+    assert_equal "https://de.wikipedia.org/wiki/Englischer_Garten_%28M%C3%BCnchen%29?uselang=en#Japanisches_Teehaus", link[:url]
     assert_equal "de:Englischer Garten (München)#Japanisches Teehaus", link[:title]
 
     link = wikipedia_link("wikipedia", "de:Alte Brücke (Heidelberg)#Brückenaffe")
-    assert_equal "https://de.wikipedia.org/wiki/Alte Brücke (Heidelberg)?uselang=en#Br%C3%BCckenaffe", link[:url]
+    assert_equal "https://de.wikipedia.org/wiki/Alte_Br%C3%BCcke_%28Heidelberg%29?uselang=en#Br%C3%BCckenaffe", link[:url]
     assert_equal "de:Alte Brücke (Heidelberg)#Brückenaffe", link[:title]
 
     link = wikipedia_link("wikipedia", "de:Liste der Baudenkmäler in Eichstätt#Brückenstraße 1, Ehemaliges Bauernhaus")
-    assert_equal "https://de.wikipedia.org/wiki/Liste der Baudenkmäler in Eichstätt?uselang=en#Br%C3%BCckenstra%C3%9Fe_1%2C_Ehemaliges_Bauernhaus", link[:url]
+    assert_equal "https://de.wikipedia.org/wiki/Liste_der_Baudenkm%C3%A4ler_in_Eichst%C3%A4tt?uselang=en#Br%C3%BCckenstra%C3%9Fe_1%2C_Ehemaliges_Bauernhaus", link[:url]
     assert_equal "de:Liste der Baudenkmäler in Eichstätt#Brückenstraße 1, Ehemaliges Bauernhaus", link[:title]
 
+    link = wikipedia_link("wikipedia", "en:Are Years What? (for Marianne Moore)")
+    assert_equal "https://en.wikipedia.org/wiki/Are_Years_What%3F_%28for_Marianne_Moore%29?uselang=en", link[:url]
+    assert_equal "en:Are Years What? (for Marianne Moore)", link[:title]
+
     I18n.with_locale "pt-BR" do
       link = wikipedia_link("wikipedia", "zh-classical:Test#Section")
       assert_equal "https://zh-classical.wikipedia.org/wiki/Test?uselang=pt-BR#Section", link[:url]
@@ -216,7 +220,7 @@ class BrowseTagsHelperTest < ActionView::TestCase
     end
 
     link = wikipedia_link("subject:wikipedia", "en:Catherine McAuley")
-    assert_equal "https://en.wikipedia.org/wiki/Catherine McAuley?uselang=en", link[:url]
+    assert_equal "https://en.wikipedia.org/wiki/Catherine_McAuley?uselang=en", link[:url]
     assert_equal "en:Catherine McAuley", link[:title]
 
     link = wikipedia_link("foo", "Test")