Feature: YAML Front Matter
In order to specific options and data inline
Scenario: Rendering html (yaml)
Given the Server is running at "frontmatter-app"
When I go to "/front-matter-2.php"
Then I should see "
This is the title
"
Then I should see "<%= current_page.data.title %>"
Then I should not see "---"
When I go to "/raw-front-matter.php"
Then I should see ''
Then I should see "This is a document"
Then I should see "To be or not to be
"
Then I should see "The meaning of life is 42"
Then I should not see "..."
Then I should not see "layout: false"
Then I should not see "title: Pandoc likes trailing dots..."
Scenario: YAML not on first line, no encoding
Given the Server is running at "frontmatter-app"
When I go to "/front-matter-line-2.html"
Then I should see ""
Then I should see "---"
Scenario: YAML not on first line, with encoding
Given the Server is running at "frontmatter-app"
When I go to "/front-matter-encoding.html"
Then I should see "This is the title
"
Then I should not see "---"
Scenario: Rendering html (json)
Given the Server is running at "frontmatter-app"
When I go to "/json-front-matter.html"
Then I should see "This is the title
"
Then I should not see ";;;"
When I go to "/json-front-matter-2.php"
Then I should see "This is the title
"
Then I should see ""
Then I should see ";;;"
Scenario: JSON not on first line, with encoding
Given the Server is running at "frontmatter-app"
When I go to "/json-front-matter-encoding.html"
Then I should see "This is the title
"
Then I should not see ";;;"
Scenario: A template changes frontmatter during preview
Given the Server is running at "frontmatter-app"
And the file "source/front-matter-change.html.erb" has the contents
"""
---
title: Hello World
layout: false
---
<%= current_page.data.title %>
"""
When I go to "/front-matter-change.html"
Then I should see "Hello World"
And the file "source/front-matter-change.html.erb" has the contents
"""
---
title: Hola Mundo
layout: false
---
<%= current_page.data.title %>
"""
When I go to "/front-matter-change.html"
Then I should see "Hola Mundo"
Scenario: A template should handle an empty YAML feed
Given the Server is running at "frontmatter-app"
And the file "source/front-matter-change.html.erb" has the contents
"""
---
---
Hello World
"""
When I go to "/front-matter-change.html"
Then I should see "Hello World"