Merge pull request #324 from AlekseySpiridonov/add-custom-paginator-message
Merge pull request 324
This commit is contained in:
commit
32ce8914f4
|
@ -140,3 +140,17 @@ Which will generate following canonical_url:
|
|||
```html
|
||||
<link rel="canonical" href="https://example.com/title-of-your-post" />
|
||||
```
|
||||
|
||||
### Customizing title modifier for paginated pages
|
||||
|
||||
You can override the default title modifier for paginated pages from `Page %{current} of %{total} for ` to a string of your
|
||||
choice by setting a `seo_paginator_message` key in your `_config.yml`.
|
||||
|
||||
For example:
|
||||
|
||||
```yml
|
||||
seo_paginator_message: "%<current>s / %<total>s | "
|
||||
```
|
||||
|
||||
While the value can be any string text, we recommend using a Ruby string-template containing the variables `current` and `total`
|
||||
similar to the example above, to incorporate the current page-number and total number of paginated pages in the title.
|
||||
|
|
|
@ -189,8 +189,9 @@ module Jekyll
|
|||
|
||||
current = @context["paginator"]["page"]
|
||||
total = @context["paginator"]["total_pages"]
|
||||
paginator_message = site["seo_paginator_message"] || "Page %<current>s of %<total>s for "
|
||||
|
||||
return "Page #{current} of #{total} for " if current > 1
|
||||
format(paginator_message, :current => current, :total => total) if current > 1
|
||||
end
|
||||
|
||||
attr_reader :context
|
||||
|
|
|
@ -482,6 +482,27 @@ RSpec.describe Jekyll::SeoTag::Drop do
|
|||
end
|
||||
end
|
||||
|
||||
context "pagination" do
|
||||
let(:context) do
|
||||
make_context(
|
||||
{ :page => page, :site => site },
|
||||
"paginator" => { "page" => 2, "total_pages" => 10 }
|
||||
)
|
||||
end
|
||||
|
||||
it "render default pagination title" do
|
||||
expect(subject.send(:page_number)).to eq("Page 2 of 10 for ")
|
||||
end
|
||||
|
||||
context "render custom pagination title" do
|
||||
let(:config) { { "seo_paginator_message" => "%<current>s of %<total>s" } }
|
||||
|
||||
it "renders the correct page number" do
|
||||
expect(subject.send(:page_number)).to eq("2 of 10")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
it "exposes the JSON-LD drop" do
|
||||
expect(subject.json_ld).to be_a(Jekyll::SeoTag::JSONLDDrop)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue