DEV: output sitelinks search tag on homepage only (#16157)
Output sitelinks search tag on homepage only
This commit is contained in:
parent
8c7a38449c
commit
7277a9fbb3
|
@ -338,17 +338,19 @@ module ApplicationHelper
|
|||
end
|
||||
|
||||
def render_sitelinks_search_tag
|
||||
json = {
|
||||
'@context' => 'http://schema.org',
|
||||
'@type' => 'WebSite',
|
||||
url: Discourse.base_url,
|
||||
potentialAction: {
|
||||
'@type' => 'SearchAction',
|
||||
target: "#{Discourse.base_url}/search?q={search_term_string}",
|
||||
'query-input' => 'required name=search_term_string',
|
||||
if current_page?('/') || current_page?(Discourse.base_path)
|
||||
json = {
|
||||
'@context' => 'http://schema.org',
|
||||
'@type' => 'WebSite',
|
||||
url: Discourse.base_url,
|
||||
potentialAction: {
|
||||
'@type' => 'SearchAction',
|
||||
target: "#{Discourse.base_url}/search?q={search_term_string}",
|
||||
'query-input' => 'required name=search_term_string',
|
||||
}
|
||||
}
|
||||
}
|
||||
content_tag(:script, MultiJson.dump(json).html_safe, type: 'application/ld+json')
|
||||
content_tag(:script, MultiJson.dump(json).html_safe, type: 'application/ld+json')
|
||||
end
|
||||
end
|
||||
|
||||
def gsub_emoji_to_unicode(str)
|
||||
|
|
|
@ -100,6 +100,45 @@ RSpec.describe ApplicationHelper do
|
|||
end
|
||||
end
|
||||
|
||||
describe "render_sitelinks_search_tag" do
|
||||
context "for non-subfolder install" do
|
||||
context "when on homepage" do
|
||||
it "will return sitelinks search tag" do
|
||||
helper.stubs(:current_page?).returns(false)
|
||||
helper.stubs(:current_page?).with('/').returns(true)
|
||||
expect(helper.render_sitelinks_search_tag).to include('"@type":"SearchAction"')
|
||||
end
|
||||
end
|
||||
context "when not on homepage" do
|
||||
it "will not return sitelinks search tag" do
|
||||
helper.stubs(:current_page?).returns(true)
|
||||
helper.stubs(:current_page?).with('/').returns(false)
|
||||
helper.stubs(:current_page?).with(Discourse.base_path).returns(false)
|
||||
expect(helper.render_sitelinks_search_tag).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
context "for subfolder install" do
|
||||
context "when on homepage" do
|
||||
it "will return sitelinks search tag" do
|
||||
Discourse.stubs(:base_path).returns('/subfolder-base-path/')
|
||||
helper.stubs(:current_page?).returns(false)
|
||||
helper.stubs(:current_page?).with(Discourse.base_path).returns(true)
|
||||
expect(helper.render_sitelinks_search_tag).to include('"@type":"SearchAction"')
|
||||
end
|
||||
end
|
||||
context "when not on homepage" do
|
||||
it "will not return sitelinks search tag" do
|
||||
Discourse.stubs(:base_path).returns('/subfolder-base-path/')
|
||||
helper.stubs(:current_page?).returns(true)
|
||||
helper.stubs(:current_page?).with('/').returns(false)
|
||||
helper.stubs(:current_page?).with(Discourse.base_path).returns(false)
|
||||
expect(helper.render_sitelinks_search_tag).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "application_logo_url" do
|
||||
context "when a dark color scheme is active" do
|
||||
before do
|
||||
|
|
Loading…
Reference in New Issue