Adding possibility to change pagination message by config file
Default message can by overriten by "paginator_message" parameter in _config.yml
This commit is contained in:
parent
bb04d06a3e
commit
39269edc33
|
@ -138,3 +138,12 @@ Which will generate following canonical_url:
|
|||
```html
|
||||
<link rel="canonical" href="http://yoursite.com/title-of-your-post" />
|
||||
```
|
||||
|
||||
### Changing title message for paginated page
|
||||
|
||||
You can override default title message for paginated page from `Page %<current>s of %<total>s for ` to custom message by adding parameter to `_config.yml`.
|
||||
For example:
|
||||
```yml
|
||||
paginator_message: "%<current>s / %<total>s |"
|
||||
```
|
||||
For key **paginator_message** please use string template with two variables `current` and `total`.
|
|
@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|||
spec.require_paths = ["lib"]
|
||||
|
||||
spec.add_dependency "jekyll", "~> 3.3"
|
||||
spec.add_development_dependency "bundler", "~> 1.15"
|
||||
spec.add_development_dependency "bundler"
|
||||
spec.add_development_dependency "html-proofer", "~> 3.7"
|
||||
spec.add_development_dependency "rspec", "~> 3.5"
|
||||
spec.add_development_dependency "rubocop-jekyll", "~> 0.4"
|
||||
|
|
|
@ -189,8 +189,9 @@ module Jekyll
|
|||
|
||||
current = @context["paginator"]["page"]
|
||||
total = @context["paginator"]["total_pages"]
|
||||
paginator_message = site["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) { { "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
|
||||
|
|
|
@ -4,6 +4,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
|||
require "jekyll"
|
||||
require "jekyll-seo-tag"
|
||||
require "html-proofer"
|
||||
require "jekyll-paginate"
|
||||
|
||||
# Monkey patch Jekyll::Drops::Drop so Rspec's `have_key` works as expected
|
||||
module Jekyll
|
||||
|
|
Loading…
Reference in New Issue