From 310f2f142c9942216238e8b8bd8dfc36ed37c3ff Mon Sep 17 00:00:00 2001 From: Justin DiRose Date: Mon, 5 Oct 2020 16:17:38 -0500 Subject: [PATCH] FIX: Handle encoding on onebox excerpt Oneboxes were breaking with bad encoding using the out of the box excerpt on the topic. Mimicked core behaviors instead. --- .../knowledge_explorer/knowledge_explorer_controller.rb | 3 +++ .../knowledge_explorer/knowledge_explorer/get_topic.html.erb | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/knowledge_explorer/knowledge_explorer_controller.rb b/app/controllers/knowledge_explorer/knowledge_explorer_controller.rb index 17914cb..968da5b 100644 --- a/app/controllers/knowledge_explorer/knowledge_explorer_controller.rb +++ b/app/controllers/knowledge_explorer/knowledge_explorer_controller.rb @@ -27,6 +27,9 @@ module KnowledgeExplorer raise Discourse::NotFound end + @excerpt = @topic.posts[0].excerpt(500, { strip_links: true, text_entities: true }) if @topic.posts[0].present? + @excerpt = (@excerpt || "").gsub(/\n/, ' ').strip + query["topic"] = get_topic(@topic, current_user) end diff --git a/app/views/knowledge_explorer/knowledge_explorer/get_topic.html.erb b/app/views/knowledge_explorer/knowledge_explorer/get_topic.html.erb index a8c37f3..5adfc1e 100644 --- a/app/views/knowledge_explorer/knowledge_explorer/get_topic.html.erb +++ b/app/views/knowledge_explorer/knowledge_explorer/get_topic.html.erb @@ -1,3 +1,3 @@ <% content_for :head do %> - <%= raw crawlable_meta_data(title: @topic["title"], description: @topic["excerpt"]) if @topic %> + <%= raw crawlable_meta_data(title: @topic["title"], description: @excerpt) if @topic %> <% end %>