Fix rendering Liquid constructs in excerpts (#6970)
Merge pull request 6970
This commit is contained in:
parent
d0b907c2e6
commit
a89bba3712
|
@ -34,6 +34,25 @@ Feature: Post excerpts
|
||||||
And I should see exactly "<p>content for entry1.</p>" in "_site/2007/12/31/entry1.html"
|
And I should see exactly "<p>content for entry1.</p>" in "_site/2007/12/31/entry1.html"
|
||||||
And I should see exactly "<p>content for entry1.</p>" in "_site/index.html"
|
And I should see exactly "<p>content for entry1.</p>" in "_site/index.html"
|
||||||
|
|
||||||
|
Scenario: An excerpt with Liquid constructs from a post with a layout
|
||||||
|
Given I have an "index.html" page that contains "{% for post in site.posts %}{{ post.excerpt }}{% endfor %}"
|
||||||
|
And I have a configuration file with "baseurl" set to "/blog"
|
||||||
|
And I have a _posts directory
|
||||||
|
And I have a _layouts directory
|
||||||
|
And I have a post layout that contains "{{ page.excerpt }}"
|
||||||
|
And I have the following posts:
|
||||||
|
| title | date | layout | content |
|
||||||
|
| entry1 | 2007-12-31 | post | {{ 'assets/style.css' \| relative_url }} |
|
||||||
|
When I run jekyll build
|
||||||
|
Then I should get a zero exit status
|
||||||
|
And the _site directory should exist
|
||||||
|
And the _site/2007 directory should exist
|
||||||
|
And the _site/2007/12 directory should exist
|
||||||
|
And the _site/2007/12/31 directory should exist
|
||||||
|
And the "_site/2007/12/31/entry1.html" file should exist
|
||||||
|
And I should see exactly "<p>/blog/assets/style.css</p>" in "_site/2007/12/31/entry1.html"
|
||||||
|
And I should see exactly "<p>/blog/assets/style.css</p>" in "_site/index.html"
|
||||||
|
|
||||||
Scenario: An excerpt from a post with a layout which has context
|
Scenario: An excerpt from a post with a layout which has context
|
||||||
Given I have an "index.html" page that contains "{% for post in site.posts %}{{ post.excerpt }}{% endfor %}"
|
Given I have an "index.html" page that contains "{% for post in site.posts %}{{ post.excerpt }}{% endfor %}"
|
||||||
And I have a _posts directory
|
And I have a _posts directory
|
||||||
|
|
|
@ -9,9 +9,12 @@ module Jekyll
|
||||||
attr_writer :output
|
attr_writer :output
|
||||||
|
|
||||||
def_delegators :@doc, :site, :name, :ext, :extname,
|
def_delegators :@doc, :site, :name, :ext, :extname,
|
||||||
:render_with_liquid?, :collection, :related_posts,
|
:collection, :related_posts,
|
||||||
|
:coffeescript_file?, :yaml_file?,
|
||||||
:url, :next_doc, :previous_doc
|
:url, :next_doc, :previous_doc
|
||||||
|
|
||||||
|
private :coffeescript_file?, :yaml_file?
|
||||||
|
|
||||||
# Initialize this Excerpt instance.
|
# Initialize this Excerpt instance.
|
||||||
#
|
#
|
||||||
# doc - The Document.
|
# doc - The Document.
|
||||||
|
@ -84,6 +87,10 @@ module Jekyll
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def render_with_liquid?
|
||||||
|
!(coffeescript_file? || yaml_file? || !Utils.has_liquid_construct?(content))
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
# Internal: Extract excerpt from the content
|
# Internal: Extract excerpt from the content
|
||||||
|
|
Loading…
Reference in New Issue