From: Anton Khorev Date: Wed, 7 Aug 2024 05:13:29 +0000 (+0300) Subject: Pass properties hash to OpenGraph helper X-Git-Tag: live~306^2~2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/43f544053738dbf84ca32941b65dc3c30251b22b Pass properties hash to OpenGraph helper --- diff --git a/app/helpers/open_graph_helper.rb b/app/helpers/open_graph_helper.rb index a2c429ed7..dbd204462 100644 --- a/app/helpers/open_graph_helper.rb +++ b/app/helpers/open_graph_helper.rb @@ -1,7 +1,7 @@ module OpenGraphHelper require "addressable/uri" - def opengraph_tags(title, og_image, og_image_alt) + def opengraph_tags(title, properties) tags = { "og:site_name" => t("layouts.project_name.title"), "og:title" => title || t("layouts.project_name.title"), @@ -9,7 +9,7 @@ module OpenGraphHelper "og:url" => url_for(:only_path => false), "og:description" => t("layouts.intro_text") }.merge( - opengraph_image_properties(og_image, og_image_alt) + opengraph_image_properties(properties) ) safe_join(tags.map do |property, content| @@ -19,13 +19,13 @@ module OpenGraphHelper private - def opengraph_image_properties(og_image, og_image_alt) + def opengraph_image_properties(properties) begin - if og_image - properties = {} - properties["og:image"] = Addressable::URI.join(root_url, og_image).normalize - properties["og:image:alt"] = og_image_alt if og_image_alt - return properties + if properties["og:image"] + image_properties = {} + image_properties["og:image"] = Addressable::URI.join(root_url, properties["og:image"]).normalize + image_properties["og:image:alt"] = properties["og:image:alt"] if properties["og:image:alt"] + return image_properties end rescue Addressable::URI::InvalidURIError # return default image diff --git a/app/views/layouts/_meta.html.erb b/app/views/layouts/_meta.html.erb index f09449761..822238894 100644 --- a/app/views/layouts/_meta.html.erb +++ b/app/views/layouts/_meta.html.erb @@ -21,7 +21,7 @@ <% end -%> <%= tag.link :rel => "search", :type => "application/opensearchdescription+xml", :title => "OpenStreetMap Search", :href => asset_path("osm.xml") %> <%= tag.meta :name => "description", :content => "OpenStreetMap is the free wiki world map." %> -<%= opengraph_tags(@title, @og_image, @og_image_alt) %> +<%= opengraph_tags(@title, "og:image" => @og_image, "og:image:alt" => @og_image_alt) %> <% if flash[:matomo_goal] -%> <%= tag.meta :name => "matomo-goal", :content => flash[:matomo_goal] %> <% end -%>