Merge branch 'master' into copy-better
This commit is contained in:
commit
0654e2f65e
|
@ -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
|
||||||
|
|
||||||
|
|
3
Gemfile
3
Gemfile
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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 %}"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ Jekyll’s 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 it’s core. Here, I’ll 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 it’s core. Here, I’ll point out some highlights of my fork in the hopes that they see usage beyond this site.”
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: "Collection#entries"
|
||||||
|
---
|
||||||
|
|
||||||
|
I have no file extension but I should still be a part of the collection.
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue