From 279a31f7ce423b26ddd4e70f869285499c206df4 Mon Sep 17 00:00:00 2001 From: Christophe Robillard Date: Tue, 29 Sep 2026 20:04:56 +0200 Subject: [PATCH] add OpenGraph tags and a share image Co-Authored-By: Claude Opus 5.5 --- app/assets/images/charte/partage.png | Bin 0 -> 64414 bytes app/views/layouts/application.html.erb | 14 ++++++++++++++ app/views/moods/public.html.erb | 1 + spec/requests/home_spec.rb | 23 +++++++++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 app/assets/images/charte/partage.png create mode 100644 spec/requests/home_spec.rb diff --git a/app/assets/images/charte/partage.png b/app/assets/images/charte/partage.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc0ae9bcc067c34ab943dfd499175bbec3efcc4 GIT binary patch literal 64414 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%0A5kc8=0v;sr_1|PY= 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 OfG8@cJ*$v2`S3rlAbyGf literal 0 HcmV?d00001 diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 8abcd9d..5c5a51c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,6 +7,20 @@ + <% titre_partage = content_for(:title) || "Comment ça Kluk ?" %> + <% description = content_for(:description) || "Pas besoin de demander comment ça va : il suffit de regarder la tasse." %> + + + + + + + + "> + + + + <%= csrf_meta_tags %> <%= csp_meta_tag %> diff --git a/app/views/moods/public.html.erb b/app/views/moods/public.html.erb index c3f6753..7104f0a 100644 --- a/app/views/moods/public.html.erb +++ b/app/views/moods/public.html.erb @@ -1,4 +1,5 @@ <% content_for :title, "Comment ça Kluk chez #{@user.username} ?" %> +<% content_for :description, "Les humeurs #{de_nom(@user.username)}, jour après jour, au rythme des tasses posées sur la Kluk." %> <% history = MoodCalendarService.generate_calendar(@user, start_date: 5.months.ago.beginning_of_month, end_date: Date.current) %> <% selected_date = (Date.parse(params[:day]) rescue Date.current) %> <% selected = find_day(history, selected_date) if selected_date < Date.current %> diff --git a/spec/requests/home_spec.rb b/spec/requests/home_spec.rb new file mode 100644 index 0000000..84a01b0 --- /dev/null +++ b/spec/requests/home_spec.rb @@ -0,0 +1,23 @@ +require 'rails_helper' + +describe "Home", type: :request do + describe "GET / on a public user's subdomain" do + let(:user) { create(:user, username: "alice", public: true) } + + before { host! "#{user.username}.example.com" } + + it "exposes OpenGraph tags for sharing" do + get root_path, params: { day: "2026-01-15" } + + expect(response).to have_http_status(:ok) + page = Nokogiri::HTML(response.body) + meta = ->(attr, name) { page.at_css("meta[#{attr}='#{name}']")&.[]("content") } + + expect(meta.("property", "og:title")).to eq("Comment ça Kluk chez alice\u202F?") + expect(meta.("property", "og:description")).to start_with("Les humeurs d’alice") + expect(meta.("property", "og:url")).to eq("http://alice.example.com/") + expect(meta.("property", "og:image")).to match(%r{\Ahttp://alice\.example\.com/assets/charte/partage-\h+\.png\z}) + expect(meta.("name", "twitter:card")).to eq("summary_large_image") + end + end +end