mirror of
https://github.com/jekyll/jekyll.git
synced 2026-01-30 17:28:29 -05:00
This ensures that destination files for HTML posts, pages and collections always include the proper file extension (as defined by output_ext) regardless of permalink structure. This allows for URLs that contain no extension or trailing slash to still result in proper destination files with .html extensions. Because this change relies so heavily on output_ext accurately identifying the extension of the destination file, this change also removes the feature test that tested support for permalinks with a .htm extension. In order to support alternate file extensions, a future patch or plugin will need to modify the output_ext value, at which point everything else should work as expected.
86 lines
4.0 KiB
Gherkin
86 lines
4.0 KiB
Gherkin
Feature: Fancy permalinks
|
|
As a hacker who likes to blog
|
|
I want to be able to set permalinks
|
|
In order to make my blog URLs awesome
|
|
|
|
Scenario: Use none permalink schema
|
|
Given I have a _posts directory
|
|
And I have the following post:
|
|
| title | date | content |
|
|
| None Permalink Schema | 2009-03-27 | Totally nothing. |
|
|
And I have a configuration file with "permalink" set to "none"
|
|
When I run jekyll build
|
|
Then the _site directory should exist
|
|
And I should see "Totally nothing." in "_site/none-permalink-schema.html"
|
|
|
|
Scenario: Use pretty permalink schema
|
|
Given I have a _posts directory
|
|
And I have the following post:
|
|
| title | date | content |
|
|
| Pretty Permalink Schema | 2009-03-27 | Totally wordpress. |
|
|
And I have a configuration file with "permalink" set to "pretty"
|
|
When I run jekyll build
|
|
Then the _site directory should exist
|
|
And I should see "Totally wordpress." in "_site/2009/03/27/pretty-permalink-schema/index.html"
|
|
|
|
Scenario: Use pretty permalink schema for pages
|
|
Given I have an "index.html" page that contains "Totally index"
|
|
And I have an "awesome.html" page that contains "Totally awesome"
|
|
And I have an "sitemap.xml" page that contains "Totally uhm, sitemap"
|
|
And I have a configuration file with "permalink" set to "pretty"
|
|
When I run jekyll build
|
|
Then the _site directory should exist
|
|
And I should see "Totally index" in "_site/index.html"
|
|
And I should see "Totally awesome" in "_site/awesome/index.html"
|
|
And I should see "Totally uhm, sitemap" in "_site/sitemap.xml"
|
|
|
|
Scenario: Use custom permalink schema with prefix
|
|
Given I have a _posts directory
|
|
And I have the following post:
|
|
| title | category | date | content |
|
|
| Custom Permalink Schema | stuff | 2009-03-27 | Totally custom. |
|
|
And I have a configuration file with "permalink" set to "/blog/:year/:month/:day/:title/"
|
|
When I run jekyll build
|
|
Then the _site directory should exist
|
|
And I should see "Totally custom." in "_site/blog/2009/03/27/custom-permalink-schema/index.html"
|
|
|
|
Scenario: Use custom permalink schema with category
|
|
Given I have a _posts directory
|
|
And I have the following post:
|
|
| title | category | date | content |
|
|
| Custom Permalink Schema | stuff | 2009-03-27 | Totally custom. |
|
|
And I have a configuration file with "permalink" set to "/:categories/:title.html"
|
|
When I run jekyll build
|
|
Then the _site directory should exist
|
|
And I should see "Totally custom." in "_site/stuff/custom-permalink-schema.html"
|
|
|
|
Scenario: Use custom permalink schema with squished date
|
|
Given I have a _posts directory
|
|
And I have the following post:
|
|
| title | category | date | content |
|
|
| Custom Permalink Schema | stuff | 2009-03-27 | Totally custom. |
|
|
And I have a configuration file with "permalink" set to "/:month-:day-:year/:title.html"
|
|
When I run jekyll build
|
|
Then the _site directory should exist
|
|
And I should see "Totally custom." in "_site/03-27-2009/custom-permalink-schema.html"
|
|
|
|
Scenario: Use per-post permalink
|
|
Given I have a _posts directory
|
|
And I have the following post:
|
|
| title | date | permalink | content |
|
|
| Some post | 2013-04-14 | /custom/posts/1/ | bla bla |
|
|
When I run jekyll build
|
|
Then the _site directory should exist
|
|
And the _site/custom/posts/1 directory should exist
|
|
And I should see "bla bla" in "_site/custom/posts/1/index.html"
|
|
|
|
Scenario: Use per-post ending in .html
|
|
Given I have a _posts directory
|
|
And I have the following post:
|
|
| title | date | permalink | content |
|
|
| Some post | 2013-04-14 | /custom/posts/some.html | bla bla |
|
|
When I run jekyll build
|
|
Then the _site directory should exist
|
|
And the _site/custom/posts directory should exist
|
|
And I should see "bla bla" in "_site/custom/posts/some.html"
|