sverrirs / jekyll-paginate-v2

Pagination Generator for Jekyll 3 (enhanced replacement for the old built-in jekyll-paginate gem) ⛺
https://rubygems.org/gems/jekyll-paginate-v2
MIT License
521 stars 288 forks source link

Set page dir so link tag works with pagination pages #226

Open viv-li opened 3 years ago

viv-li commented 3 years ago

Hi there, I've not opened a new issue for this because it's essentially the same as the closed issue #104 - let me know if you'd like me to create a new issue for this PR.

To recap #104, currently the link tag doesn't work for paginated pages that aren't in the root directory. This is because when the paginated page is copied, page.dir isn't set. Then page.relative_path (which is what the link tag looks for) is in turn set by joining dir and name.

In this PR, I'm setting @dir in the set_url method after @url is set because I'm using the inherited dir method from the Jekyll Page class which uses the url to get dir.

I'm aware that this change means the set_url method doesn't just set the url. There are a few options:

  1. rename the method to something like set_url_dir
  2. create a new PaginationPage method called set_dir to be called after set_url is called in paginationModel.rb, or
  3. leave it as is if you think this is reasonable.