Feature: Site pagination In order to paginate my blog As a blog's user I want divide the posts in several pages Scenario Outline: Paginate with N posts per page Given I have a configuration file with "paginate" set to "" And I have a _layouts directory And I have an "index.html" page that contains "{{ paginator.posts.size }}" And I have a _posts directory And I have the following posts: | title | date | layout | content | | Wargames | 2009-03-27 | default | The only winning move is not to play. | | Wargames2 | 2009-04-27 | default | The only winning move is not to play2. | | Wargames3 | 2009-05-27 | default | The only winning move is not to play3. | | Wargames4 | 2009-06-27 | default | The only winning move is not to play4. | When I run jekyll build Then the _site/page directory should exist And the "_site/page/index.html" file should exist And I should see "" in "_site/page/index.html" And the "_site/page/index.html" file should not exist Examples: | num | exist | posts | not_exist | | 1 | 4 | 1 | 5 | | 2 | 2 | 2 | 3 | | 3 | 2 | 1 | 3 | Scenario Outline: Setting a custom pagination path Given I have a configuration file with: | key | value | | paginate | 1 | | paginate_path | /blog/page-:num | | permalink | /blog/:year/:month/:day/:title | And I have a blog directory And I have an "blog/index.html" page that contains "{{ paginator.posts.size }}" And I have a _posts directory And I have the following posts: | title | date | layout | content | | Wargames | 2009-03-27 | default | The only winning move is not to play. | | Wargames2 | 2009-04-27 | default | The only winning move is not to play2. | | Wargames3 | 2009-05-27 | default | The only winning move is not to play3. | | Wargames4 | 2009-06-27 | default | The only winning move is not to play4. | When I run jekyll build Then the _site/blog/page- directory should exist And the "_site/blog/page-/index.html" file should exist And I should see "" in "_site/blog/page-/index.html" And the "_site/blog/page-/index.html" file should not exist Examples: | exist | posts | not_exist | | 2 | 1 | 5 | | 3 | 1 | 6 | | 4 | 1 | 7 | Scenario Outline: Setting a custom pagination path without an index.html in it Given I have a configuration file with: | key | value | | paginate | 1 | | paginate_path | /blog/page/:num | | permalink | /blog/:year/:month/:day/:title | And I have a blog directory And I have an "blog/index.html" page that contains "{{ paginator.posts.size }}" And I have an "index.html" page that contains "Don't pick me!" And I have a _posts directory And I have the following posts: | title | date | layout | content | | Wargames | 2009-03-27 | default | The only winning move is not to play. | | Wargames2 | 2009-04-27 | default | The only winning move is not to play2. | | Wargames3 | 2009-05-27 | default | The only winning move is not to play3. | | Wargames4 | 2009-06-27 | default | The only winning move is not to play4. | When I run jekyll build Then the _site/blog/page/ directory should exist And the "_site/blog/page//index.html" file should exist And I should see "" in "_site/blog/page//index.html" And the "_site/blog/page//index.html" file should not exist Examples: | exist | posts | not_exist | | 2 | 1 | 5 | | 3 | 1 | 6 | | 4 | 1 | 7 |