Merge branch 'master' into copy-better

This commit is contained in:
Ben Balter 2016-03-02 13:39:27 -05:00
commit 0654e2f65e
27 changed files with 110 additions and 38 deletions

View File

@ -9,7 +9,6 @@ rvm:
- &ruby1 2.3.0 - &ruby1 2.3.0
- &ruby2 2.2.4 - &ruby2 2.2.4
- &ruby3 2.1.8 - &ruby3 2.1.8
- &ruby4 2.0.0-p648
- &jruby jruby-9.0.4.0 - &jruby jruby-9.0.4.0
- &rhead ruby-head - &rhead ruby-head

View File

@ -55,7 +55,7 @@ end
group :jekyll_optional_dependencies do group :jekyll_optional_dependencies do
gem "toml", "~> 0.1.0" gem "toml", "~> 0.1.0"
gem "coderay", "~> 1.1.0" gem "coderay", "~> 1.1.0"
gem "jekyll-docs", path: '../docs' if Dir.exist?('../docs') gem "jekyll-docs", :path => '../docs' if Dir.exist?('../docs') && ENV['JEKYLL_VERSION']
gem "jekyll-gist", "~> 1.0" gem "jekyll-gist", "~> 1.0"
gem "jekyll-feed", "~> 0.1.3" gem "jekyll-feed", "~> 0.1.3"
gem "jekyll-coffeescript", "~> 1.0" gem "jekyll-coffeescript", "~> 1.0"
@ -80,6 +80,7 @@ group :site do
if ENV["PROOF"] if ENV["PROOF"]
gem "html-proofer", "~> 2.0" gem "html-proofer", "~> 2.0"
end end
gem "jemoji" gem "jemoji"
gem "jekyll-sitemap" gem "jekyll-sitemap"
gem "jekyll-seo-tag", "~> 1.1" gem "jekyll-seo-tag", "~> 1.1"

View File

@ -2,14 +2,32 @@
## HEAD ## HEAD
### Minor Enhancements
* Stop testing with Ruby 2.0.x, which is EOL'd. (#4381)
* Allow collections to have documents that have no file extension (#4545)
* Add size property to group_by result (#4557)
### Bug Fixes
* Site template: Escape title and description where it is used in HTML (#4606)
* Document#date: drafts which have no date should use source file mtime (#4611)
* Filters#time: clone an input Time so as to be non-destructive (#4590)
* Doctor: fix issue where `--config` wasn't a recognized flag (#4598)
* Ensures related_posts are only set for a post (#4620)
### Development Fixes ### Development Fixes
* Add project maintainer profile links (#4591) * Add project maintainer profile links (#4591)
* Fix state leakage in Kramdown test (#4618)
### Site Enhancements ### Site Enhancements
* Add jekyll-seo-tag, jekyll-avatar, and jekyll-sitemap to the site (#4553) * Add jekyll-seo-tag, jekyll-avatar, and jekyll-sitemap to the site (#4553)
* Add Google search query to /docs/help/ (#4589) * Add Google search query to /docs/help/ (#4589)
* Upgrading, documentation (#4597)
* Add 'view source' entry (#4602)
* Add jekyll-video-embed to list of third-party plugins. (#4621)
## 3.1.2 / 2016-02-19 ## 3.1.2 / 2016-02-19

View File

@ -10,7 +10,6 @@ Feature: Collections
When I run jekyll build When I run jekyll build
Then I should get a zero exit status Then I should get a zero exit status
And the _site directory should exist And the _site directory should exist
And I should see "Collections: <p>Use <code class=\"highlighter-rouge\">Jekyll.configuration</code> to build a full configuration for use w/Jekyll.</p>\n\n<p>Whatever: foo.bar</p>\n<p>Signs are nice</p>\n<p><code class=\"highlighter-rouge\">Jekyll.sanitized_path</code> is used to make sure your path is in your source.</p>\n<p>Run your generators! default</p>\n<p>Page without title.</p>\n<p>Run your generators! default</p>" in "_site/index.html"
And the "_site/methods/configuration.html" file should not exist And the "_site/methods/configuration.html" file should not exist
Scenario: Rendered collection Scenario: Rendered collection
@ -77,8 +76,8 @@ Feature: Collections
""" """
When I run jekyll build When I run jekyll build
Then I should get a zero exit status Then I should get a zero exit status
And the _site directory should exist Then the _site directory should exist
And I should see "Collections: _methods/configuration.md _methods/escape-\+ #%20\[\].md _methods/sanitized_path.md _methods/site/generate.md _methods/site/initialize.md _methods/um_hi.md" in "_site/index.html" And I should see "Collections: _methods/collection/entries _methods/configuration.md _methods/escape-\+ #%20\[\].md _methods/sanitized_path.md _methods/site/generate.md _methods/site/initialize.md _methods/um_hi.md" in "_site/index.html"
Scenario: Collections specified as an hash Scenario: Collections specified as an hash
Given I have an "index.html" page that contains "Collections: {% for method in site.methods %}{{ method.relative_path }} {% endfor %}" Given I have an "index.html" page that contains "Collections: {% for method in site.methods %}{{ method.relative_path }} {% endfor %}"
@ -90,8 +89,8 @@ Feature: Collections
""" """
When I run jekyll build When I run jekyll build
Then I should get a zero exit status Then I should get a zero exit status
And the _site directory should exist Then the _site directory should exist
And I should see "Collections: _methods/configuration.md _methods/escape-\+ #%20\[\].md _methods/sanitized_path.md _methods/site/generate.md _methods/site/initialize.md _methods/um_hi.md" in "_site/index.html" And I should see "Collections: _methods/collection/entries _methods/configuration.md _methods/escape-\+ #%20\[\].md _methods/sanitized_path.md _methods/site/generate.md _methods/site/initialize.md _methods/um_hi.md" in "_site/index.html"
Scenario: All the documents Scenario: All the documents
Given I have an "index.html" page that contains "All documents: {% for doc in site.documents %}{{ doc.relative_path }} {% endfor %}" Given I have an "index.html" page that contains "All documents: {% for doc in site.documents %}{{ doc.relative_path }} {% endfor %}"
@ -103,11 +102,11 @@ Feature: Collections
""" """
When I run jekyll build When I run jekyll build
Then I should get a zero exit status Then I should get a zero exit status
And the _site directory should exist Then the _site directory should exist
And I should see "All documents: _methods/configuration.md _methods/escape-\+ #%20\[\].md _methods/sanitized_path.md _methods/site/generate.md _methods/site/initialize.md _methods/um_hi.md" in "_site/index.html" And I should see "All documents: _methods/collection/entries _methods/configuration.md _methods/escape-\+ #%20\[\].md _methods/sanitized_path.md _methods/site/generate.md _methods/site/initialize.md _methods/um_hi.md" in "_site/index.html"
Scenario: Documents have an output attribute, which is the converted HTML Scenario: Documents have an output attribute, which is the converted HTML
Given I have an "index.html" page that contains "First document's output: {{ site.documents.first.output }}" Given I have an "index.html" page that contains "Second document's output: {{ site.documents[1].output }}"
And I have fixture collections And I have fixture collections
And I have a "_config.yml" file with content: And I have a "_config.yml" file with content:
""" """
@ -116,8 +115,8 @@ Feature: Collections
""" """
When I run jekyll build When I run jekyll build
Then I should get a zero exit status Then I should get a zero exit status
And the _site directory should exist Then the _site directory should exist
And I should see "First document's output: <p>Use <code class=\"highlighter-rouge\">Jekyll.configuration</code> to build a full configuration for use w/Jekyll.</p>\n\n<p>Whatever: foo.bar</p>" in "_site/index.html" And I should see "Second document's output: <p>Use <code class=\"highlighter-rouge\">Jekyll.configuration</code> to build a full configuration for use w/Jekyll.</p>\n\n<p>Whatever: foo.bar</p>" in "_site/index.html"
Scenario: Filter documents by where Scenario: Filter documents by where
Given I have an "index.html" page that contains "{% assign items = site.methods | where: 'whatever','foo.bar' %}Item count: {{ items.size }}" Given I have an "index.html" page that contains "{% assign items = site.methods | where: 'whatever','foo.bar' %}Item count: {{ items.size }}"
@ -133,7 +132,7 @@ Feature: Collections
And I should see "Item count: 2" in "_site/index.html" And I should see "Item count: 2" in "_site/index.html"
Scenario: Sort by title Scenario: Sort by title
Given I have an "index.html" page that contains "{% assign items = site.methods | sort: 'title' %}1. of {{ items.size }}: {{ items.first.output }}" Given I have an "index.html" page that contains "{% assign items = site.methods | sort: 'title' %}2. of {{ items.size }}: {{ items[1].output }}"
And I have fixture collections And I have fixture collections
And I have a "_config.yml" file with content: And I have a "_config.yml" file with content:
""" """
@ -143,10 +142,10 @@ Feature: Collections
When I run jekyll build When I run jekyll build
Then I should get a zero exit status Then I should get a zero exit status
And the _site directory should exist And the _site directory should exist
And I should see "1. of 7: <p>Page without title.</p>" in "_site/index.html" And I should see "2. of 8: <p>Page without title.</p>" in "_site/index.html"
Scenario: Sort by relative_path Scenario: Sort by relative_path
Given I have an "index.html" page that contains "Collections: {% assign methods = site.methods | sort: 'relative_path' %}{% for method in methods %}{{ method.title }}, {% endfor %}" Given I have an "index.html" page that contains "Collections: {% assign methods = site.methods | sort: 'relative_path' %}{{ methods | map:"title" | join: ", " }}"
And I have fixture collections And I have fixture collections
And I have a "_config.yml" file with content: And I have a "_config.yml" file with content:
""" """
@ -156,7 +155,7 @@ Feature: Collections
When I run jekyll build When I run jekyll build
Then I should get a zero exit status Then I should get a zero exit status
Then the _site directory should exist Then the _site directory should exist
And I should see "Collections: Jekyll.configuration, Jekyll.escape, Jekyll.sanitized_path, Site#generate, Initialize, Site#generate, YAML with Dots," in "_site/index.html" And I should see "Collections: Collection#entries, Jekyll.configuration, Jekyll.escape, Jekyll.sanitized_path, Site#generate, Initialize, Site#generate," in "_site/index.html"
Scenario: Rendered collection with date/dateless filename Scenario: Rendered collection with date/dateless filename
Given I have an "index.html" page that contains "Collections: {% for method in site.thanksgiving %}{{ method.title }} {% endfor %}" Given I have an "index.html" page that contains "Collections: {% for method in site.thanksgiving %}{{ method.title }} {% endfor %}"

View File

@ -186,3 +186,20 @@ Feature: Create sites
Then I should get a zero exit status Then I should get a zero exit status
And the _site directory should exist And the _site directory should exist
And the "_site/2020/12/31/entry1.html" file should exist And the "_site/2020/12/31/entry1.html" file should exist
Scenario: Basic site with layouts, posts and related posts
Given I have a _layouts directory
And I have a page layout that contains "Page {{ page.title }}: {{ content }}"
And I have a post layout that contains "Post {{ page.title }}: {{ content }}Related posts: {{ site.related_posts | size }}"
And I have an "index.html" page with layout "page" that contains "Site contains {{ site.pages.size }} pages and {{ site.posts.size }} posts; Related posts: {{ site.related_posts | size }}"
And I have a _posts directory
And I have the following posts:
| title | date | layout | content |
| entry1 | 2009-03-27 | post | content for entry1. |
| entry2 | 2009-04-27 | post | content for entry2. |
When I run jekyll build
Then I should get a zero exit status
And the _site directory should exist
And I should see "Page : Site contains 1 pages and 2 posts; Related posts: 0" in "_site/index.html"
And I should see "Post entry1: <p>content for entry1.</p>\nRelated posts: 1" in "_site/2009/03/27/entry1.html"
And I should see "Post entry2: <p>content for entry2.</p>\nRelated posts: 1" in "_site/2009/04/27/entry2.html"

View File

@ -78,7 +78,7 @@ module Jekyll
def entries def entries
return [] unless exists? return [] unless exists?
@entries ||= @entries ||=
Utils.safe_glob(collection_dir, ["**", "*.*"]).map do |entry| Utils.safe_glob(collection_dir, ["**", "*"]).map do |entry|
entry["#{collection_dir}/"] = '' entry["#{collection_dir}/"] = ''
entry entry
end end

View File

@ -8,7 +8,7 @@ module Jekyll
c.description 'Search site and print specific deprecation warnings' c.description 'Search site and print specific deprecation warnings'
c.alias(:hyde) c.alias(:hyde)
c.option '--config CONFIG_FILE[,CONFIG_FILE2,...]', Array, 'Custom configuration file' c.option 'config', '--config CONFIG_FILE[,CONFIG_FILE2,...]', Array, 'Custom configuration file'
c.action do |_, options| c.action do |_, options|
Jekyll::Commands::Doctor.process(options) Jekyll::Commands::Doctor.process(options)

View File

@ -68,7 +68,11 @@ module Jekyll
end end
def date def date
data['date'] ||= site.time data['date'] ||= (draft? ? source_file_mtime : site.time)
end
def source_file_mtime
@source_file_mtime ||= File.mtime(path)
end end
# Returns whether the document is a draft. This is only the case if # Returns whether the document is a draft. This is only the case if

View File

@ -205,7 +205,7 @@ module Jekyll
input.group_by do |item| input.group_by do |item|
item_property(item, property).to_s item_property(item, property).to_s
end.inject([]) do |memo, i| end.inject([]) do |memo, i|
memo << { "name" => i.first, "items" => i.last } memo << { "name" => i.first, "items" => i.last, "size" => i.last.size }
end end
else else
input input
@ -315,7 +315,7 @@ module Jekyll
def time(input) def time(input)
case input case input
when Time when Time
input input.clone
when Date when Date
input.to_time input.to_time
when String when String

View File

@ -40,6 +40,8 @@ module Jekyll
if document.is_a?(Document) && document.collection.label == 'posts' if document.is_a?(Document) && document.collection.label == 'posts'
payload['site']['related_posts'] = document.related_posts payload['site']['related_posts'] = document.related_posts
else
payload['site']['related_posts'] = nil
end end
# render and transform content (this becomes the final content of the object) # render and transform content (this becomes the final content of the object)

View File

@ -2,12 +2,12 @@
<div class="wrapper"> <div class="wrapper">
<h2 class="footer-heading">{{ site.title }}</h2> <h2 class="footer-heading">{{ site.title | escape }}</h2>
<div class="footer-col-wrapper"> <div class="footer-col-wrapper">
<div class="footer-col footer-col-1"> <div class="footer-col footer-col-1">
<ul class="contact-list"> <ul class="contact-list">
<li>{{ site.title }}</li> <li>{{ site.title | escape }}</li>
<li><a href="mailto:{{ site.email }}">{{ site.email }}</a></li> <li><a href="mailto:{{ site.email }}">{{ site.email }}</a></li>
</ul> </ul>
</div> </div>
@ -29,7 +29,7 @@
</div> </div>
<div class="footer-col footer-col-3"> <div class="footer-col footer-col-3">
<p>{{ site.description }}</p> <p>{{ site.description | escape }}</p>
</div> </div>
</div> </div>

View File

@ -4,9 +4,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}</title> <title>{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}</title>
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}"> <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description | escape }}{% endif %}">
<link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}"> <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}"> <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}"> <link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}">
</head> </head>

View File

@ -2,7 +2,7 @@
<div class="wrapper"> <div class="wrapper">
<a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a> <a class="site-title" href="{{ site.baseurl }}/">{{ site.title | escape }}</a>
<nav class="site-nav"> <nav class="site-nav">
<a href="#" class="menu-icon"> <a href="#" class="menu-icon">
@ -16,7 +16,7 @@
<div class="trigger"> <div class="trigger">
{% for my_page in site.pages %} {% for my_page in site.pages %}
{% if my_page.title %} {% if my_page.title %}
<a class="page-link" href="{{ my_page.url | prepend: site.baseurl }}">{{ my_page.title }}</a> <a class="page-link" href="{{ my_page.url | prepend: site.baseurl }}">{{ my_page.title | escape }}</a>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</div> </div>

View File

@ -4,7 +4,7 @@ layout: default
<article class="post"> <article class="post">
<header class="post-header"> <header class="post-header">
<h1 class="post-title">{{ page.title }}</h1> <h1 class="post-title">{{ page.title | escape }}</h1>
</header> </header>
<div class="post-content"> <div class="post-content">

View File

@ -4,7 +4,7 @@ layout: default
<article class="post" itemscope itemtype="http://schema.org/BlogPosting"> <article class="post" itemscope itemtype="http://schema.org/BlogPosting">
<header class="post-header"> <header class="post-header">
<h1 class="post-title" itemprop="name headline">{{ page.title }}</h1> <h1 class="post-title" itemprop="name headline">{{ page.title | escape }}</h1>
<p class="post-meta"><time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time>{% if page.author %} • <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{{ page.author }}</span></span>{% endif %}</p> <p class="post-meta"><time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time>{% if page.author %} • <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{{ page.author }}</span></span>{% endif %}</p>
</header> </header>

View File

@ -12,7 +12,7 @@ layout: default
<span class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</span> <span class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</span>
<h2> <h2>
<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a> <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title | escape }}</a>
</h2> </h2>
</li> </li>
{% endfor %} {% endfor %}

View File

@ -14,6 +14,7 @@ INGORE_HREFS=$(ruby -e 'puts %w{
twitter.com twitter.com
nearlyfreespeech.net nearlyfreespeech.net
eduardoboucas.com eduardoboucas.com
github.com\/matrix9180
}.map{|h| "/#{h}/"}.join(",")') }.map{|h| "/#{h}/"}.join(",")')
SOURCE="site" SOURCE="site"
DESTINATION="_site" DESTINATION="_site"
@ -31,4 +32,4 @@ bundle exec jekyll build -s $SOURCE -d $DESTINATION --trace
# 3. # 3.
msg "Proofing..." msg "Proofing..."
time bundle exec htmlproof ./$DESTINATION --href-ignore $INGORE_HREFS time bundle exec htmlproof ./$DESTINATION --url-ignore $INGORE_HREFS

View File

@ -15,7 +15,7 @@ Kramdown comes with optional support for LaTeX to PNG rendering via [MathJax](ht
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script> <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
{% endhighlight %} {% endhighlight %}
For more information about getting started, check out [this excellent blog post](https://gastonsanchez.com/opinion/2014/02/16/Mathjax-with-jekyll/). For more information about getting started, check out [this excellent blog post](http://gastonsanchez.com/opinion/2014/02/16/Mathjax-with-jekyll/).
## Alternative Markdown Processors ## Alternative Markdown Processors

View File

@ -845,6 +845,7 @@ LESS.js files during generation.
- [Jekyll-Youtube](https://github.com/dommmel/jekyll-youtube) A Liquid tag that embeds Youtube videos. The default emded markup is responsive but you can also specify your own by using an include/partial. - [Jekyll-Youtube](https://github.com/dommmel/jekyll-youtube) A Liquid tag that embeds Youtube videos. The default emded markup is responsive but you can also specify your own by using an include/partial.
- [Jekyll Flickr Plugin](https://github.com/lawmurray/indii-jekyll-flickr) by [Lawrence Murray](http://www.indii.org): Embeds Flickr photosets (albums) as a gallery of thumbnails, with lightbox links to larger images. - [Jekyll Flickr Plugin](https://github.com/lawmurray/indii-jekyll-flickr) by [Lawrence Murray](http://www.indii.org): Embeds Flickr photosets (albums) as a gallery of thumbnails, with lightbox links to larger images.
- [jekyll-figure](https://github.com/paulrobertlloyd/jekyll-figure): A liquid tag for Jekyll that generates `<figure>` elements. - [jekyll-figure](https://github.com/paulrobertlloyd/jekyll-figure): A liquid tag for Jekyll that generates `<figure>` elements.
- [Jekyll Video Embed](https://github.com/eug/jekyll-video-embed): It provides several tags to easily embed videos (e.g. Youtube, Vimeo, UStream and Ted Talks)
#### Collections #### Collections

View File

@ -24,7 +24,7 @@ Jekylls growing use is producing a wide variety of tutorials, frameworks, ext
### Other commentary ### Other commentary
- [My Jekyll Fork, by Mike West](http://mikewest.org/2009/11/my-jekyll-fork) - [My Jekyll Fork, by Mike West](https://mikewest.org/2009/11/my-jekyll-fork)
> “Jekyll is a well-architected throwback to a time before WordPress, when men were men, and HTML was static. I like the ideas it espouses, and have made a few improvements to its core. Here, Ill point out some highlights of my fork in the hopes that they see usage beyond this site.” > “Jekyll is a well-architected throwback to a time before WordPress, when men were men, and HTML was static. I like the ideas it espouses, and have made a few improvements to its core. Here, Ill point out some highlights of my fork in the hopes that they see usage beyond this site.”

View File

@ -5,11 +5,19 @@ title: Getting Help
Need help with Jekyll? Try these resources. Need help with Jekyll? Try these resources.
### [Upgrading Documentation](/docs/upgrading/) ### [Upgrading](/docs/upgrading/)
Did you recently upgrade from Jekyll 1 to 2 or from Jekyll 2 to 3? Did you recently upgrade from Jekyll 1 to 2 or from Jekyll 2 to 3?
Known breaking changes are listed in the upgrading docs. Known breaking changes are listed in the upgrading docs.
### [Documentation](/docs/home/)
Our guide to Jekyll covering installation, writing, customization, deployment, and more.
### [View source](https://github.com/jekyll/jekyll/wiki/sites)
Learn from the source of others' Jekyll-powered sites.
### [Google](https://www.google.com/?q=jekyll) ### [Google](https://www.google.com/?q=jekyll)
Add **jekyll** to almost any query, and you'll find just what you need. Add **jekyll** to almost any query, and you'll find just what you need.

View File

@ -0,0 +1,5 @@
---
title: "Collection#entries"
---
I have no file extension but I should still be a part of the collection.

View File

@ -126,6 +126,7 @@ class TestCollections < JekyllUnitTest
assert_includes %w[ assert_includes %w[
_methods/configuration.md _methods/configuration.md
_methods/sanitized_path.md _methods/sanitized_path.md
_methods/collection/entries
_methods/site/generate.md _methods/site/generate.md
_methods/site/initialize.md _methods/site/initialize.md
_methods/um_hi.md _methods/um_hi.md

View File

@ -12,7 +12,7 @@ class TestDocument < JekyllUnitTest
"collections" => ["methods"] "collections" => ["methods"]
}) })
@site.process @site.process
@document = @site.collections["methods"].docs.first @document = @site.collections["methods"].docs.detect {|d| d.relative_path == "_methods/configuration.md" }
end end
should "exist" do should "exist" do
@ -49,7 +49,7 @@ class TestDocument < JekyllUnitTest
setup do setup do
@site = fixture_site({"collections" => ["methods"]}) @site = fixture_site({"collections" => ["methods"]})
@site.process @site.process
@document = @site.collections["methods"].docs.last @document = @site.collections["methods"].docs.detect {|d| d.relative_path == "_methods/yaml_with_dots.md" }
end end
should "know its data" do should "know its data" do

View File

@ -103,6 +103,13 @@ class TestFilters < JekyllUnitTest
should "format a time according to RFC-822" do should "format a time according to RFC-822" do
assert_equal "Wed, 27 Mar 2013 11:22:33 +0000", @filter.date_to_rfc822(@sample_time) assert_equal "Wed, 27 Mar 2013 11:22:33 +0000", @filter.date_to_rfc822(@sample_time)
end end
should "not modify a time in-place when using filters" do
t = Time.new(2004, 9, 15, 0, 2, 37, "+01:00")
assert_equal 3600, t.utc_offset
@filter.date_to_string(t)
assert_equal 3600, t.utc_offset
end
end end
context "with Date object" do context "with Date object" do
@ -289,6 +296,14 @@ class TestFilters < JekyllUnitTest
end end
end end
end end
should "include the size of each grouping" do
grouping = @filter.group_by(@filter.site.pages, "layout")
grouping.each do |g|
p g
assert_equal g["items"].size, g["size"], "The size property for '#{g["name"]}' doesn't match the size of the Array."
end
end
end end
context "where filter" do context "where filter" do

View File

@ -14,6 +14,7 @@ class TestKramdown < JekyllUnitTest
'auto_ids' => false, 'auto_ids' => false,
'footnote_nr' => 1, 'footnote_nr' => 1,
'syntax_highlighter' => 'rouge',
'syntax_highlighter_opts' => { 'syntax_highlighter_opts' => {
'bold_every' => 8, 'css' => :class 'bold_every' => 8, 'css' => :class
} }