From b5d4a9614915b9e906c1b2fb753f28ea538ec81d Mon Sep 17 00:00:00 2001
From: John Piasetzki
Date: Thu, 23 May 2013 22:06:15 -0400
Subject: [PATCH 01/85] Refactored site.rb, I tried to clean a bunch of the
methods code climate was complaining about
---
lib/jekyll/site.rb | 60 +++++++++++++++++-----------------------------
1 file changed, 22 insertions(+), 38 deletions(-)
diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb
index e8b65135..c572cf34 100644
--- a/lib/jekyll/site.rb
+++ b/lib/jekyll/site.rb
@@ -138,34 +138,19 @@ module Jekyll
entries = Dir.chdir(base) { filter_entries(Dir.entries('.')) }
self.read_posts(dir)
-
- if self.show_drafts
- self.read_drafts(dir)
- end
-
+ self.read_drafts(dir) if self.show_drafts
self.posts.sort!
-
- # limit the posts if :limit_posts option is set
- if limit_posts > 0
- limit = self.posts.length < limit_posts ? self.posts.length : limit_posts
- self.posts = self.posts[-limit, limit]
- end
+ limit_posts! if limit_posts > 0 # limit the posts if :limit_posts option is set
entries.each do |f|
f_abs = File.join(base, f)
- f_rel = File.join(dir, f)
if File.directory?(f_abs)
- next if self.dest.sub(/\/$/, '') == f_abs
- read_directories(f_rel)
+ f_rel = File.join(dir, f)
+ read_directories(f_rel) unless self.dest.sub(/\/$/, '') == f_abs
+ elsif has_yaml_header?(f_abs)
+ pages << Page.new(self, self.source, dir, f)
else
- first3 = File.open(f_abs) { |fd| fd.read(3) }
- if first3 == "---"
- # file appears to have a YAML header so process it as a page
- pages << Page.new(self, self.source, dir, f)
- else
- # otherwise treat it as a static file
- static_files << StaticFile.new(self, self.source, dir, f)
- end
+ static_files << StaticFile.new(self, self.source, dir, f)
end
end
end
@@ -255,14 +240,8 @@ module Jekyll
# files to be written
files = Set.new
- self.posts.each do |post|
- files << post.destination(self.dest)
- end
- self.pages.each do |page|
- files << page.destination(self.dest)
- end
- self.static_files.each do |sf|
- files << sf.destination(self.dest)
+ [self.posts, self.pages, self.static_files].flatten.each do |item|
+ files << item.destination(self.dest)
end
# adding files' parent directories
@@ -290,14 +269,8 @@ module Jekyll
#
# Returns nothing.
def write
- self.posts.each do |post|
- post.write(self.dest)
- end
- self.pages.each do |page|
- page.write(self.dest)
- end
- self.static_files.each do |sf|
- sf.write(self.dest)
+ [self.posts, self.pages, self.static_files].flatten.each do |item|
+ item.write(self.dest)
end
end
@@ -430,5 +403,16 @@ module Jekyll
@deprecated_relative_permalinks = true
end
end
+
+ private
+
+ def has_yaml_header?(file)
+ "---" == File.open(file) { |fd| fd.read(3) }
+ end
+
+ def limit_posts!
+ limit = self.posts.length < limit_posts ? self.posts.length : limit_posts
+ self.posts = self.posts[-limit, limit]
+ end
end
end
From 13fd798ec0a62cdef8cbe62d68488d8d5797ff52 Mon Sep 17 00:00:00 2001
From: John Piasetzki
Date: Sun, 26 May 2013 16:15:24 -0400
Subject: [PATCH 02/85] Extracted each method
---
lib/jekyll/site.rb | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb
index c572cf34..1542f0ef 100644
--- a/lib/jekyll/site.rb
+++ b/lib/jekyll/site.rb
@@ -240,9 +240,7 @@ module Jekyll
# files to be written
files = Set.new
- [self.posts, self.pages, self.static_files].flatten.each do |item|
- files << item.destination(self.dest)
- end
+ site_files_each { |item| files << item.destination(self.dest) }
# adding files' parent directories
dirs = Set.new
@@ -269,9 +267,7 @@ module Jekyll
#
# Returns nothing.
def write
- [self.posts, self.pages, self.static_files].flatten.each do |item|
- item.write(self.dest)
- end
+ site_files_each { |item| item.write(self.dest) }
end
# Construct a Hash of Posts indexed by the specified Post attribute.
@@ -404,6 +400,14 @@ module Jekyll
end
end
+ def site_files_each
+ %w(posts pages static_files).each do |type|
+ self.send(type).each do |item|
+ yield item
+ end
+ end
+ end
+
private
def has_yaml_header?(file)
From e1ecae250c6dbf67f4226552e7ebb5742981d1e4 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 12 Jul 2013 10:52:00 +0200
Subject: [PATCH 03/85] Site#site_files_each ~> Site#each_site_file
---
lib/jekyll/site.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb
index cb60222f..f7a8c379 100644
--- a/lib/jekyll/site.rb
+++ b/lib/jekyll/site.rb
@@ -240,7 +240,7 @@ module Jekyll
# files to be written
files = Set.new
- site_files_each { |item| files << item.destination(self.dest) }
+ each_site_file { |item| files << item.destination(self.dest) }
# adding files' parent directories
dirs = Set.new
@@ -271,7 +271,7 @@ module Jekyll
#
# Returns nothing.
def write
- site_files_each { |item| item.write(self.dest) }
+ each_site_file { |item| item.write(self.dest) }
end
# Construct a Hash of Posts indexed by the specified Post attribute.
@@ -404,7 +404,7 @@ module Jekyll
end
end
- def site_files_each
+ def each_site_file
%w(posts pages static_files).each do |type|
self.send(type).each do |item|
yield item
From 86fd1c5dd4bcba815adaca71b90872e9ae4cec39 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 12 Jul 2013 10:52:28 +0200
Subject: [PATCH 04/85] Update history to reflect merge of #1144.
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index b8e72d26..1174daf1 100644
--- a/History.markdown
+++ b/History.markdown
@@ -27,6 +27,7 @@
* Restrict activesupport dependency to pre-4.0.0 to maintain compatibility with `<= 1.9.2`
* Include/exclude deprecation handling simplification (#1284)
* Convert README to Markdown. (#1267)
+ * Refactor Jekyll::Site (#1144)
### Site Enhancements
* Add "News" section for release notes, along with an RSS feed (#1093, #1285, #1286)
From 456ac01890d532ceefdfa99e94983971f554f894 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 13 May 2013 21:06:56 +0200
Subject: [PATCH 05/85] Crash if a config file isn't there.
If a configuration file is specified via the command line but does not exist,
fail loudly and crash to preserve the current state. Do not fail if the requested
file is the default configuration file, _config.yml. In that case, fall back on
the defaults.
---
lib/jekyll/configuration.rb | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb
index c428c1a6..69323dce 100644
--- a/lib/jekyll/configuration.rb
+++ b/lib/jekyll/configuration.rb
@@ -102,7 +102,10 @@ module Jekyll
def config_files(override)
# Get configuration from /_config.yml or /
config_files = override.delete('config')
- config_files = File.join(source(override), "_config.yml") if config_files.to_s.empty?
+ if config_files.to_s.empty?
+ config_files = File.join(source(override), "_config.yml")
+ @default_config_file = true
+ end
config_files = [config_files] unless config_files.is_a? Array
config_files
end
@@ -117,6 +120,14 @@ module Jekyll
raise "Configuration file: (INVALID) #{file}".yellow if !next_config.is_a?(Hash)
Jekyll.logger.info "Configuration file:", file
next_config
+ rescue SystemCallError
+ if @default_config_file
+ Jekyll::Logger.warn "Configuration file:", "none"
+ {}
+ else
+ Jekyll::Logger.error "Fatal:", "The configuration file '#{file}' could not be found."
+ exit(1)
+ end
end
# Public: Read in a list of configuration files and merge with this hash
@@ -133,9 +144,6 @@ module Jekyll
new_config = read_config_file(config_file)
configuration = configuration.deep_merge(new_config)
end
- rescue SystemCallError
- # Errno:ENOENT = file not found
- Jekyll.logger.warn "Configuration file:", "none"
rescue => err
Jekyll.logger.warn "WARNING:", "Error reading configuration. " +
"Using defaults (and options)."
From a7efb86d5c9289d0d0307d5b8c10e036c3a18d7b Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 12 Jul 2013 11:56:22 +0200
Subject: [PATCH 06/85] Throw ArgumentError when there's an invalid config
file, and catch only that.
---
lib/jekyll/configuration.rb | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb
index 69323dce..a4894237 100644
--- a/lib/jekyll/configuration.rb
+++ b/lib/jekyll/configuration.rb
@@ -117,16 +117,16 @@ module Jekyll
# Returns this configuration, overridden by the values in the file
def read_config_file(file)
next_config = YAML.safe_load_file(file)
- raise "Configuration file: (INVALID) #{file}".yellow if !next_config.is_a?(Hash)
+ raise ArgumentError.new("Configuration file: (INVALID) #{file}".yellow) if !next_config.is_a?(Hash)
Jekyll.logger.info "Configuration file:", file
next_config
rescue SystemCallError
if @default_config_file
- Jekyll::Logger.warn "Configuration file:", "none"
+ Jekyll.logger.warn "Configuration file:", "none"
{}
else
- Jekyll::Logger.error "Fatal:", "The configuration file '#{file}' could not be found."
- exit(1)
+ Jekyll.logger.error "Fatal:", "The configuration file '#{file}' could not be found."
+ abort
end
end
From 253fc8c506b47f901bbc018720b7e86329dffbcf Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 12 Jul 2013 12:22:06 +0200
Subject: [PATCH 07/85] Raise LoadError if the file doesn't exist but do not
catch it. :)
---
lib/jekyll/configuration.rb | 4 ++--
test/test_configuration.rb | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb
index a4894237..5b5dda4b 100644
--- a/lib/jekyll/configuration.rb
+++ b/lib/jekyll/configuration.rb
@@ -126,7 +126,7 @@ module Jekyll
{}
else
Jekyll.logger.error "Fatal:", "The configuration file '#{file}' could not be found."
- abort
+ raise LoadError
end
end
@@ -144,7 +144,7 @@ module Jekyll
new_config = read_config_file(config_file)
configuration = configuration.deep_merge(new_config)
end
- rescue => err
+ rescue ArgumentError => err
Jekyll.logger.warn "WARNING:", "Error reading configuration. " +
"Using defaults (and options)."
$stderr.puts "#{err}"
diff --git a/test/test_configuration.rb b/test/test_configuration.rb
index 0f197643..0e6372b0 100644
--- a/test/test_configuration.rb
+++ b/test/test_configuration.rb
@@ -82,6 +82,7 @@ class TestConfiguration < Test::Unit::TestCase
context "loading configuration" do
setup do
@path = File.join(Dir.pwd, '_config.yml')
+ @user_config = File.join(Dir.pwd, "my_config_file.yml")
end
should "fire warning with no _config.yml" do
@@ -102,6 +103,14 @@ class TestConfiguration < Test::Unit::TestCase
mock($stderr).puts("Configuration file: (INVALID) #{@path}".yellow)
assert_equal Jekyll::Configuration::DEFAULTS, Jekyll.configuration({})
end
+
+ should "fire warning when user-specified config file isn't there" do
+ mock(YAML).safe_load_file(@user_config) { raise SystemCallError, "No such file or directory - #{@user_config}" }
+ mock($stderr).puts(("Fatal: ".rjust(20) + "The configuration file '#{@user_config}' could not be found.").red)
+ assert_raises LoadError do
+ Jekyll.configuration({'config' => [@user_config]})
+ end
+ end
end
context "loading config from external file" do
setup do
From 9f867c8014f079f979b05aa9e294e3e94ef705d2 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 12 Jul 2013 18:29:04 +0200
Subject: [PATCH 08/85] Update history to reflect merge of #1098
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 1174daf1..f411f6f3 100644
--- a/History.markdown
+++ b/History.markdown
@@ -14,6 +14,7 @@
sites. (#1247)
* In the generated site, remove files that will be replaced by a
directory (#1118)
+ * Fail loudly if a user-specified configuration file doesn't exist (#1098)
### Bug Fixes
* Fix pagination in subdirectories. (#1198)
From 015ace6773efb9b51824ec2c5377241bdc88fbbc Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sat, 13 Jul 2013 16:18:20 +0200
Subject: [PATCH 09/85] Shuffle around rendering of extracted excerpt so it can
be liquified.
---
lib/jekyll.rb | 1 +
lib/jekyll/excerpt.rb | 140 ++++++++++++++++++++++++++++++++++++++++++
lib/jekyll/post.rb | 51 ++-------------
3 files changed, 145 insertions(+), 47 deletions(-)
create mode 100644 lib/jekyll/excerpt.rb
diff --git a/lib/jekyll.rb b/lib/jekyll.rb
index 684d5eb1..06242de9 100644
--- a/lib/jekyll.rb
+++ b/lib/jekyll.rb
@@ -36,6 +36,7 @@ require 'jekyll/convertible'
require 'jekyll/layout'
require 'jekyll/page'
require 'jekyll/post'
+require 'jekyll/excerpt'
require 'jekyll/draft'
require 'jekyll/filters'
require 'jekyll/static_file'
diff --git a/lib/jekyll/excerpt.rb b/lib/jekyll/excerpt.rb
new file mode 100644
index 00000000..4d704661
--- /dev/null
+++ b/lib/jekyll/excerpt.rb
@@ -0,0 +1,140 @@
+module Jekyll
+ class Excerpt
+
+ # Internal: Extract excerpt from the content
+ #
+ # By default excerpt is your first paragraph of a post: everything before
+ # the first two new lines:
+ #
+ # ---
+ # title: Example
+ # ---
+ #
+ # First paragraph with [link][1].
+ #
+ # Second paragraph.
+ #
+ # [1]: http://example.com/
+ #
+ # This is fairly good option for Markdown and Textile files. But might cause
+ # problems for HTML posts (which is quite unusual for Jekyll). If default
+ # excerpt delimiter is not good for you, you might want to set your own via
+ # configuration option `excerpt_separator`. For example, following is a good
+ # alternative for HTML posts:
+ #
+ # # file: _config.yml
+ # excerpt_separator: ""
+ #
+ # Notice that all markdown-style link references will be appended to the
+ # excerpt. So the example post above will have this excerpt source:
+ #
+ # First paragraph with [link][1].
+ #
+ # [1]: http://example.com/
+ #
+ # Excerpts are rendered same time as content is rendered.
+ #
+ # Returns excerpt String
+
+ include Convertible
+
+ attr_accessor :post
+ attr_accessor :content, :output, :ext
+
+ # Initialize this Post instance.
+ #
+ # site - The Site.
+ # base - The String path to the dir containing the post file.
+ # name - The String filename of the post file.
+ #
+ # Returns the new Post.
+ def initialize(post)
+ @post = post
+ @content = extract_excerpt(post.content)
+ end
+
+ %w[site name data ext].each do |meth|
+ define_method(meth) do
+ post.send(meth)
+ end
+ end
+
+ def path
+ File.join(post.path, "#excerpt")
+ end
+
+ def include?(something)
+ (output && output.include?(something)) || content.include?(something)
+ end
+
+ # The UID for this post (useful in feeds).
+ # e.g. /2008/11/05/my-awesome-post
+ #
+ # Returns the String UID.
+ def id
+ File.join(post.dir, post.slug, "#excerpt")
+ end
+
+ # Convert this post into a Hash for use in Liquid templates.
+ #
+ # Returns the representative Hash.
+ def to_liquid
+ further_data = Hash[ATTRIBUTES_FOR_LIQUID.map { |attribute|
+ [attribute, post.send(attribute)]
+ }]
+ further_data
+ end
+
+ def to_s
+ output || content
+ end
+
+ # Returns the shorthand String identifier of this Post.
+ def inspect
+ ""
+ end
+
+ protected
+
+ # Internal: Extract excerpt from the content
+ #
+ # By default excerpt is your first paragraph of a post: everything before
+ # the first two new lines:
+ #
+ # ---
+ # title: Example
+ # ---
+ #
+ # First paragraph with [link][1].
+ #
+ # Second paragraph.
+ #
+ # [1]: http://example.com/
+ #
+ # This is fairly good option for Markdown and Textile files. But might cause
+ # problems for HTML posts (which is quite unusual for Jekyll). If default
+ # excerpt delimiter is not good for you, you might want to set your own via
+ # configuration option `excerpt_separator`. For example, following is a good
+ # alternative for HTML posts:
+ #
+ # # file: _config.yml
+ # excerpt_separator: ""
+ #
+ # Notice that all markdown-style link references will be appended to the
+ # excerpt. So the example post above will have this excerpt source:
+ #
+ # First paragraph with [link][1].
+ #
+ # [1]: http://example.com/
+ #
+ # Excerpts are rendered same time as content is rendered.
+ #
+ # Returns excerpt String
+ def extract_excerpt(post_content)
+ separator = site.config['excerpt_separator']
+ head, _, tail = post_content.partition(separator)
+
+ "" << head << "\n\n" << tail.scan(/^\[[^\]]+\]:.+$/).join("\n")
+ end
+ end
+end
diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb
index c478adb5..1b70e31e 100644
--- a/lib/jekyll/post.rb
+++ b/lib/jekyll/post.rb
@@ -109,7 +109,7 @@ module Jekyll
if self.data.has_key? 'excerpt'
self.data['excerpt']
else
- self.extracted_excerpt
+ self.extracted_excerpt.to_s
end
end
@@ -158,14 +158,6 @@ module Jekyll
raise FatalException.new("Post #{name} does not have a valid date.")
end
- # Transform the contents and excerpt based on the content type.
- #
- # Returns nothing.
- def transform
- super
- self.extracted_excerpt = converter.convert(self.extracted_excerpt)
- end
-
# The generated directory into which the post will be placed
# upon generation. This is derived from the permalink or, if
# permalink is absent, set to the default date
@@ -260,6 +252,8 @@ module Jekyll
"page" => self.to_liquid
}.deep_merge(site_payload)
+ self.extracted_excerpt.do_layout(payload, layouts)
+
do_layout(payload, layouts)
end
@@ -311,45 +305,8 @@ module Jekyll
protected
- # Internal: Extract excerpt from the content
- #
- # By default excerpt is your first paragraph of a post: everything before
- # the first two new lines:
- #
- # ---
- # title: Example
- # ---
- #
- # First paragraph with [link][1].
- #
- # Second paragraph.
- #
- # [1]: http://example.com/
- #
- # This is fairly good option for Markdown and Textile files. But might cause
- # problems for HTML posts (which is quite unusual for Jekyll). If default
- # excerpt delimiter is not good for you, you might want to set your own via
- # configuration option `excerpt_separator`. For example, following is a good
- # alternative for HTML posts:
- #
- # # file: _config.yml
- # excerpt_separator: ""
- #
- # Notice that all markdown-style link references will be appended to the
- # excerpt. So the example post above will have this excerpt source:
- #
- # First paragraph with [link][1].
- #
- # [1]: http://example.com/
- #
- # Excerpts are rendered same time as content is rendered.
- #
- # Returns excerpt String
def extract_excerpt
- separator = self.site.config['excerpt_separator']
- head, _, tail = self.content.partition(separator)
-
- "" << head << "\n\n" << tail.scan(/^\[[^\]]+\]:.+$/).join("\n")
+ Jekyll::Excerpt.new(self)
end
end
end
From e78d5dd5cb5b6552c2a1560d55598d677935c385 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sat, 13 Jul 2013 16:18:38 +0200
Subject: [PATCH 10/85] Will now have to render the post, not just transform
it.
---
test/test_post.rb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/test/test_post.rb b/test/test_post.rb
index 903e48c5..e38af0fa 100644
--- a/test/test_post.rb
+++ b/test/test_post.rb
@@ -267,9 +267,10 @@ class TestPost < Test::Unit::TestCase
context "#excerpt" do
setup do
file = "2013-01-02-post-excerpt.markdown"
+ @post = setup_post(file)
@post.process(file)
@post.read_yaml(@source, file)
- @post.transform
+ do_render(@post)
end
should "return first paragraph by default" do
From 21b52bbf70b1c4acb74fb80e0df0f89ae54e1e85 Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Sat, 13 Jul 2013 20:40:37 -0500
Subject: [PATCH 11/85] Update history to reflect merge of #1302
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index f411f6f3..31276659 100644
--- a/History.markdown
+++ b/History.markdown
@@ -3,6 +3,7 @@
### Major Enhancements
* Add 'docs' subcommand to read Jekyll's docs when offline. (#1046)
* Support passing parameters to templates in 'include' tag (#1204)
+ * Add support for Liquid tags to post excerpts (#1302)
### Minor Enhancements
* Search the hierarchy of pagination path up to site root to determine template page for
From d815c12571e051f5031f7fd855d41ff1e7fa23e2 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 04:22:34 +0200
Subject: [PATCH 12/85] Don't try to be smarter than the computer. Pass
Excerpt#to_liquid to its parent post.
---
lib/jekyll/excerpt.rb | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/lib/jekyll/excerpt.rb b/lib/jekyll/excerpt.rb
index 4d704661..16584963 100644
--- a/lib/jekyll/excerpt.rb
+++ b/lib/jekyll/excerpt.rb
@@ -79,10 +79,7 @@ module Jekyll
#
# Returns the representative Hash.
def to_liquid
- further_data = Hash[ATTRIBUTES_FOR_LIQUID.map { |attribute|
- [attribute, post.send(attribute)]
- }]
- further_data
+ post.to_liquid
end
def to_s
From 774bf07380c3c84fc535ecea1dbd236048b96300 Mon Sep 17 00:00:00 2001
From: zachgersh
Date: Sun, 9 Jun 2013 21:46:17 -0700
Subject: [PATCH 13/85] Supporting more kramdown options.
---
lib/jekyll/converters/markdown/kramdown_parser.rb | 2 +-
lib/jekyll/core_ext.rb | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/lib/jekyll/converters/markdown/kramdown_parser.rb b/lib/jekyll/converters/markdown/kramdown_parser.rb
index 58857276..25e119b2 100644
--- a/lib/jekyll/converters/markdown/kramdown_parser.rb
+++ b/lib/jekyll/converters/markdown/kramdown_parser.rb
@@ -26,7 +26,7 @@ module Jekyll
# not using coderay
base_kramdown_configs
end
- Kramdown::Document.new(content, kramdown_configs).to_html
+ Kramdown::Document.new(content, @config["kramdown"].symbolize_keys).to_html
end
def base_kramdown_configs
diff --git a/lib/jekyll/core_ext.rb b/lib/jekyll/core_ext.rb
index b1192cf4..00f64fcf 100644
--- a/lib/jekyll/core_ext.rb
+++ b/lib/jekyll/core_ext.rb
@@ -41,6 +41,17 @@ class Hash
end
array || []
end
+
+ def symbolize_keys!
+ keys.each do |key|
+ self[(key.to_sym rescue key) || key] = delete(key)
+ end
+ self
+ end
+
+ def symbolize_keys
+ dup.symbolize_keys!
+ end
end
# Thanks, ActiveSupport!
From 90500f37ac29dcb6c43294fabb2d86a27d05843c Mon Sep 17 00:00:00 2001
From: zachgersh
Date: Sun, 14 Jul 2013 00:24:49 -0500
Subject: [PATCH 14/85] Deleted unused code.
---
lib/jekyll/converters/markdown/kramdown_parser.rb | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/lib/jekyll/converters/markdown/kramdown_parser.rb b/lib/jekyll/converters/markdown/kramdown_parser.rb
index 25e119b2..45542c66 100644
--- a/lib/jekyll/converters/markdown/kramdown_parser.rb
+++ b/lib/jekyll/converters/markdown/kramdown_parser.rb
@@ -13,7 +13,7 @@ module Jekyll
def convert(content)
# Check for use of coderay
- kramdown_configs = if @config['kramdown']['use_coderay']
+ if @config['kramdown']['use_coderay']
base_kramdown_configs.merge({
:coderay_wrap => @config['kramdown']['coderay']['coderay_wrap'],
:coderay_line_numbers => @config['kramdown']['coderay']['coderay_line_numbers'],
@@ -22,22 +22,11 @@ module Jekyll
:coderay_bold_every => @config['kramdown']['coderay']['coderay_bold_every'],
:coderay_css => @config['kramdown']['coderay']['coderay_css']
})
- else
- # not using coderay
- base_kramdown_configs
end
+
Kramdown::Document.new(content, @config["kramdown"].symbolize_keys).to_html
end
- def base_kramdown_configs
- {
- :auto_ids => @config['kramdown']['auto_ids'],
- :footnote_nr => @config['kramdown']['footnote_nr'],
- :entity_output => @config['kramdown']['entity_output'],
- :toc_levels => @config['kramdown']['toc_levels'],
- :smart_quotes => @config['kramdown']['smart_quotes']
- }
- end
end
end
end
From b0fbfdb87d285e7b049f757ffa473fe33aed2cdd Mon Sep 17 00:00:00 2001
From: zachgersh
Date: Sun, 14 Jul 2013 00:32:48 -0500
Subject: [PATCH 15/85] Added a configuration warning to our docs for the two
kramdown options we don't support.
---
site/docs/configuration.md | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/site/docs/configuration.md b/site/docs/configuration.md
index ffdbf6ef..7a72394f 100644
--- a/site/docs/configuration.md
+++ b/site/docs/configuration.md
@@ -236,7 +236,16 @@ before your site is served.
Jekyll runs with the following configuration options by default. Unless
alternative settings for these options are explicitly specified in the
-configuration file or on the command-line, Jekyll will run using these options.
+[[configuration]] file or on the command-line, Jekyll will run using these options.
+
+
+
There are two unsupported kramdown options
+
+ Please note that both remove_block_html_tags and
+ remove_span_html_tags are currently unsupported in jekyll due to the
+ fact that they are not included within the kramdown HTML converter.
+
+
{% highlight yaml %}
source: .
From 7521414d11e335391c44083872ab3c99ec45cff0 Mon Sep 17 00:00:00 2001
From: Damian Lettie
Date: Sun, 14 Jul 2013 18:17:09 +1000
Subject: [PATCH 16/85] Add optional time zone when specifying page.date.
---
site/docs/variables.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/site/docs/variables.md b/site/docs/variables.md
index 7f93b12b..979d358d 100644
--- a/site/docs/variables.md
+++ b/site/docs/variables.md
@@ -197,7 +197,9 @@ following is a reference of the available data.
The Date assigned to the Post. This can be overridden in a Post’s front
matter by specifying a new date/time in the format
- YYYY-MM-DD HH:MM:SS
+ YYYY-MM-DD HH:MM:SS (assuming UTC), or
+ YYYY-MM-DD HH:MM:SS +/-TTTT (to specify a time zone using
+ an offset from UTC. e.g. 2008-12-14 10:30:00 +0900).
From db0be233cf31ea894189f4c633f05bcb5965e5f2 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 17:45:56 +0200
Subject: [PATCH 17/85] Update history to reflect merge of #1201.
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 31276659..886affd6 100644
--- a/History.markdown
+++ b/History.markdown
@@ -16,6 +16,7 @@
* In the generated site, remove files that will be replaced by a
directory (#1118)
* Fail loudly if a user-specified configuration file doesn't exist (#1098)
+ * Allow for all options for Kramdown HTML Converter (#1201)
### Bug Fixes
* Fix pagination in subdirectories. (#1198)
From e95086b211725165225ef3aec7e7b463bf42e3d0 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 17:47:13 +0200
Subject: [PATCH 18/85] Fix for kramdown coderay options. #1201.
---
lib/jekyll/converters/markdown/kramdown_parser.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/jekyll/converters/markdown/kramdown_parser.rb b/lib/jekyll/converters/markdown/kramdown_parser.rb
index 45542c66..7d6a2ce2 100644
--- a/lib/jekyll/converters/markdown/kramdown_parser.rb
+++ b/lib/jekyll/converters/markdown/kramdown_parser.rb
@@ -14,7 +14,7 @@ module Jekyll
def convert(content)
# Check for use of coderay
if @config['kramdown']['use_coderay']
- base_kramdown_configs.merge({
+ @config['kramdown'].merge({
:coderay_wrap => @config['kramdown']['coderay']['coderay_wrap'],
:coderay_line_numbers => @config['kramdown']['coderay']['coderay_line_numbers'],
:coderay_line_number_start => @config['kramdown']['coderay']['coderay_line_number_start'],
From 5d91b8f346983a5df604346d1b6c34a355503ae8 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 17:48:34 +0200
Subject: [PATCH 19/85] merge bang to modify in place. Woops. #1201
---
lib/jekyll/converters/markdown/kramdown_parser.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/jekyll/converters/markdown/kramdown_parser.rb b/lib/jekyll/converters/markdown/kramdown_parser.rb
index 7d6a2ce2..b4237881 100644
--- a/lib/jekyll/converters/markdown/kramdown_parser.rb
+++ b/lib/jekyll/converters/markdown/kramdown_parser.rb
@@ -14,7 +14,7 @@ module Jekyll
def convert(content)
# Check for use of coderay
if @config['kramdown']['use_coderay']
- @config['kramdown'].merge({
+ @config['kramdown'].merge!({
:coderay_wrap => @config['kramdown']['coderay']['coderay_wrap'],
:coderay_line_numbers => @config['kramdown']['coderay']['coderay_line_numbers'],
:coderay_line_number_start => @config['kramdown']['coderay']['coderay_line_number_start'],
From d572e588e8761d25c7dc73de9c3ccf6b69bd7530 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 19:52:44 +0200
Subject: [PATCH 20/85] Release 1.1.0
---
History.markdown | 14 ++++++++--
jekyll.gemspec | 23 ++++++++++++++--
lib/jekyll.rb | 2 +-
.../2013-07-14-jekyll-1-1-0-released.markdown | 27 +++++++++++++++++++
4 files changed, 61 insertions(+), 5 deletions(-)
create mode 100644 site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
diff --git a/History.markdown b/History.markdown
index 886affd6..a672e253 100644
--- a/History.markdown
+++ b/History.markdown
@@ -1,5 +1,17 @@
## HEAD
+### Major Enhancements
+
+### Minor Enhancements
+
+### Bug Fixes
+
+### Development Fixes
+
+### Site Enhancements
+
+## 1.1.0 / 2013-07-14
+
### Major Enhancements
* Add 'docs' subcommand to read Jekyll's docs when offline. (#1046)
* Support passing parameters to templates in 'include' tag (#1204)
@@ -68,8 +80,6 @@
* Add suggestion for Xcode CLT install to troubleshooting page in docs (#1296)
* Add 'Working with drafts' page to docs (#1289)
-### Development Fixes
-
## 1.0.3 / 2013-06-07
### Minor Enhancements
diff --git a/jekyll.gemspec b/jekyll.gemspec
index 2f2db1dd..a39ac9a5 100644
--- a/jekyll.gemspec
+++ b/jekyll.gemspec
@@ -4,9 +4,9 @@ Gem::Specification.new do |s|
s.rubygems_version = '1.3.5'
s.name = 'jekyll'
- s.version = '1.0.3'
+ s.version = '1.1.0'
s.license = 'MIT'
- s.date = '2013-06-07'
+ s.date = '2013-07-14'
s.rubyforge_project = 'jekyll'
s.summary = "A simple, blog aware, static site generator."
@@ -60,6 +60,7 @@ Gem::Specification.new do |s|
features/create_sites.feature
features/drafts.feature
features/embed_filters.feature
+ features/include_tag.feature
features/markdown.feature
features/pagination.feature
features/permalinks.feature
@@ -89,6 +90,7 @@ Gem::Specification.new do |s|
lib/jekyll/deprecator.rb
lib/jekyll/draft.rb
lib/jekyll/errors.rb
+ lib/jekyll/excerpt.rb
lib/jekyll/filters.rb
lib/jekyll/generator.rb
lib/jekyll/generators/pagination.rb
@@ -123,11 +125,20 @@ Gem::Specification.new do |s|
site/_includes/docs_contents_mobile.html
site/_includes/footer.html
site/_includes/header.html
+ site/_includes/news_contents.html
+ site/_includes/news_contents_mobile.html
+ site/_includes/news_item.html
site/_includes/primary-nav-items.html
site/_includes/section_nav.html
site/_includes/top.html
site/_layouts/default.html
site/_layouts/docs.html
+ site/_layouts/news.html
+ site/_layouts/news_item.html
+ site/_posts/2013-05-06-jekyll-1-0-0-released.markdown
+ site/_posts/2013-05-08-jekyll-1-0-1-released.markdown
+ site/_posts/2013-05-12-jekyll-1-0-2-released.markdown
+ site/_posts/2013-06-07-jekyll-1-0-3-released.markdown
site/css/gridism.css
site/css/normalize.css
site/css/pygments.css
@@ -135,6 +146,7 @@ Gem::Specification.new do |s|
site/docs/configuration.md
site/docs/contributing.md
site/docs/deployment-methods.md
+ site/docs/drafts.md
site/docs/extras.md
site/docs/frontmatter.md
site/docs/github-pages.md
@@ -148,6 +160,7 @@ Gem::Specification.new do |s|
site/docs/permalinks.md
site/docs/plugins.md
site/docs/posts.md
+ site/docs/quickstart.md
site/docs/resources.md
site/docs/sites.md
site/docs/structure.md
@@ -157,6 +170,8 @@ Gem::Specification.new do |s|
site/docs/usage.md
site/docs/variables.md
site/favicon.png
+ site/feed.xml
+ site/freenode.txt
site/img/article-footer.png
site/img/footer-arrow.png
site/img/footer-logo.png
@@ -166,13 +181,17 @@ Gem::Specification.new do |s|
site/img/tube1x.png
site/index.html
site/js/modernizr-2.5.3.min.js
+ site/news/index.md
+ site/news/releases/index.md
test/fixtures/broken_front_matter1.erb
test/fixtures/broken_front_matter2.erb
test/fixtures/broken_front_matter3.erb
test/fixtures/exploit_front_matter.erb
test/fixtures/front_matter.erb
test/helper.rb
+ test/source/+/foo.md
test/source/.htaccess
+ test/source/_includes/params.html
test/source/_includes/sig.markdown
test/source/_layouts/default.html
test/source/_layouts/simple.html
diff --git a/lib/jekyll.rb b/lib/jekyll.rb
index 06242de9..77cc7cd5 100644
--- a/lib/jekyll.rb
+++ b/lib/jekyll.rb
@@ -58,7 +58,7 @@ require_all 'jekyll/tags'
SafeYAML::OPTIONS[:suppress_warnings] = true
module Jekyll
- VERSION = '1.0.3'
+ VERSION = '1.1.0'
# Public: Generate a Jekyll configuration Hash by merging the default
# options with anything in _config.yml, and adding the given options on top.
diff --git a/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown b/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
new file mode 100644
index 00000000..c379ba8a
--- /dev/null
+++ b/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
@@ -0,0 +1,27 @@
+---
+layout: news_item
+title: "Jekyll 1.1.0 Released"
+date: "2013-07-14 19:38:02 +0200"
+author: parkr
+version: 1.1.0
+categories: [release]
+---
+
+After a month of hard work, the Jekyll core team is excited to announce the release of
+Jekyll v1.1.0! This latest release of Jekyll brings some really exciting new additions:
+
+- Add 'docs' subcommand to read Jekyll's docs when offline. ([#1046][])
+- Support passing parameters to templates in 'include' tag ([#1204][])
+- Add support for Liquid tags to post excerpts ([#1302][])
+- Fix pagination for subdirectories ([#1198][])
+- Provide better error reporting when generating sites ([#1253][])
+- Latest posts first in non-LSI `related_posts` ([#1271][])
+
+See the [History][] page for more a more detailed changelog for this release.
+
+{% assign issue_numbers = "1046|1204|1302|1198|1171|1118|1098|1215|1253|1271" | split: "|" %}
+{% for issue in issue_numbers %}
+[#{{ issue }}]: https://github.com/mojombo/jekyll/issues/{{ issue }}
+{% endfor %}
+
+[History]: /docs/history/#110__20130714
From e8662422e3afa3141bff897abd5a735170456b58 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 19:53:48 +0200
Subject: [PATCH 21/85] Add Jekyll v1.1.0 release notes post.
---
jekyll.gemspec | 1 +
1 file changed, 1 insertion(+)
diff --git a/jekyll.gemspec b/jekyll.gemspec
index a39ac9a5..c99f5161 100644
--- a/jekyll.gemspec
+++ b/jekyll.gemspec
@@ -139,6 +139,7 @@ Gem::Specification.new do |s|
site/_posts/2013-05-08-jekyll-1-0-1-released.markdown
site/_posts/2013-05-12-jekyll-1-0-2-released.markdown
site/_posts/2013-06-07-jekyll-1-0-3-released.markdown
+ site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
site/css/gridism.css
site/css/normalize.css
site/css/pygments.css
From 07406baabeb36c1c3e1d2455392fec672d91dffd Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 19:57:09 +0200
Subject: [PATCH 22/85] Update history files.
---
History.markdown | 4 +--
site/docs/history.md | 70 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 72 insertions(+), 2 deletions(-)
diff --git a/History.markdown b/History.markdown
index a672e253..cfec4072 100644
--- a/History.markdown
+++ b/History.markdown
@@ -13,8 +13,8 @@
## 1.1.0 / 2013-07-14
### Major Enhancements
- * Add 'docs' subcommand to read Jekyll's docs when offline. (#1046)
- * Support passing parameters to templates in 'include' tag (#1204)
+ * Add `docs` subcommand to read Jekyll's docs when offline. (#1046)
+ * Support passing parameters to templates in `include` tag (#1204)
* Add support for Liquid tags to post excerpts (#1302)
### Minor Enhancements
diff --git a/site/docs/history.md b/site/docs/history.md
index d71fbfd6..e531e79b 100644
--- a/site/docs/history.md
+++ b/site/docs/history.md
@@ -5,6 +5,76 @@ permalink: /docs/history/
prev_section: contributing
---
+## 1.1.0 / 2013-07-14
+
+### Major Enhancements
+- Add `docs` subcommand to read Jekyll's docs when offline. ([#1046](https://github.com/mojombo/jekyll/issues/1046))
+- Support passing parameters to templates in `include` tag ([#1204](https://github.com/mojombo/jekyll/issues/1204))
+- Add support for Liquid tags to post excerpts ([#1302](https://github.com/mojombo/jekyll/issues/1302))
+
+### Minor Enhancements
+- Search the hierarchy of pagination path up to site root to determine template page for
+ pagination. ([#1198](https://github.com/mojombo/jekyll/issues/1198))
+- Add the ability to generate a new Jekyll site without a template ([#1171](https://github.com/mojombo/jekyll/issues/1171))
+- Use redcarpet as the default markdown engine in newly generated
+ sites ([#1245](https://github.com/mojombo/jekyll/issues/1245), [#1247](https://github.com/mojombo/jekyll/issues/1247))
+- Add `redcarpet` as a runtime dependency so `jekyll build` works out-of-the-box for new
+ sites. ([#1247](https://github.com/mojombo/jekyll/issues/1247))
+- In the generated site, remove files that will be replaced by a
+ directory ([#1118](https://github.com/mojombo/jekyll/issues/1118))
+- Fail loudly if a user-specified configuration file doesn't exist ([#1098](https://github.com/mojombo/jekyll/issues/1098))
+- Allow for all options for Kramdown HTML Converter ([#1201](https://github.com/mojombo/jekyll/issues/1201))
+
+### Bug Fixes
+- Fix pagination in subdirectories. ([#1198](https://github.com/mojombo/jekyll/issues/1198))
+- Fix an issue with directories and permalinks that have a plus sign
+ (+) in them ([#1215](https://github.com/mojombo/jekyll/issues/1215))
+- Provide better error reporting when generating sites ([#1253](https://github.com/mojombo/jekyll/issues/1253))
+- Latest posts first in non-LSI `related_posts` ([#1271](https://github.com/mojombo/jekyll/issues/1271))
+
+### Development Fixes
+- Merge the theme and layout cucumber steps into one step ([#1151](https://github.com/mojombo/jekyll/issues/1151))
+- Restrict activesupport dependency to pre-4.0.0 to maintain compatibility with `<= 1.9.2`
+- Include/exclude deprecation handling simplification ([#1284](https://github.com/mojombo/jekyll/issues/1284))
+- Convert README to Markdown. ([#1267](https://github.com/mojombo/jekyll/issues/1267))
+- Refactor Jekyll::Site ([#1144](https://github.com/mojombo/jekyll/issues/1144))
+
+### Site Enhancements
+- Add "News" section for release notes, along with an RSS feed ([#1093](https://github.com/mojombo/jekyll/issues/1093), [#1285](https://github.com/mojombo/jekyll/issues/1285), [#1286](https://github.com/mojombo/jekyll/issues/1286))
+- Add "History" page.
+- Restructured docs sections to include "Meta" section.
+- Add message to "Templates" page that specifies that Python must be installed in order
+ to use Pygments. ([#1182](https://github.com/mojombo/jekyll/issues/1182))
+- Update link to the official Maruku repo ([#1175](https://github.com/mojombo/jekyll/issues/1175))
+- Add documentation about `paginate_path` to "Templates" page in docs ([#1129](https://github.com/mojombo/jekyll/issues/1129))
+- Give the quick-start guide its own page ([#1191](https://github.com/mojombo/jekyll/issues/1191))
+- Update ProTip on Installation page in docs to point to all the info about Pygments and
+ the 'highlight' tag. ([#1196](https://github.com/mojombo/jekyll/issues/1196))
+- Run `site/img` through ImageOptim (thanks [@qrush](https://github.com/qrush)!) ([#1208](https://github.com/mojombo/jekyll/issues/1208))
+- Added Jade Converter to `site/docs/plugins` ([#1210](https://github.com/mojombo/jekyll/issues/1210))
+- Fix location of docs pages in Contributing pages ([#1214](https://github.com/mojombo/jekyll/issues/1214))
+- Add ReadInXMinutes plugin to the plugin list ([#1222](https://github.com/mojombo/jekyll/issues/1222))
+- Remove plugins from the plugin list that have equivalents in Jekyll
+ proper ([#1223](https://github.com/mojombo/jekyll/issues/1223))
+- Add jekyll-assets to the plugin list ([#1225](https://github.com/mojombo/jekyll/issues/1225))
+- Add jekyll-pandoc-mulitple-formats to the plugin list ([#1229](https://github.com/mojombo/jekyll/issues/1229))
+- Remove dead link to "Using Git to maintain your blog" ([#1227](https://github.com/mojombo/jekyll/issues/1227))
+- Tidy up the third-party plugins listing ([#1228](https://github.com/mojombo/jekyll/issues/1228))
+- Update contributor information ([#1192](https://github.com/mojombo/jekyll/issues/1192))
+- Update URL of article about Blogger migration ([#1242](https://github.com/mojombo/jekyll/issues/1242))
+- Specify that RedCarpet is the default for new Jekyll sites on Quickstart page ([#1247](https://github.com/mojombo/jekyll/issues/1247))
+- Added site.pages to Variables page in docs ([#1251](https://github.com/mojombo/jekyll/issues/1251))
+- Add Youku and Tudou Embed link on Plugins page. ([#1250](https://github.com/mojombo/jekyll/issues/1250))
+- Add note that `gist` tag supports private gists. ([#1248](https://github.com/mojombo/jekyll/issues/1248))
+- Add `jekyll-timeago` to list of third-party plugins. ([#1260](https://github.com/mojombo/jekyll/issues/1260))
+- Add `jekyll-swfobject` to list of third-party plugins. ([#1263](https://github.com/mojombo/jekyll/issues/1263))
+- Add `jekyll-picture-tag` to list of third-party plugins. ([#1280](https://github.com/mojombo/jekyll/issues/1280))
+- Update the GitHub Pages documentation regarding relative URLs
+ ([#1291](https://github.com/mojombo/jekyll/issues/1291))
+- Update the S3 deployment documentation ([#1294](https://github.com/mojombo/jekyll/issues/1294))
+- Add suggestion for Xcode CLT install to troubleshooting page in docs ([#1296](https://github.com/mojombo/jekyll/issues/1296))
+- Add 'Working with drafts' page to docs ([#1289](https://github.com/mojombo/jekyll/issues/1289))
+
## 1.0.3 / 2013-06-07
### Minor Enhancements
From 05e843c34bfff792337d6617a229e674c604df65 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 19:58:18 +0200
Subject: [PATCH 23/85] Make 'docs' and 'include' code.
---
site/_posts/2013-07-14-jekyll-1-1-0-released.markdown | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown b/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
index c379ba8a..a94a0e84 100644
--- a/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
+++ b/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
@@ -10,8 +10,8 @@ categories: [release]
After a month of hard work, the Jekyll core team is excited to announce the release of
Jekyll v1.1.0! This latest release of Jekyll brings some really exciting new additions:
-- Add 'docs' subcommand to read Jekyll's docs when offline. ([#1046][])
-- Support passing parameters to templates in 'include' tag ([#1204][])
+- Add `docs` subcommand to read Jekyll's docs when offline. ([#1046][])
+- Support passing parameters to templates in `include` tag ([#1204][])
- Add support for Liquid tags to post excerpts ([#1302][])
- Fix pagination for subdirectories ([#1198][])
- Provide better error reporting when generating sites ([#1253][])
From e5b2b9b4cd8905394ad067d7a1dba60211a6da1e Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 20:12:04 +0200
Subject: [PATCH 24/85] @mojombo asked us to use Releases on GitHub. Link to it
in our release notes.
---
site/_posts/2013-07-14-jekyll-1-1-0-released.markdown | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown b/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
index a94a0e84..06df9470 100644
--- a/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
+++ b/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
@@ -17,11 +17,11 @@ Jekyll v1.1.0! This latest release of Jekyll brings some really exciting new add
- Provide better error reporting when generating sites ([#1253][])
- Latest posts first in non-LSI `related_posts` ([#1271][])
-See the [History][] page for more a more detailed changelog for this release.
+See the [GitHub Release][] page for more a more detailed changelog for this release.
{% assign issue_numbers = "1046|1204|1302|1198|1171|1118|1098|1215|1253|1271" | split: "|" %}
{% for issue in issue_numbers %}
[#{{ issue }}]: https://github.com/mojombo/jekyll/issues/{{ issue }}
{% endfor %}
-[History]: /docs/history/#110__20130714
+[History]: https://github.com/mojombo/jekyll/releases/tag/v1.1.0
From 11142992ae28742ed35314b9cf36497901f969bf Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 14 Jul 2013 20:14:26 +0200
Subject: [PATCH 25/85] Woopsie.
---
site/_posts/2013-07-14-jekyll-1-1-0-released.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown b/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
index 06df9470..4d373598 100644
--- a/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
+++ b/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
@@ -24,4 +24,4 @@ See the [GitHub Release][] page for more a more detailed changelog for this rele
[#{{ issue }}]: https://github.com/mojombo/jekyll/issues/{{ issue }}
{% endfor %}
-[History]: https://github.com/mojombo/jekyll/releases/tag/v1.1.0
+[GitHub Release]: https://github.com/mojombo/jekyll/releases/tag/v1.1.0
From 404332ae359d4cc853152242f3f046c7715e6efb Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Sun, 14 Jul 2013 13:53:45 -0500
Subject: [PATCH 26/85] Update history to reflect merge of #1304
---
History.markdown | 2 ++
1 file changed, 2 insertions(+)
diff --git a/History.markdown b/History.markdown
index cfec4072..878eead4 100644
--- a/History.markdown
+++ b/History.markdown
@@ -79,6 +79,8 @@
* Update the S3 deployment documentation (#1294)
* Add suggestion for Xcode CLT install to troubleshooting page in docs (#1296)
* Add 'Working with drafts' page to docs (#1289)
+ * Add information about time zones to the documentation for a page's
+ date (#1304)
## 1.0.3 / 2013-06-07
From d402427b81af6e7b6e573e1b5f9dedc1de4c072a Mon Sep 17 00:00:00 2001
From: Rob Wierzbowski
Date: Sun, 14 Jul 2013 18:58:45 -0400
Subject: [PATCH 27/85] Add Jekyll Image Tag to the plugins list
---
site/docs/plugins.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/site/docs/plugins.md b/site/docs/plugins.md
index 19e06ecc..541346d6 100644
--- a/site/docs/plugins.md
+++ b/site/docs/plugins.md
@@ -435,6 +435,7 @@ Levin](https://github.com/kinnetica/jekyll-plugins)
- [jekyll-timeago](https://github.com/markets/jekyll-timeago): Time-ago Liquid filter
- [jekyll-swfobject](https://github.com/sectore/jekyll-swfobject): Liquid plugin for embedding Adobe Flash files (`*.swf`) using [SWFObject](http://code.google.com/p/swfobject/)
- [Jekyll Picture Tag](https://github.com/robwierzbowski/jekyll-picture-tag): Easy responsive images for Jekyll. Based on the proposed [``](http://picture.responsiveimages.org/) element, polyfilled with Scott Jelh's [Picturefill](https://github.com/scottjehl/picturefill).
+- [Jekyll Image Tag](https://github.com/robwierzbowski/jekyll-image-tag): Better images for Jekyll. Save image presets, generate resized images, and add classes, alt text, and other attributes.
Jekyll Plugins Wanted
From 349ec1f75dcb5750317ce8b5ff570f9b989d8ff3 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Tue, 16 Jul 2013 11:23:20 +0200
Subject: [PATCH 28/85] Update history to reflect merge of #1306.
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 878eead4..640a2468 100644
--- a/History.markdown
+++ b/History.markdown
@@ -9,6 +9,7 @@
### Development Fixes
### Site Enhancements
+ * Add Jekyll Image Tag to the plugins list (#1306)
## 1.1.0 / 2013-07-14
From 1f6839baca0500efcd010ac8c89e6b9f9f9349cf Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Tue, 16 Jul 2013 11:24:14 +0200
Subject: [PATCH 29/85] Update history page in the docs to include #1304.
---
site/docs/history.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/site/docs/history.md b/site/docs/history.md
index e531e79b..338cb95a 100644
--- a/site/docs/history.md
+++ b/site/docs/history.md
@@ -74,6 +74,8 @@ prev_section: contributing
- Update the S3 deployment documentation ([#1294](https://github.com/mojombo/jekyll/issues/1294))
- Add suggestion for Xcode CLT install to troubleshooting page in docs ([#1296](https://github.com/mojombo/jekyll/issues/1296))
- Add 'Working with drafts' page to docs ([#1289](https://github.com/mojombo/jekyll/issues/1289))
+- Add information about time zones to the documentation for a page's
+ date ([#1304](https://github.com/mojombo/jekyll/issues/1304))
## 1.0.3 / 2013-06-07
From b8b9e7989914dc6bff3a820859a745b36d76b047 Mon Sep 17 00:00:00 2001
From: Rob Wierzbowski
Date: Mon, 15 Jul 2013 17:34:09 -0400
Subject: [PATCH 30/85] Organize plugins into categories, clean up copy.
---
site/docs/plugins.md | 174 +++++++++++++++++++++++--------------------
1 file changed, 93 insertions(+), 81 deletions(-)
diff --git a/site/docs/plugins.md b/site/docs/plugins.md
index 541346d6..8614e8d7 100644
--- a/site/docs/plugins.md
+++ b/site/docs/plugins.md
@@ -350,93 +350,105 @@ end
## Available Plugins
-There are a few useful, prebuilt plugins at the following locations:
+You can find a few useful plugins at the following locations:
-- [Truncate HTML while preserving markup structure](https://github.com/MattHall/truncatehtml) by [Matt Hall](http://codebeef.com)
-- [Domain Name Filter by Lawrence Woodman](https://github.com/LawrenceWoodman/domain_name-liquid_filter): Filters the input text so that just the domain name is left
-- [Jekyll Plugins by Recursive Design](http://recursive-design.com/projects/jekyll-plugins/): Plugin to generate Project pages from GitHub readmes, a Category page plugin, and a Sitemap generator
-- [Pygments Cache Path by Raimonds Simanovskis](https://github.com/rsim/blog.rayapps.com/blob/master/_plugins/pygments_cache_patch.rb): Plugin to cache syntax-highlighted code from Pygments
-- [Delicious Plugin by Christian Hellsten](https://github.com/christianhellsten/jekyll-plugins): Fetches and renders bookmarks from delicious.com.
-- [Ultraviolet plugin by Steve Alex](https://gist.github.com/480380): Jekyll Plugin for Ultraviolet
-- [Jade plugin by John Papandriopoulos](https://github.com/snappylabs/jade-jekyll-plugin): Jade Converter plugin for Jekyll
-- [HAML plugin by Sam Z](https://gist.github.com/517556): HAML plugin for jekyll
-- [ArchiveGenerator by Ilkka Laukkanen](https://gist.github.com/707909): Uses [this archive page](https://gist.github.com/707020) to generate archives
-- [Tag Cloud Plugin by Ilkka Laukkanen](https://gist.github.com/710577): Jekyll tag cloud / tag pages plugin
-- [HAML/SASS Converter by Adam Pearson](https://gist.github.com/481456): Simple haml-sass conversion for jekyll. [Fork](https://gist.github.com/528642) by Sam X
-- [SASS scss Converter by Mark Wolfe](https://gist.github.com/960150): Jekyll Converter which uses the new css compatible syntax, based on the one written by Sam X.
-- [GIT Tag by Alexandre Girard](https://gist.github.com/730347): Jekyll plugin to add Git activity inside a list
-- [Draft/Publish Plugin by Michael Ivey](https://gist.github.com/49630)
-- [Less.js generator by Andy Fowler](https://gist.github.com/642739): Jekyll plugin to render less.js files during generation.
-- [Less Converter by Jason Graham](https://gist.github.com/639920): A Jekyll plugin to convert a .less file to .css
-- [Less Converter by Josh Brown](https://gist.github.com/760265)
+#### Generators
-- [MathJax Liquid Tags by Jessy Cowan-Sharp](https://gist.github.com/834610): A simple liquid tag for Jekyll that converts and into inline math, and and into block equations, by replacing with the appropriate MathJax script tags.
-- [Non-JS Gist Tag by Brandon Tilley](https://gist.github.com/1027674) A Liquid tag for Jekyll sites that allows embedding Gists and showing code for non-JavaScript enabled browsers and readers.
-- [Growl Notification Generator by Tate Johnson](https://gist.github.com/490101)
-- [Growl Notification Hook by Tate Johnson](https://gist.github.com/525267): Better alternative to the above, but requires his “hook” fork.
-- [Version Reporter by Blake Smith](https://gist.github.com/449491)
-- [Upcase Converter by Blake Smith](https://gist.github.com/449463)
-- [Render Time Tag by Blake Smith](https://gist.github.com/449509)
-- [Summarize Filter by Mathieu Arnold](https://gist.github.com/731597)
-- [Status.net/OStatus Tag by phaer](https://gist.github.com/912466)
-- [CoffeeScript converter by phaer](https://gist.github.com/959938): Put this file in `plugins` and write a YAML header to your .coffee files. See [http://coffeescript.org](http://coffeescript.org) for more info
-- [Raw Tag by phaer.](https://gist.github.com/1020852): Keeps liquid from parsing text betweeen `{{ "{% raw " }}%}` and `{{ "{% endraw " }}%}`
-- [URL encoding by James An](https://gist.github.com/919275)
-- [Sitemap.xml Generator by Michael
-Levin](https://github.com/kinnetica/jekyll-plugins)
-- [Markdown references by Olov Lassus](https://github.com/olov/jekyll-references): Keep all your markdown reference-style link definitions in one file (_references.md)
-- [Full-text search by Pascal Widdershoven](https://github.com/PascalW/jekyll_indextank): Add full-text search to your Jekyll site with this plugin and a bit of JavaScript.
-- [Stylus Converter](https://gist.github.com/988201) Convert .styl to .css.
-- [Embed.ly client by Robert Böhnke](https://github.com/robb/jekyll-embedly-client) Autogenerate embeds from URLs using oEmbed.
-- [Logarithmic Tag Cloud](https://gist.github.com/2290195): Flexible. Logarithmic distribution. Documentation inline.
-- [Related Posts by Lawrence Woodman](https://github.com/LawrenceWoodman/related_posts-jekyll_plugin): Overrides `site.related_posts` to use categories to assess relationship
-- [AliasGenerator by Thomas Mango](https://github.com/tsmango/jekyll_alias_generator): Generates redirect pages for posts when an alias configuration is specified in the YAML Front Matter.
-- [FlickrSetTag by Thomas Mango](https://github.com/tsmango/jekyll_flickr_set_tag): Generates image galleries from Flickr sets.
-- [Projectlist by Frederic Hemberger](https://github.com/fhemberger/jekyll-projectlist): Loads all files from a directory and renders the entries into a single page, instead of creating separate posts.
-- [Tiered Archives by Eli Naeher](https://gist.github.com/88cda643aa7e3b0ca1e5): creates a tiered template variable that allows you to create archives grouped by year and month.
-- [oEmbed Tag by Tammo van Lessen](https://gist.github.com/1455726): enables easy content embedding (e.g. from YouTube, Flickr, Slideshare) via oEmbed.
-- [Company website and blog plugins](https://github.com/flatterline/jekyll-plugins) by Flatterline, a [Ruby on Rails development company](http://flatterline.com/): portfolio/project page generator, team/individual page generator, author bio liquid template tag for use on posts and a few other smaller plugins.
-- [Transform Layouts](https://gist.github.com/1472645) Monkey patching allowing HAML layouts (you need a HAML Converter plugin for this to work)
-- [ReStructuredText converter](https://github.com/xdissent/jekyll-rst): Converts ReST documents to HTML with Pygments syntax highlighting.
-- [Tweet Tag by Scott W. Bradley](https://github.com/scottwb/jekyll-tweet-tag): Liquid tag for [Embedded Tweets](https://dev.twitter.com/docs/embedded-tweets) using Twitter’s shortcodes
-- [jekyll-localization](https://github.com/blackwinter/jekyll-localization): Jekyll plugin that adds localization features to the rendering engine.
-- [jekyll-rendering](https://github.com/blackwinter/jekyll-rendering): Jekyll plugin to provide alternative rendering engines.
-- [jekyll-pagination](https://github.com/blackwinter/jekyll-pagination): Jekyll plugin to extend the pagination generator.
-- [jekyll-tagging](https://github.com/pattex/jekyll-tagging): Jekyll plugin to automatically generate a tag cloud and tag pages.
-- [jekyll-contentblocks](https://github.com/rustygeldmacher/jekyll-contentblocks): Lets you use Rails-like content_for tags in your templates, for passing content from your posts up to your layouts.
-- [Generate YouTube Embed (tag)](https://gist.github.com/1805814) by [joelverhagen](https://github.com/joelverhagen): Jekyll plugin which allows you to embed a YouTube video in your page with the YouTube ID. Optionally specify width and height dimensions. Like “oEmbed Tag” but just for YouTube.
-- [JSON Filter](https://gist.github.com/1850654) by [joelverhagen](https://github.com/joelverhagen): filter that takes input text and outputs it as JSON. Great for rendering JavaScript.
-- [jekyll-beastiepress](https://github.com/okeeblow/jekyll-beastiepress): FreeBSD utility tags for Jekyll sites.
-- [jsonball](https://gist.github.com/1895282): reads json files and produces maps for use in jekylled files
-- [bibjekyll](https://github.com/pablooliveira/bibjekyll): render BibTeX-formatted bibliographies/citations included in posts/pages using bibtex2html
-- [jekyll-citation](https://github.com/archome/jekyll-citation): render BibTeX-formatted bibliographies/citations included in posts/pages (pure Ruby)
-- [jekyll-scholar](https://github.com/inukshuk/jekyll-scholar): Jekyll extensions for the blogging scholar
-- [jekyll-asset_bundler](https://github.com/moshen/jekyll-asset_bundler): bundles and minifies JavaScript and CSS
-- [Jekyll Dribbble Set Tag](https://github.com/ericdfields/Jekyll-Dribbble-Set-Tag): builds Dribbble image galleries from any user
-- [debbugs](https://gist.github.com/2218470): allows posting links to Debian BTS easily
-- [refheap_tag](https://github.com/aburdette/refheap_tag): Liquid tag that allows embedding pastes from [refheap](https://refheap.com)
+- [ArchiveGenerator by Ilkka Laukkanen](https://gist.github.com/707909): Uses [this archive page](https://gist.github.com/707020) to generate archives.
+- [LESS.js Generator by Andy Fowler](https://gist.github.com/642739): Renders LESS.js files during generation.
+- [Version Reporter by Blake Smith](https://gist.github.com/449491): Creates a version.html file containing the Jekyll version.
+- [Sitemap.xml Generator by Michael Levin](https://github.com/kinnetica/jekyll-plugins): Generates a sitemap.xml file by traversing all of the available posts and pages.
+- [Full-text search by Pascal Widdershoven](https://github.com/PascalW/jekyll_indextank): Adds full-text search to your Jekyll site with a plugin and a bit of JavaScript.
+- [AliasGenerator by Thomas Mango](https://github.com/tsmango/jekyll_alias_generator): Generates redirect pages for posts when an alias is specified in the YAML Front Matter.
+- [Projectlist by Frederic Hemberger](https://github.com/fhemberger/jekyll-projectlist): Renders files in a directory as a single page instead of separate posts.
+
+#### Converters
+
+- [Jade plugin by John Papandriopoulos](https://github.com/snappylabs/jade-jekyll-plugin): Jade converter for Jekyll.
+- [HAML plugin by Sam Z](https://gist.github.com/517556): HAML converter for Jekyll.
+- [HAML-Sass Converter by Adam Pearson](https://gist.github.com/481456): Simple HAML-Sass converter for Jekyll. [Fork](https://gist.github.com/528642) by Sam X.
+- [Sass SCSS Converter by Mark Wolfe](https://gist.github.com/960150): Sass converter which uses the new CSS compatible syntax, based Sam X's fork above.
+- [LESS Converter by Jason Graham](https://gist.github.com/639920): Convert LESS files to CSS.
+- [LESS Converter by Josh Brown](https://gist.github.com/760265): Simple LESS converter.
+- [Upcase Converter by Blake Smith](https://gist.github.com/449463): An example Jekyll converter.
+- [CoffeeScript Converter by phaer](https://gist.github.com/959938): A [CoffeeScript](http://coffeescript.org) to Javascript converter.
+- [Markdown References by Olov Lassus](https://github.com/olov/jekyll-references): Keep all your markdown reference-style link definitions in one _references.md file.
+- [Stylus Converter](https://gist.github.com/988201): Convert .styl to .css.
+- [ReStructuredText Converter](https://github.com/xdissent/jekyll-rst): Converts ReST documents to HTML with Pygments syntax highlighting.
+- [Jekyll-pandoc-plugin](https://github.com/dsanson/jekyll-pandoc-plugin): Use pandoc for rendering markdown.
+- [Jekyll-pandoc-multiple-formats](https://github.com/fauno/jekyll-pandoc-multiple-formats) by [edsl](https://github.com/edsl): Use pandoc to generate your site in multiple formats. Supports pandoc's markdown extensions.
+- [ReStructuredText Converter](https://github.com/xdissent/jekyll-rst): Converts ReST documents to HTML with Pygments syntax highlighting.
+- [Transform Layouts](https://gist.github.com/1472645): Allows HAML layouts (you need a HAML Converter plugin for this to work).
+
+#### Filters
+
+- [Truncate HTML](https://github.com/MattHall/truncatehtml) by [Matt Hall](http://codebeef.com): A Jekyll filter that truncates HTML while preserving markup structure.
+- [Domain Name Filter by Lawrence Woodman](https://github.com/LawrenceWoodman/domain_name-liquid_filter): Filters the input text so that just the domain name is left.
+- [Summarize Filter by Mathieu Arnold](https://gist.github.com/731597): Remove markup after a `
` tag.
+- [URL encoding by James An](https://gist.github.com/919275): Percent encoding for URIs.
+- [JSON Filter](https://gist.github.com/1850654) by [joelverhagen](https://github.com/joelverhagen): Filter that takes input text and outputs it as JSON. Great for rendering JavaScript.
- [i18n_filter](https://github.com/gacha/gacha.id.lv/blob/master/_plugins/i18n_filter.rb): Liquid filter to use I18n localization.
-- [singlepage-jekyll](https://github.com/JCB-K/singlepage-jekyll) by [JCB-K](https://github.com/JCB-K): turns Jekyll into a dynamic one-page website.
-- [flickr](https://github.com/reagent/fleakr): Embed photos from flickr right into your posts.
-- [jekyll-devonly_tag](https://gist.github.com/2403522): A block tag for including markup only during development.
-- [Jekyll plugins by Aucor](https://github.com/aucor/jekyll-plugins): Plugins for eg. trimming unwanted newlines/whitespace and sorting pages by weight attribute.
-- [jekyll-pandoc-plugin](https://github.com/dsanson/jekyll-pandoc-plugin): use pandoc for rendering markdown.
-- [File compressor](https://gist.github.com/2758691) by [mytharcher](https://github.com/mytharcher): Compress HTML (\*.html) and JavaScript(\*.js) files when output.
-- [smilify](https://github.com/SaswatPadhi/jekyll_smilify) by [SaswatPadhi](https://github.com/SaswatPadhi): Convert text emoticons in your content to themeable smiley pics. [Demo](http://saswatpadhi.github.com/)
-- [jekyll-minibundle](https://github.com/tkareine/jekyll-minibundle): Asset bundling and cache busting using external minification tool of your choice, no gem dependencies.
-- [JekyllGalleryTag](https://github.com/redwallhp/JekyllGalleryTag) by [redwallhp](https://github.com/redwallhp): Generates thumbnails from a directory of images and displays them in a grid with a Liquid tag.
-- [Read in X Minutes](https://gist.github.com/zachleat/5792681) by [zachleat](https://github.com/zachleat): Estimates the reading time of a string (use for blog post content).
-- [jekyll-assets](http://ixti.net/jekyll-assets/) by [ixti](https://github.com/ixti): Rails-alike assets pipeline (write assets in CoffeeScript, SASS, LESS etc; specify dependencies for automatic bundling using simple declarative comments in assets; minify and compress; use JST templates; cache bust; and many-many more).
-- [jekyll-pandoc-multiple-formats](https://github.com/fauno/jekyll-pandoc-multiple-formats)
- by [edsl](https://github.com/edsl): Use pandoc to generate your site in
- multiple formats plus support for pandoc's markdown extensions.
-- [Youku and Tudou Embed](https://gist.github.com/Yexiaoxing/5891929): Liquid plugin for
- embedding Youku and Tudou videos
-- [jekyll-timeago](https://github.com/markets/jekyll-timeago): Time-ago Liquid filter
-- [jekyll-swfobject](https://github.com/sectore/jekyll-swfobject): Liquid plugin for embedding Adobe Flash files (`*.swf`) using [SWFObject](http://code.google.com/p/swfobject/)
+- [Smilify](https://github.com/SaswatPadhi/jekyll_smilify) by [SaswatPadhi](https://github.com/SaswatPadhi): Convert text emoticons in your content to themeable smiley pics ([Demo](http://saswatpadhi.github.com/)).
+- [Read in X Minutes](https://gist.github.com/zachleat/5792681) by [zachleat](https://github.com/zachleat): Estimates the reading time of a string (for blog post content).
+- [Jekyll-timeago](https://github.com/markets/jekyll-timeago): Converts a time value to the time ago in words.
+
+#### Tags
+
+- [Delicious Plugin by Christian Hellsten](https://github.com/christianhellsten/jekyll-plugins): Fetches and renders bookmarks from delicious.com.
+- [Ultraviolet Plugin by Steve Alex](https://gist.github.com/480380): Jekyll tag for the [Ultraviolet](http://ultraviolet.rubyforge.org/) code highligher.
+- [Tag Cloud Plugin by Ilkka Laukkanen](https://gist.github.com/710577): Generate a tag cloud that links to tag pages.
+- [GIT Tag by Alexandre Girard](https://gist.github.com/730347): Add Git activity inside a list.
+- [MathJax Liquid Tags by Jessy Cowan-Sharp](https://gist.github.com/834610): Simple liquid tags for Jekyll that convert inline math and block equations to the appropriate MathJax script tags.
+- [Non-JS Gist Tag by Brandon Tilley](https://gist.github.com/1027674) A Liquid tag that embeds Gists and shows code for non-JavaScript enabled browsers and readers.
+- [Render Time Tag by Blake Smith](https://gist.github.com/449509): Displays the time a Jekyll page was generated.
+- [Status.net/OStatus Tag by phaer](https://gist.github.com/912466): Displays the notices in a given status.net/ostatus feed.
+- [Raw Tag by phaer](https://gist.github.com/1020852): Keeps liquid from parsing text betweeen `raw` tags.
+- [Embed.ly client by Robert Böhnke](https://github.com/robb/jekyll-embedly-client): Autogenerate embeds from URLs using oEmbed.
+- [Logarithmic Tag Cloud](https://gist.github.com/2290195): Flexible. Logarithmic distribution. Documentation inline.
+- [oEmbed Tag by Tammo van Lessen](https://gist.github.com/1455726): Enables easy content embedding (e.g. from YouTube, Flickr, Slideshare) via oEmbed.
+- [FlickrSetTag by Thomas Mango](https://github.com/tsmango/jekyll_flickr_set_tag): Generates image galleries from Flickr sets.
+- [Tweet Tag by Scott W. Bradley](https://github.com/scottwb/jekyll-tweet-tag): Liquid tag for [Embedded Tweets](https://dev.twitter.com/docs/embedded-tweets) using Twitter’s shortcodes.
+- [Jekyll-contentblocks](https://github.com/rustygeldmacher/jekyll-contentblocks): Lets you use Rails-like content_for tags in your templates, for passing content from your posts up to your layouts.
+- [Generate YouTube Embed](https://gist.github.com/1805814) by [joelverhagen](https://github.com/joelverhagen): Jekyll plugin which allows you to embed a YouTube video in your page with the YouTube ID. Optionally specify width and height dimensions. Like “oEmbed Tag” but just for YouTube.
+- [Jekyll-beastiepress](https://github.com/okeeblow/jekyll-beastiepress): FreeBSD utility tags for Jekyll sites.
+- [Jsonball](https://gist.github.com/1895282): Reads json files and produces maps for use in Jekyll files.
+- [Bibjekyll](https://github.com/pablooliveira/bibjekyll): Render BibTeX-formatted bibliographies/citations included in posts and pages using bibtex2html.
+- [Jekyll-citation](https://github.com/archome/jekyll-citation): Render BibTeX-formatted bibliographies/citations included in posts and pages (pure Ruby).
+- [Jekyll Dribbble Set Tag](https://github.com/ericdfields/Jekyll-Dribbble-Set-Tag): Builds Dribbble image galleries from any user.
+- [Debbugs](https://gist.github.com/2218470): Allows posting links to Debian BTS easily.
+- [Refheap_tag](https://github.com/aburdette/refheap_tag): Liquid tag that allows embedding pastes from [refheap](https://refheap.com).
+- [Jekyll-devonly_tag](https://gist.github.com/2403522): A block tag for including markup only during development.
+- [JekyllGalleryTag](https://github.com/redwallhp/JekyllGalleryTag) by [redwallhp](https://github.com/redwallhp): Generates thumbnails from a directory of images and displays them in a grid.
+- [Youku and Tudou Embed](https://gist.github.com/Yexiaoxing/5891929): Liquid plugin for embedding Youku and Tudou videos.
+- [Jekyll-swfobject](https://github.com/sectore/jekyll-swfobject): Liquid plugin for embedding Adobe Flash files (*.swf) using [SWFObject](http://code.google.com/p/swfobject/).
- [Jekyll Picture Tag](https://github.com/robwierzbowski/jekyll-picture-tag): Easy responsive images for Jekyll. Based on the proposed [``](http://picture.responsiveimages.org/) element, polyfilled with Scott Jelh's [Picturefill](https://github.com/scottjehl/picturefill).
- [Jekyll Image Tag](https://github.com/robwierzbowski/jekyll-image-tag): Better images for Jekyll. Save image presets, generate resized images, and add classes, alt text, and other attributes.
+#### Collections
+
+- [Jekyll Plugins by Recursive Design](http://recursive-design.com/projects/jekyll-plugins/): Plugins to generate Project pages from GitHub readmes, a Category page, and a Sitemap generator.
+- [Company website and blog plugins](https://github.com/flatterline/jekyll-plugins) by Flatterline, a [Ruby on Rails development company](http://flatterline.com/): Portfolio/project page generator, team/individual page generator, an author bio liquid tag for use on posts, and a few other smaller plugins.
+- [Jekyll plugins by Aucor](https://github.com/aucor/jekyll-plugins): Plugins for trimming unwanted newlines/whitespace and sorting pages by weight attribute.
+
+#### Other
+
+- [Pygments Cache Path by Raimonds Simanovskis](https://github.com/rsim/blog.rayapps.com/blob/master/_plugins/pygments_cache_patch.rb): Plugin to cache syntax-highlighted code from Pygments.
+- [Draft/Publish Plugin by Michael Ivey](https://gist.github.com/49630): Save posts as drafts.
+- [Growl Notification Generator by Tate Johnson](https://gist.github.com/490101): Send Jekyll notifications to Growl.
+- [Growl Notification Hook by Tate Johnson](https://gist.github.com/525267): Better alternative to the above, but requires his “hook” fork.
+- [Related Posts by Lawrence Woodman](https://github.com/LawrenceWoodman/related_posts-jekyll_plugin): Overrides `site.related_posts` to use categories to assess relationship.
+- [Tiered Archives by Eli Naeher](https://gist.github.com/88cda643aa7e3b0ca1e5): Create tiered template variable that allows you to group archives by year and month.
+- [Jekyll-localization](https://github.com/blackwinter/jekyll-localization): Jekyll plugin that adds localization features to the rendering engine.
+- [Jekyll-rendering](https://github.com/blackwinter/jekyll-rendering): Jekyll plugin to provide alternative rendering engines.
+- [Jekyll-pagination](https://github.com/blackwinter/jekyll-pagination): Jekyll plugin to extend the pagination generator.
+- [Jekyll-tagging](https://github.com/pattex/jekyll-tagging): Jekyll plugin to automatically generate a tag cloud and tag pages.
+- [Jekyll-scholar](https://github.com/inukshuk/jekyll-scholar): Jekyll extensions for the blogging scholar.
+- [Jekyll-asset_bundler](https://github.com/moshen/jekyll-asset_bundler): Bundles and minifies JavaScript and CSS.
+- [Jekyll-assets](http://ixti.net/jekyll-assets/) by [ixti](https://github.com/ixti): Rails-alike assets pipeline (write assets in CoffeeScript, Sass, LESS etc; specify dependencies for automatic bundling using simple declarative comments in assets; minify and compress; use JST templates; cache bust; and many-many more).
+- [File compressor](https://gist.github.com/2758691) by [mytharcher](https://github.com/mytharcher): Compress HTML and JavaScript files on site build.
+- [Jekyll-minibundle](https://github.com/tkareine/jekyll-minibundle): Asset bundling and cache busting using external minification tool of your choice. No gem dependencies.
+- [Singlepage-jekyll](https://github.com/JCB-K/singlepage-jekyll) by [JCB-K](https://github.com/JCB-K): Turns Jekyll into a dynamic one-page website.
+
Jekyll Plugins Wanted
From afb1561c83ad0d842a1680ed86b68c655e213d42 Mon Sep 17 00:00:00 2001
From: Rob Wierzbowski
Date: Tue, 16 Jul 2013 03:17:57 -0400
Subject: [PATCH 31/85] Escape/remove single '_' and '*'s that maruku chokes
on.
---
site/docs/plugins.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/site/docs/plugins.md b/site/docs/plugins.md
index 8614e8d7..5575d4e9 100644
--- a/site/docs/plugins.md
+++ b/site/docs/plugins.md
@@ -372,7 +372,7 @@ You can find a few useful plugins at the following locations:
- [LESS Converter by Josh Brown](https://gist.github.com/760265): Simple LESS converter.
- [Upcase Converter by Blake Smith](https://gist.github.com/449463): An example Jekyll converter.
- [CoffeeScript Converter by phaer](https://gist.github.com/959938): A [CoffeeScript](http://coffeescript.org) to Javascript converter.
-- [Markdown References by Olov Lassus](https://github.com/olov/jekyll-references): Keep all your markdown reference-style link definitions in one _references.md file.
+- [Markdown References by Olov Lassus](https://github.com/olov/jekyll-references): Keep all your markdown reference-style link definitions in one \_references.md file.
- [Stylus Converter](https://gist.github.com/988201): Convert .styl to .css.
- [ReStructuredText Converter](https://github.com/xdissent/jekyll-rst): Converts ReST documents to HTML with Pygments syntax highlighting.
- [Jekyll-pandoc-plugin](https://github.com/dsanson/jekyll-pandoc-plugin): Use pandoc for rendering markdown.
@@ -420,7 +420,7 @@ You can find a few useful plugins at the following locations:
- [Jekyll-devonly_tag](https://gist.github.com/2403522): A block tag for including markup only during development.
- [JekyllGalleryTag](https://github.com/redwallhp/JekyllGalleryTag) by [redwallhp](https://github.com/redwallhp): Generates thumbnails from a directory of images and displays them in a grid.
- [Youku and Tudou Embed](https://gist.github.com/Yexiaoxing/5891929): Liquid plugin for embedding Youku and Tudou videos.
-- [Jekyll-swfobject](https://github.com/sectore/jekyll-swfobject): Liquid plugin for embedding Adobe Flash files (*.swf) using [SWFObject](http://code.google.com/p/swfobject/).
+- [Jekyll-swfobject](https://github.com/sectore/jekyll-swfobject): Liquid plugin for embedding Adobe Flash files (.swf) using [SWFObject](http://code.google.com/p/swfobject/).
- [Jekyll Picture Tag](https://github.com/robwierzbowski/jekyll-picture-tag): Easy responsive images for Jekyll. Based on the proposed [``](http://picture.responsiveimages.org/) element, polyfilled with Scott Jelh's [Picturefill](https://github.com/scottjehl/picturefill).
- [Jekyll Image Tag](https://github.com/robwierzbowski/jekyll-image-tag): Better images for Jekyll. Save image presets, generate resized images, and add classes, alt text, and other attributes.
From 37dc75941055c7543bc78edb8a027ff2ca11c054 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Tue, 16 Jul 2013 18:04:56 +0200
Subject: [PATCH 32/85] Pages are not alphabetical.
https://github.com/mojombo/jekyll/commit/f25fe1c86fd6d9fb05f23222711e3678d4453371#commitcomment-3644377
---
site/docs/variables.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/site/docs/variables.md b/site/docs/variables.md
index 979d358d..cf710f3e 100644
--- a/site/docs/variables.md
+++ b/site/docs/variables.md
@@ -88,7 +88,7 @@ following is a reference of the available data.
site.pages
- An alphabetical list of all Pages.
+ A list of all Pages.
From 475c4c399db58e4bf3318f4cf208e893c60fe329 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Tue, 16 Jul 2013 18:05:53 +0200
Subject: [PATCH 33/85] Update history to reflect removal of erroneous
statement in docs about site.pages' sorting.
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 640a2468..410d3d3e 100644
--- a/History.markdown
+++ b/History.markdown
@@ -10,6 +10,7 @@
### Site Enhancements
* Add Jekyll Image Tag to the plugins list (#1306)
+ * Remove erroneous statement that `site.pages` are sorted alphabetically.
## 1.1.0 / 2013-07-14
From 52b3afdb714022dbab8260d77404df954522bcb2 Mon Sep 17 00:00:00 2001
From: John Hughes
Date: Tue, 16 Jul 2013 20:30:22 +0100
Subject: [PATCH 34/85] Update Extras page in the docs to include Kramdown to
fix #1313
---
site/docs/extras.md | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/site/docs/extras.md b/site/docs/extras.md
index db25ebf5..3344f8ac 100644
--- a/site/docs/extras.md
+++ b/site/docs/extras.md
@@ -19,7 +19,7 @@ fork](http://github.com/remi/maruku).
## RDiscount
If you prefer to use [RDiscount](http://github.com/rtomayko/rdiscount) instead
-of [Maruku](http://github.com/bhollis/maruku) for markdown, just make sure you have
+of [Maruku](http://github.com/bhollis/maruku) for Markdown, just make sure you have
it installed:
{% highlight bash %}
@@ -33,3 +33,24 @@ have Jekyll run with that option.
# In _config.yml
markdown: rdiscount
{% endhighlight %}
+
+## Kramdown
+
+You can also use [Kramdown](http://kramdown.rubyforge.org/) instead of Maruku
+for Markdown. Make sure that Kramdown is installed:
+
+{% highlight bash %}
+$ sudo gem install kramdown
+{% endhighlight %}
+
+Then you can specify Kramdown as the Markdown engine in `_config.yml`.
+
+{% highlight bash %}
+# In _config.yml
+markdown: kramdown
+{% endhighlight %}
+
+Kramdown has various options for customizing the HTML output. The
+[Configuration](/docs/configuration/) page lists the default options used by
+Jekyll. A complete list of options is also available on the [Kramdown
+website](http://kramdown.rubyforge.org/options.html).
From aae84c4180b84c29a538f29ad552eac7099ed063 Mon Sep 17 00:00:00 2001
From: John Hughes
Date: Tue, 16 Jul 2013 21:01:01 +0100
Subject: [PATCH 35/85] Add brackets around sudo on Extras page
---
site/docs/extras.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/site/docs/extras.md b/site/docs/extras.md
index 3344f8ac..11ecce8f 100644
--- a/site/docs/extras.md
+++ b/site/docs/extras.md
@@ -23,7 +23,7 @@ of [Maruku](http://github.com/bhollis/maruku) for Markdown, just make sure you h
it installed:
{% highlight bash %}
-$ sudo gem install rdiscount
+$ [sudo] gem install rdiscount
{% endhighlight %}
And then specify RDiscount as the Markdown engine in your `_config.yml` file to
@@ -40,7 +40,7 @@ You can also use [Kramdown](http://kramdown.rubyforge.org/) instead of Maruku
for Markdown. Make sure that Kramdown is installed:
{% highlight bash %}
-$ sudo gem install kramdown
+$ [sudo] gem install kramdown
{% endhighlight %}
Then you can specify Kramdown as the Markdown engine in `_config.yml`.
From 2e8c4359a1029101aefd41fb396d748b823b9f1f Mon Sep 17 00:00:00 2001
From: John Hughes
Date: Tue, 16 Jul 2013 21:06:30 +0100
Subject: [PATCH 36/85] Change syntax highlighting to YAML on Extras page
---
site/docs/extras.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/site/docs/extras.md b/site/docs/extras.md
index 11ecce8f..0c190ec1 100644
--- a/site/docs/extras.md
+++ b/site/docs/extras.md
@@ -29,7 +29,7 @@ $ [sudo] gem install rdiscount
And then specify RDiscount as the Markdown engine in your `_config.yml` file to
have Jekyll run with that option.
-{% highlight bash %}
+{% highlight yaml %}
# In _config.yml
markdown: rdiscount
{% endhighlight %}
@@ -45,7 +45,7 @@ $ [sudo] gem install kramdown
Then you can specify Kramdown as the Markdown engine in `_config.yml`.
-{% highlight bash %}
+{% highlight yaml %}
# In _config.yml
markdown: kramdown
{% endhighlight %}
From 7d18d2843b882258a9a478aeaf91fa7494c0edde Mon Sep 17 00:00:00 2001
From: Anatol Broder
Date: Wed, 17 Jul 2013 01:11:00 +0200
Subject: [PATCH 37/85] Add description for drafts folder. Fix #1319
---
site/docs/structure.md | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/site/docs/structure.md b/site/docs/structure.md
index 98bbef3a..aade3127 100644
--- a/site/docs/structure.md
+++ b/site/docs/structure.md
@@ -60,6 +60,18 @@ An overview of what each of these does:
+
+
+
_drafts
+
+
+
+
+ Drafts are unpublished posts. The format of these files is without a date: title.MARKUP. Learn how to work with drafts.
+
+
+
+
_includes
From 840f57ca07607f23188560d700d4f2bdd5567f48 Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Tue, 16 Jul 2013 22:38:02 -0500
Subject: [PATCH 38/85] Update history to reflect merge of #1320
---
History.markdown | 2 ++
1 file changed, 2 insertions(+)
diff --git a/History.markdown b/History.markdown
index 410d3d3e..f9e120d0 100644
--- a/History.markdown
+++ b/History.markdown
@@ -11,6 +11,8 @@
### Site Enhancements
* Add Jekyll Image Tag to the plugins list (#1306)
* Remove erroneous statement that `site.pages` are sorted alphabetically.
+ * Add info about the `_drafts` directory to the directory structure
+ docs (#1320)
## 1.1.0 / 2013-07-14
From 4df051c49bdb05e75ec86568f2e1fde92165cfdb Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Tue, 16 Jul 2013 22:49:32 -0500
Subject: [PATCH 39/85] Update history to reflect merge of #1310
---
History.markdown | 2 ++
1 file changed, 2 insertions(+)
diff --git a/History.markdown b/History.markdown
index f9e120d0..231c5838 100644
--- a/History.markdown
+++ b/History.markdown
@@ -13,6 +13,8 @@
* Remove erroneous statement that `site.pages` are sorted alphabetically.
* Add info about the `_drafts` directory to the directory structure
docs (#1320)
+ * Improve the layout of the plugin listing by organizing it into
+ categories (#1310)
## 1.1.0 / 2013-07-14
From a880b7f99f7a392848d16bc428dc17b97170c0d5 Mon Sep 17 00:00:00 2001
From: Wlodek Bzyl
Date: Fri, 19 Jul 2013 16:01:04 +0200
Subject: [PATCH 40/85] Remove superfluous 'table' selector from main.css in
'jekyll new' site template. Closes #1323
---
lib/site_template/css/main.css | 5 -----
1 file changed, 5 deletions(-)
diff --git a/lib/site_template/css/main.css b/lib/site_template/css/main.css
index 0e86700b..50a81804 100755
--- a/lib/site_template/css/main.css
+++ b/lib/site_template/css/main.css
@@ -29,11 +29,6 @@ a { color: #00a; }
a:hover { color: #000; }
a:visited { color: #a0a; }
-table {
- font-size: inherit;
- font: 100%;
-}
-
/*****************************************************************************/
/*
/* Home
From 5c9aa191239ddee9c6550a22f1583e50c431bb41 Mon Sep 17 00:00:00 2001
From: Rob Wierzbowski
Date: Fri, 19 Jul 2013 11:03:31 -0400
Subject: [PATCH 41/85] Add generator-jekyllrb and grunt-jekyll to plugins page
---
site/docs/plugins.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/site/docs/plugins.md b/site/docs/plugins.md
index 5575d4e9..f38595fa 100644
--- a/site/docs/plugins.md
+++ b/site/docs/plugins.md
@@ -448,6 +448,8 @@ You can find a few useful plugins at the following locations:
- [File compressor](https://gist.github.com/2758691) by [mytharcher](https://github.com/mytharcher): Compress HTML and JavaScript files on site build.
- [Jekyll-minibundle](https://github.com/tkareine/jekyll-minibundle): Asset bundling and cache busting using external minification tool of your choice. No gem dependencies.
- [Singlepage-jekyll](https://github.com/JCB-K/singlepage-jekyll) by [JCB-K](https://github.com/JCB-K): Turns Jekyll into a dynamic one-page website.
+- [generator-jekyllrb](https://github.com/robwierzbowski/generator-jekyllrb): A generator that wraps Jekyll in [Yeoman](http://yeoman.io/), a tool collection and workflow for builing modern web apps.
+- [grunt-jekyll](https://github.com/dannygarcia/grunt-jekyll): A straightforward [Grunt](http://gruntjs.com/) plugin for Jekyll.
Jekyll Plugins Wanted
From 2b6bd5a40f76c897e3ae06caf9828eb2eb1a1396 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sat, 20 Jul 2013 23:54:44 +0200
Subject: [PATCH 42/85] Update history to reflect merge of #1328
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 231c5838..aecbe07e 100644
--- a/History.markdown
+++ b/History.markdown
@@ -3,6 +3,7 @@
### Major Enhancements
### Minor Enhancements
+ * Remove superfluous `table` selector from main.css in `jekyll new` template (#1328)
### Bug Fixes
From b3b46f28740240563ef523e6e9c3a2a56f138513 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sat, 20 Jul 2013 23:55:21 +0200
Subject: [PATCH 43/85] Update history to reflect merge of #1330
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index aecbe07e..7c2259cf 100644
--- a/History.markdown
+++ b/History.markdown
@@ -16,6 +16,7 @@
docs (#1320)
* Improve the layout of the plugin listing by organizing it into
categories (#1310)
+ * Add generator-jekyllrb and grunt-jekyll to plugins page (#1330)
## 1.1.0 / 2013-07-14
From 258c7d6e4a0c064ec46ed5234dde9989f3b0c52e Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sat, 20 Jul 2013 23:57:29 +0200
Subject: [PATCH 44/85] Update history to reflect merge of #1318
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 7c2259cf..977d5f2d 100644
--- a/History.markdown
+++ b/History.markdown
@@ -17,6 +17,7 @@
* Improve the layout of the plugin listing by organizing it into
categories (#1310)
* Add generator-jekyllrb and grunt-jekyll to plugins page (#1330)
+ * Mention Kramdown as option for markdown parser on Extras page (#1318)
## 1.1.0 / 2013-07-14
From 234f35a025b515a30460ed9038b1fadd257c6510 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 21 Jul 2013 00:07:25 +0200
Subject: [PATCH 45/85] Update Quick-Start page to include reminder that all
requirements must be installed for Jekyll to work. Fixes #1327.
---
site/docs/quickstart.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/site/docs/quickstart.md b/site/docs/quickstart.md
index e1a325a5..65af42b3 100644
--- a/site/docs/quickstart.md
+++ b/site/docs/quickstart.md
@@ -25,3 +25,8 @@ advantage of all the awesome configuration options Jekyll makes available.
In Jekyll 1.1, we switched the default markdown engine for sites
generated with jekyll new to Redcarpet
+
+If you're running into problems, ensure you have all the [requirements
+installed][Installation].
+
+[Installation]: /docs/installation/
From 36e5d5da036cafa86de6120aa468b5b18ceadbab Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 21 Jul 2013 00:08:05 +0200
Subject: [PATCH 46/85] Update history to reflect closing of #1327
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 977d5f2d..e51e39df 100644
--- a/History.markdown
+++ b/History.markdown
@@ -18,6 +18,7 @@
categories (#1310)
* Add generator-jekyllrb and grunt-jekyll to plugins page (#1330)
* Mention Kramdown as option for markdown parser on Extras page (#1318)
+ * Update Quick-Start page to include reminder that all requirements must be installed (#1327)
## 1.1.0 / 2013-07-14
From f4d6ffeaac3ef6be7d2df0ec2c568cf0673751e5 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 21 Jul 2013 00:12:31 +0200
Subject: [PATCH 47/85] Include an HTML file in Templates docs so as not to
confuse - we don't automatically markdownify/textilize includes. Fixes #1303.
---
site/docs/templates.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/site/docs/templates.md b/site/docs/templates.md
index b1152c3b..bf70932d 100644
--- a/site/docs/templates.md
+++ b/site/docs/templates.md
@@ -185,17 +185,17 @@ If you have small page fragments that you wish to include in multiple places on
your site, you can use the `include` tag.
{% highlight ruby %}
-{% raw %}{% include sig.md %}{% endraw %}
+{% raw %}{% include footer.html %}{% endraw %}
{% endhighlight %}
Jekyll expects all include files to be placed in an `_includes` directory at the
root of your source directory. This will embed the contents of
-`/_includes/sig.md` into the calling file.
+`/_includes/footer.html` into the calling file.
You can also pass parameters to an include:
{% highlight ruby %}
-{% raw %}{% include sig.textile param="value" %}{% endraw %}
+{% raw %}{% include footer.html param="value" %}{% endraw %}
{% endhighlight %}
These parameters are available via Liquid in the include:
From 9e22d23801fad50a7b69d84c0827a216a57a6717 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Sun, 21 Jul 2013 00:13:44 +0200
Subject: [PATCH 48/85] Update history to reflect closing of #1303
---
History.markdown | 2 ++
1 file changed, 2 insertions(+)
diff --git a/History.markdown b/History.markdown
index e51e39df..436e50a3 100644
--- a/History.markdown
+++ b/History.markdown
@@ -19,6 +19,8 @@
* Add generator-jekyllrb and grunt-jekyll to plugins page (#1330)
* Mention Kramdown as option for markdown parser on Extras page (#1318)
* Update Quick-Start page to include reminder that all requirements must be installed (#1327)
+ * Change filename in `include` example to an HTML file so as not to indicate that Jekyll
+ will automatically convert them. (#1303)
## 1.1.0 / 2013-07-14
From 5fb13d8047162111d2ed10067d509471933d20b1 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 10:04:45 +0200
Subject: [PATCH 49/85] Create a default command to run help if there are no
arguments but to fail with non-zero exit code if the command is invalid.
Props to @ggilder.
---
bin/jekyll | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/bin/jekyll b/bin/jekyll
index 01f97cf9..fe61508e 100755
--- a/bin/jekyll
+++ b/bin/jekyll
@@ -12,7 +12,7 @@ program :name, 'jekyll'
program :version, Jekyll::VERSION
program :description, 'Jekyll is a blog-aware, static site generator in Ruby'
-default_command :help
+default_command :default
global_option '-s', '--source [DIR]', 'Source directory (defaults to ./)'
global_option '-d', '--destination [DIR]', 'Destination directory (defaults to ./_site)'
@@ -33,6 +33,16 @@ def normalize_options(options)
options
end
+command :default do |c|
+ c.action do |args, options|
+ if args.empty?
+ command(:help).run
+ else
+ Jekyll.logger.abort_with "Invalid command. Use --help for more information"
+ end
+ end
+end
+
command :new do |c|
c.syntax = 'jekyll new PATH'
c.description = 'Creates a new Jekyll site scaffold in PATH'
From 374e6fcdf47292fad582abfe406126c971a70253 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 10:07:15 +0200
Subject: [PATCH 50/85] Add Jekyll::Stevenson#abort_with
---
lib/jekyll/stevenson.rb | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/lib/jekyll/stevenson.rb b/lib/jekyll/stevenson.rb
index 5be5f04c..b825cea5 100644
--- a/lib/jekyll/stevenson.rb
+++ b/lib/jekyll/stevenson.rb
@@ -5,7 +5,7 @@ module Jekyll
DEBUG = 0
INFO = 1
WARN = 2
- ERROR = 3
+ ERROR = 3
# Public: Create a new instance of Stevenson, Jekyll's logger
#
@@ -22,7 +22,7 @@ module Jekyll
# message - the message detail
#
# Returns nothing
- def info(topic, message)
+ def info(topic, message = nil)
$stdout.puts(message(topic, message)) if log_level <= INFO
end
@@ -32,7 +32,7 @@ module Jekyll
# message - the message detail
#
# Returns nothing
- def warn(topic, message)
+ def warn(topic, message = nil)
$stderr.puts(message(topic, message).yellow) if log_level <= WARN
end
@@ -42,10 +42,21 @@ module Jekyll
# message - the message detail
#
# Returns nothing
- def error(topic, message)
+ def error(topic, message = nil)
$stderr.puts(message(topic, message).red) if log_level <= ERROR
end
+ # Public: Print a Jekyll error message to stderr and immediately abort the process
+ #
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
+ # message - the message detail (can be omitted)
+ #
+ # Returns nothing
+ def abort_with(topic, message = nil)
+ error(topic, message)
+ abort
+ end
+
# Public: Build a Jekyll topic method
#
# topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
From 04e0b318c8d9395a4b780c0ff2671b4e51a22afe Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 19 Jul 2013 15:43:04 +0200
Subject: [PATCH 51/85] Remove duplicate comment
---
lib/jekyll/excerpt.rb | 36 ------------------------------------
1 file changed, 36 deletions(-)
diff --git a/lib/jekyll/excerpt.rb b/lib/jekyll/excerpt.rb
index 16584963..ce0c3351 100644
--- a/lib/jekyll/excerpt.rb
+++ b/lib/jekyll/excerpt.rb
@@ -1,41 +1,5 @@
module Jekyll
class Excerpt
-
- # Internal: Extract excerpt from the content
- #
- # By default excerpt is your first paragraph of a post: everything before
- # the first two new lines:
- #
- # ---
- # title: Example
- # ---
- #
- # First paragraph with [link][1].
- #
- # Second paragraph.
- #
- # [1]: http://example.com/
- #
- # This is fairly good option for Markdown and Textile files. But might cause
- # problems for HTML posts (which is quite unusual for Jekyll). If default
- # excerpt delimiter is not good for you, you might want to set your own via
- # configuration option `excerpt_separator`. For example, following is a good
- # alternative for HTML posts:
- #
- # # file: _config.yml
- # excerpt_separator: ""
- #
- # Notice that all markdown-style link references will be appended to the
- # excerpt. So the example post above will have this excerpt source:
- #
- # First paragraph with [link][1].
- #
- # [1]: http://example.com/
- #
- # Excerpts are rendered same time as content is rendered.
- #
- # Returns excerpt String
-
include Convertible
attr_accessor :post
From 0e0e25b9ba75105295fb925751af83d6793fd83f Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 19 Jul 2013 15:43:26 +0200
Subject: [PATCH 52/85] start with Excerpt#output, otherwise call #to_s
---
lib/jekyll/post.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb
index 1b70e31e..387c2752 100644
--- a/lib/jekyll/post.rb
+++ b/lib/jekyll/post.rb
@@ -109,7 +109,7 @@ module Jekyll
if self.data.has_key? 'excerpt'
self.data['excerpt']
else
- self.extracted_excerpt.to_s
+ self.extracted_excerpt.output || self.extracted_excerpt.to_s
end
end
From f99c726085569fffcb65de0a28da93df1473369b Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 19 Jul 2013 15:44:01 +0200
Subject: [PATCH 53/85] Override Excerpt#render_all_layouts to just assign
content to output
---
lib/jekyll/excerpt.rb | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/jekyll/excerpt.rb b/lib/jekyll/excerpt.rb
index ce0c3351..fb63f5cb 100644
--- a/lib/jekyll/excerpt.rb
+++ b/lib/jekyll/excerpt.rb
@@ -31,6 +31,10 @@ module Jekyll
(output && output.include?(something)) || content.include?(something)
end
+ def render_all_layouts(layouts, payload, info)
+ output = content
+ end
+
# The UID for this post (useful in feeds).
# e.g. /2008/11/05/my-awesome-post
#
From c6a37a424b25b0ff73fa80cd80ebf5868a457ec1 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Fri, 19 Jul 2013 15:46:20 +0200
Subject: [PATCH 54/85] Debug statements - take them out later
---
lib/jekyll/convertible.rb | 1 +
lib/jekyll/excerpt.rb | 2 ++
2 files changed, 3 insertions(+)
diff --git a/lib/jekyll/convertible.rb b/lib/jekyll/convertible.rb
index b247ac4e..1e5cfdeb 100644
--- a/lib/jekyll/convertible.rb
+++ b/lib/jekyll/convertible.rb
@@ -78,6 +78,7 @@ module Jekyll
#
# Returns the converted content
def render_liquid(content, payload, info)
+ Jekyll.logger.debug "Rendering Liquid for #{self.path}", ""
Liquid::Template.parse(content).render!(payload, info)
rescue Exception => e
Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{payload[:file]}"
diff --git a/lib/jekyll/excerpt.rb b/lib/jekyll/excerpt.rb
index fb63f5cb..682bf135 100644
--- a/lib/jekyll/excerpt.rb
+++ b/lib/jekyll/excerpt.rb
@@ -33,6 +33,7 @@ module Jekyll
def render_all_layouts(layouts, payload, info)
output = content
+ Jekyll.logger.debug "Output of", "#{self.path} => '#{self.output}'"
end
# The UID for this post (useful in feeds).
@@ -51,6 +52,7 @@ module Jekyll
end
def to_s
+ Jekyll.logger.debug "Excerpt#to_s:", "#{output} || #{content}"
output || content
end
From e3594728706db09aae99401b317fdb64a9751b2e Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 11:30:19 +0200
Subject: [PATCH 55/85] May as well add Stevenson#debug
---
lib/jekyll/stevenson.rb | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/lib/jekyll/stevenson.rb b/lib/jekyll/stevenson.rb
index 5be5f04c..12e65651 100644
--- a/lib/jekyll/stevenson.rb
+++ b/lib/jekyll/stevenson.rb
@@ -15,6 +15,16 @@ module Jekyll
def initialize(level = INFO)
@log_level = level
end
+
+ # Public: Print a jekyll debug message to stdout
+ #
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
+ # message - the message detail
+ #
+ # Returns nothing
+ def debug(topic, message = nil)
+ $stdout.puts(message(topic, message)) if log_level <= DEBUG
+ end
# Public: Print a jekyll message to stdout
#
From 26dc14881c444198f2c57d740d8ab126525a5b67 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 11:31:15 +0200
Subject: [PATCH 56/85] Moving data around to make sure excerpts have no
layouts but that they are still converted with liquid and the proper
converter
---
lib/jekyll/excerpt.rb | 43 +++++++++++++++++++++++++------------------
lib/jekyll/post.rb | 24 ++++++++++++++----------
2 files changed, 39 insertions(+), 28 deletions(-)
diff --git a/lib/jekyll/excerpt.rb b/lib/jekyll/excerpt.rb
index 682bf135..768acd97 100644
--- a/lib/jekyll/excerpt.rb
+++ b/lib/jekyll/excerpt.rb
@@ -13,27 +13,41 @@ module Jekyll
#
# Returns the new Post.
def initialize(post)
- @post = post
- @content = extract_excerpt(post.content)
+ self.post = post
+ self.content = extract_excerpt(post.content)
end
- %w[site name data ext].each do |meth|
+ %w[site name ext].each do |meth|
define_method(meth) do
post.send(meth)
end
end
+ def to_liquid
+ post.to_liquid(Post::EXCERPT_ATTRIBUTES_FOR_LIQUID)
+ end
+
+ # Fetch YAML front-matter data from related post, without layout key
+ #
+ # Returns Hash of post data
+ def data
+ @data ||= post.data.dup
+ @data.delete("layout") if @data.has_key?("layout")
+ @data
+ end
+
+ # 'Path' of the excerpt.
+ #
+ # Returns the path for the post this excerpt belongs to with #excerpt appended
def path
File.join(post.path, "#excerpt")
end
+ # Check if excerpt includes a string
+ #
+ # Returns true if the string passed in
def include?(something)
- (output && output.include?(something)) || content.include?(something)
- end
-
- def render_all_layouts(layouts, payload, info)
- output = content
- Jekyll.logger.debug "Output of", "#{self.path} => '#{self.output}'"
+ (self.output && self.output.include?(something)) || self.content.include?(something)
end
# The UID for this post (useful in feeds).
@@ -44,16 +58,9 @@ module Jekyll
File.join(post.dir, post.slug, "#excerpt")
end
- # Convert this post into a Hash for use in Liquid templates.
- #
- # Returns the representative Hash.
- def to_liquid
- post.to_liquid
- end
-
def to_s
- Jekyll.logger.debug "Excerpt#to_s:", "#{output} || #{content}"
- output || content
+ Jekyll.logger.debug "Excerpt#to_s:", "#{self.output} || #{content}"
+ self.output || self.content
end
# Returns the shorthand String identifier of this Post.
diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb
index 387c2752..693517a6 100644
--- a/lib/jekyll/post.rb
+++ b/lib/jekyll/post.rb
@@ -10,8 +10,7 @@ module Jekyll
# Valid post name regex.
MATCHER = /^(.+\/)*(\d+-\d+-\d+)-(.*)(\.[^.]+)$/
- # Attributes for Liquid templates
- ATTRIBUTES_FOR_LIQUID = %w[
+ EXCERPT_ATTRIBUTES_FOR_LIQUID = %w[
title
url
date
@@ -20,11 +19,15 @@ module Jekyll
next
previous
tags
- content
- excerpt
path
]
+ # Attributes for Liquid templates
+ ATTRIBUTES_FOR_LIQUID = EXCERPT_ATTRIBUTES_FOR_LIQUID.concat(%w[
+ content
+ excerpt
+ ])
+
# Post name validator. Post filenames must be like:
# 2008-11-05-my-awesome-post.textile
#
@@ -109,7 +112,7 @@ module Jekyll
if self.data.has_key? 'excerpt'
self.data['excerpt']
else
- self.extracted_excerpt.output || self.extracted_excerpt.to_s
+ self.extracted_excerpt.to_s
end
end
@@ -249,12 +252,13 @@ module Jekyll
# construct payload
payload = {
"site" => { "related_posts" => related_posts(site_payload["site"]["posts"]) },
- "page" => self.to_liquid
+ "page" => self.to_liquid(EXCERPT_ATTRIBUTES_FOR_LIQUID)
}.deep_merge(site_payload)
- self.extracted_excerpt.do_layout(payload, layouts)
+ self.extracted_excerpt.do_layout(payload, {})
+ Jekyll.logger.info("", "#{self.excerpt}".green)
- do_layout(payload, layouts)
+ do_layout(payload.merge({"page" => self.to_liquid}), layouts)
end
# Obtain destination path.
@@ -272,8 +276,8 @@ module Jekyll
# Convert this post into a Hash for use in Liquid templates.
#
# Returns the representative Hash.
- def to_liquid
- further_data = Hash[ATTRIBUTES_FOR_LIQUID.map { |attribute|
+ def to_liquid(attrs = ATTRIBUTES_FOR_LIQUID)
+ further_data = Hash[attrs.map { |attribute|
[attribute, send(attribute)]
}]
data.deep_merge(further_data)
From f883acc6644bd60930aa88f2504af3b0e04a7f89 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 11:33:19 +0200
Subject: [PATCH 57/85] Remove debug statements
---
lib/jekyll/convertible.rb | 1 -
lib/jekyll/excerpt.rb | 1 -
lib/jekyll/post.rb | 1 -
3 files changed, 3 deletions(-)
diff --git a/lib/jekyll/convertible.rb b/lib/jekyll/convertible.rb
index 1e5cfdeb..b247ac4e 100644
--- a/lib/jekyll/convertible.rb
+++ b/lib/jekyll/convertible.rb
@@ -78,7 +78,6 @@ module Jekyll
#
# Returns the converted content
def render_liquid(content, payload, info)
- Jekyll.logger.debug "Rendering Liquid for #{self.path}", ""
Liquid::Template.parse(content).render!(payload, info)
rescue Exception => e
Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{payload[:file]}"
diff --git a/lib/jekyll/excerpt.rb b/lib/jekyll/excerpt.rb
index 768acd97..a5382466 100644
--- a/lib/jekyll/excerpt.rb
+++ b/lib/jekyll/excerpt.rb
@@ -59,7 +59,6 @@ module Jekyll
end
def to_s
- Jekyll.logger.debug "Excerpt#to_s:", "#{self.output} || #{content}"
self.output || self.content
end
diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb
index 693517a6..9ad25399 100644
--- a/lib/jekyll/post.rb
+++ b/lib/jekyll/post.rb
@@ -256,7 +256,6 @@ module Jekyll
}.deep_merge(site_payload)
self.extracted_excerpt.do_layout(payload, {})
- Jekyll.logger.info("", "#{self.excerpt}".green)
do_layout(payload.merge({"page" => self.to_liquid}), layouts)
end
From 81a7b2267267d3712eaadf8e4bf8f0b14e66b72b Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 12:22:47 +0200
Subject: [PATCH 58/85] Add a new post, bump @site.posts.size
---
.../2013-07-22-post-excerpt-with-layout.markdown | 14 ++++++++++++++
test/test_generated_site.rb | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)
create mode 100644 test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
diff --git a/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown b/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
new file mode 100644
index 00000000..3eb86140
--- /dev/null
+++ b/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
@@ -0,0 +1,14 @@
+---
+layout: post
+title: Post Excerpt with Layout
+---
+
+First paragraph with [link ref][link].
+
+Second paragraph
+
+---
+
+Third paragraph
+
+[link]: http://www.jekyllrb.com/
diff --git a/test/test_generated_site.rb b/test/test_generated_site.rb
index 35c451c5..dd24187f 100644
--- a/test/test_generated_site.rb
+++ b/test/test_generated_site.rb
@@ -14,7 +14,7 @@ class TestGeneratedSite < Test::Unit::TestCase
end
should "ensure post count is as expected" do
- assert_equal 34, @site.posts.size
+ assert_equal 35, @site.posts.size
end
should "insert site.posts into the index" do
From 1bbacbd396c812b2b840f392af0c086a37b9d864 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 12:40:49 +0200
Subject: [PATCH 59/85] Dumb tests are helpful anyway
---
test/test_excerpt.rb | 55 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
create mode 100644 test/test_excerpt.rb
diff --git a/test/test_excerpt.rb b/test/test_excerpt.rb
new file mode 100644
index 00000000..9c4b6a72
--- /dev/null
+++ b/test/test_excerpt.rb
@@ -0,0 +1,55 @@
+require 'helper'
+
+class TestExcerpt < Test::Unit::TestCase
+ def setup_post(file)
+ Post.new(@site, source_dir, '', file)
+ end
+
+ def do_render(post)
+ layouts = { "default" => Layout.new(@site, source_dir('_layouts'), "simple.html")}
+ post.render(layouts, {"site" => {"posts" => []}})
+ end
+
+ context "An extracted excerpt" do
+ setup do
+ clear_dest
+ stub(Jekyll).configuration { Jekyll::Configuration::DEFAULTS }
+ @site = Site.new(Jekyll.configuration)
+ @post = setup_post("2013-07-22-post-excerpt-with-layout.markdown")
+ end
+
+ context "#to_liquid" do
+ should "contain the proper page data to mimick the post liquid" do
+ assert_equal {}, @post.excerpt.to_liquid.to_s
+ end
+ end
+
+ context "#content" do
+
+ context "before render" do
+ should "be the first paragraph of the page" do
+ assert_equal "First paragraph with [link ref][link].\n\n[link]: http://www.jekyllrb.com/", @post.excerpt.to_s
+ end
+
+ should "contain any refs at the bottom of the page" do
+ assert @post.excerpt.to_s.include?("[link]: http://www.jekyllrb.com/")
+ end
+ end
+
+ context "after render" do
+ setup do
+ @rendered_post = @post.dup
+ do_render(@rendered_post)
+ end
+
+ should "be the first paragraph of the page" do
+ assert_equal "
", @rendered_post.excerpt.content
+ end
+
+ should "link properly" do
+ assert @rendered_post.excerpt.to_s.include?("http://www.jekyllrb.com/")
+ end
+ end
+ end
+ end
+end
From 3418a9197a2878b55f4b1e31da08baeee0a2157f Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 12:57:03 +0200
Subject: [PATCH 60/85] Add categories and tags and test #to_liquid
---
...2013-07-22-post-excerpt-with-layout.markdown | 9 +++++++++
test/test_excerpt.rb | 17 ++++++++++++-----
2 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown b/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
index 3eb86140..9d149266 100644
--- a/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
+++ b/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
@@ -1,6 +1,15 @@
---
layout: post
title: Post Excerpt with Layout
+categories:
+- jekyll
+- excerpt
+- blah
+tags:
+- first
+- second
+- third
+- jekyllrb.com
---
First paragraph with [link ref][link].
diff --git a/test/test_excerpt.rb b/test/test_excerpt.rb
index 9c4b6a72..5bdc72e0 100644
--- a/test/test_excerpt.rb
+++ b/test/test_excerpt.rb
@@ -16,11 +16,17 @@ class TestExcerpt < Test::Unit::TestCase
stub(Jekyll).configuration { Jekyll::Configuration::DEFAULTS }
@site = Site.new(Jekyll.configuration)
@post = setup_post("2013-07-22-post-excerpt-with-layout.markdown")
+ @excerpt = @post.send :extract_excerpt
end
context "#to_liquid" do
should "contain the proper page data to mimick the post liquid" do
- assert_equal {}, @post.excerpt.to_liquid.to_s
+ assert_equal "", @excerpt.to_liquid
+ assert_equal "Post Excerpt with Layout", @excerpt.to_liquid["title"]
+ assert_equal "/jekyll/excerpt/blah/2013/07/22/post-excerpt-with-layout.html", @excerpt.to_liquid["url"]
+ assert_equal Time.new(2013, 07, 22), @excerpt.to_liquid["date"]
+ assert_equal %w[jekyll excerpt blah], @excerpt.to_liquid["categories"]
+ assert_equal %w[first second third jekyllrb.com], @excerpt.to_liquid["tags"]
end
end
@@ -28,11 +34,11 @@ class TestExcerpt < Test::Unit::TestCase
context "before render" do
should "be the first paragraph of the page" do
- assert_equal "First paragraph with [link ref][link].\n\n[link]: http://www.jekyllrb.com/", @post.excerpt.to_s
+ assert_equal "First paragraph with [link ref][link].\n\n[link]: http://www.jekyllrb.com/", @excerpt.content
end
should "contain any refs at the bottom of the page" do
- assert @post.excerpt.to_s.include?("[link]: http://www.jekyllrb.com/")
+ assert @excerpt.content.include?("[link]: http://www.jekyllrb.com/")
end
end
@@ -40,14 +46,15 @@ class TestExcerpt < Test::Unit::TestCase
setup do
@rendered_post = @post.dup
do_render(@rendered_post)
+ @extracted_excerpt = @rendered_post.send :extracted_excerpt
end
should "be the first paragraph of the page" do
- assert_equal "
", @extracted_excerpt.content
end
should "link properly" do
- assert @rendered_post.excerpt.to_s.include?("http://www.jekyllrb.com/")
+ assert @extracted_excerpt.content.include?("http://www.jekyllrb.com/")
end
end
end
From 930aac3b79f41142a7123b3f897b2fed39a1ddfc Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 13:03:48 +0200
Subject: [PATCH 61/85] Unit tests are simple
---
test/test_excerpt.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/test/test_excerpt.rb b/test/test_excerpt.rb
index 5bdc72e0..48588d4f 100644
--- a/test/test_excerpt.rb
+++ b/test/test_excerpt.rb
@@ -21,12 +21,12 @@ class TestExcerpt < Test::Unit::TestCase
context "#to_liquid" do
should "contain the proper page data to mimick the post liquid" do
- assert_equal "", @excerpt.to_liquid
assert_equal "Post Excerpt with Layout", @excerpt.to_liquid["title"]
- assert_equal "/jekyll/excerpt/blah/2013/07/22/post-excerpt-with-layout.html", @excerpt.to_liquid["url"]
+ assert_equal "/bar/baz/z_category/2013/07/22/post-excerpt-with-layout.html", @excerpt.to_liquid["url"]
assert_equal Time.new(2013, 07, 22), @excerpt.to_liquid["date"]
- assert_equal %w[jekyll excerpt blah], @excerpt.to_liquid["categories"]
+ assert_equal %w[bar baz z_category], @excerpt.to_liquid["categories"]
assert_equal %w[first second third jekyllrb.com], @excerpt.to_liquid["tags"]
+ assert_equal "_posts/2013-07-22-post-excerpt-with-layout.markdown", @excerpt.to_liquid["path"]
end
end
From 95491eb7e7c111b20b86b18756a26a0f971c4595 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 13:04:07 +0200
Subject: [PATCH 62/85] update categories on the new post to not fuck up old
numbers
---
.../_posts/2013-07-22-post-excerpt-with-layout.markdown | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown b/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
index 9d149266..07b0e5f3 100644
--- a/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
+++ b/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
@@ -2,9 +2,9 @@
layout: post
title: Post Excerpt with Layout
categories:
-- jekyll
-- excerpt
-- blah
+- bar
+- baz
+- z_category
tags:
- first
- second
From 5d6b755d7d246a82f760b06bc6bfa27b01fbd6be Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 13:42:40 +0200
Subject: [PATCH 63/85] feature maybe?
---
features/post_excerpts.feature | 50 +++++++++++++++++++++++
features/step_definitions/jekyll_steps.rb | 6 +++
2 files changed, 56 insertions(+)
create mode 100644 features/post_excerpts.feature
diff --git a/features/post_excerpts.feature b/features/post_excerpts.feature
new file mode 100644
index 00000000..2254e29d
--- /dev/null
+++ b/features/post_excerpts.feature
@@ -0,0 +1,50 @@
+Feature: Post excerpts
+ As a hacker who likes to blog
+ I want to be able to make a static sitej
+ In order to share my awesome ideas with the interwebs
+ But some people can only focus for a few moments
+ So just give them a taste
+
+ Scenario: An excerpt without a layout
+ 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 the following posts:
+ | title | date | layout | content |
+ | entry1 | 2007-12-31 | post | content for entry1. |
+ When I run jekyll
+ Then the _site directory should exist
+ And I should see exactly "
content for entry1.
" in "_site/index.html"
+
+ Scenario: An excerpt 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 _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 | content for entry1. |
+ When I run jekyll
+ Then 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 "
content for entry1.
" in "_site/2007/12/31/entry1.html"
+ And I should see exactly "
content for entry1.
" in "_site/index.html"
+
+ 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 %}"
+ 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 | content for entry1. |
+ When I run jekyll
+ Then 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 "
content for entry1.
" in "_site/index.html"
+ And I should see exactly "
content for entry1.
" in "_site/2007/12/31/entry1.html"
diff --git a/features/step_definitions/jekyll_steps.rb b/features/step_definitions/jekyll_steps.rb
index 9208c4ec..136f048d 100644
--- a/features/step_definitions/jekyll_steps.rb
+++ b/features/step_definitions/jekyll_steps.rb
@@ -4,6 +4,8 @@ Before do
Dir.chdir(TEST_DIR)
end
+World(Test::Unit::Assertions)
+
Given /^I have a blank site in "(.*)"$/ do |path|
FileUtils.mkdir(path)
end
@@ -143,6 +145,10 @@ Then /^I should see "(.*)" in "(.*)"$/ do |text, file|
assert Regexp.new(text).match(File.open(file).readlines.join)
end
+Then /^I should see exactly "(.*)" in "(.*)"$/ do |text, file|
+ assert_equal text, File.open(file).readlines.join.strip
+end
+
Then /^I should not see "(.*)" in "(.*)"$/ do |text, file|
assert_no_match Regexp.new(text), File.read(file)
end
From 1e7dbcaaff7769b7a6df816ca005205824469683 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 14:37:51 +0200
Subject: [PATCH 64/85] 1.8.7 doesn't support Time.new(*args), so use
Time.parse instead
---
test/test_excerpt.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/test_excerpt.rb b/test/test_excerpt.rb
index 48588d4f..a72d1bd2 100644
--- a/test/test_excerpt.rb
+++ b/test/test_excerpt.rb
@@ -23,7 +23,7 @@ class TestExcerpt < Test::Unit::TestCase
should "contain the proper page data to mimick the post liquid" do
assert_equal "Post Excerpt with Layout", @excerpt.to_liquid["title"]
assert_equal "/bar/baz/z_category/2013/07/22/post-excerpt-with-layout.html", @excerpt.to_liquid["url"]
- assert_equal Time.new(2013, 07, 22), @excerpt.to_liquid["date"]
+ assert_equal Time.parse("2013-07-22"), @excerpt.to_liquid["date"]
assert_equal %w[bar baz z_category], @excerpt.to_liquid["categories"]
assert_equal %w[first second third jekyllrb.com], @excerpt.to_liquid["tags"]
assert_equal "_posts/2013-07-22-post-excerpt-with-layout.markdown", @excerpt.to_liquid["path"]
From a62d868c748670502029f3203a1d6b1c26f3131e Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Mon, 22 Jul 2013 14:57:44 +0200
Subject: [PATCH 65/85] s/sitej/site/ props @benbalter
---
features/post_excerpts.feature | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/features/post_excerpts.feature b/features/post_excerpts.feature
index 2254e29d..09e41338 100644
--- a/features/post_excerpts.feature
+++ b/features/post_excerpts.feature
@@ -1,6 +1,6 @@
Feature: Post excerpts
As a hacker who likes to blog
- I want to be able to make a static sitej
+ I want to be able to make a static site
In order to share my awesome ideas with the interwebs
But some people can only focus for a few moments
So just give them a taste
From d717ec7f3db427d2ca79648d96e4077ab73e1422 Mon Sep 17 00:00:00 2001
From: Anatol Broder
Date: Tue, 23 Jul 2013 19:21:06 +0200
Subject: [PATCH 66/85] Add master branch feed
---
site/_includes/top.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/site/_includes/top.html b/site/_includes/top.html
index 9a0d5a8f..8b9bce1f 100644
--- a/site/_includes/top.html
+++ b/site/_includes/top.html
@@ -5,6 +5,7 @@
{{ page.title }}
+
From 8e7b6bf5ff56e6bb8d0f1019c19b351f1d600e39 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Tue, 23 Jul 2013 20:00:27 +0200
Subject: [PATCH 67/85] Update history to reflect merge of #1338
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 436e50a3..1be8015a 100644
--- a/History.markdown
+++ b/History.markdown
@@ -4,6 +4,7 @@
### Minor Enhancements
* Remove superfluous `table` selector from main.css in `jekyll new` template (#1328)
+ * Abort with non-zero exit codes (#1338)
### Bug Fixes
From 0bb2af8dee0c7d12a9a49c9a825871cfff7d7248 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Tue, 23 Jul 2013 20:04:39 +0200
Subject: [PATCH 68/85] Remove superfluous conditional, props @mattr-
---
lib/jekyll/excerpt.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/jekyll/excerpt.rb b/lib/jekyll/excerpt.rb
index a5382466..a02272b5 100644
--- a/lib/jekyll/excerpt.rb
+++ b/lib/jekyll/excerpt.rb
@@ -32,7 +32,7 @@ module Jekyll
# Returns Hash of post data
def data
@data ||= post.data.dup
- @data.delete("layout") if @data.has_key?("layout")
+ @data.delete("layout")
@data
end
From dd4ec1691b89544f853970e3203d9e60ec4634be Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Tue, 23 Jul 2013 20:37:06 -0500
Subject: [PATCH 69/85] Update history to reflect merge of #1343
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 1be8015a..ace42e39 100644
--- a/History.markdown
+++ b/History.markdown
@@ -22,6 +22,7 @@
* Update Quick-Start page to include reminder that all requirements must be installed (#1327)
* Change filename in `include` example to an HTML file so as not to indicate that Jekyll
will automatically convert them. (#1303)
+ * Add an RSS feed for commits to Jekyll (#1343)
## 1.1.0 / 2013-07-14
From 8e0a4e927f49580ed7981610edd64da5a10e92d3 Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Tue, 23 Jul 2013 20:44:11 -0500
Subject: [PATCH 70/85] Update history to reflect merge of #1339
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index ace42e39..97fff7f5 100644
--- a/History.markdown
+++ b/History.markdown
@@ -7,6 +7,7 @@
* Abort with non-zero exit codes (#1338)
### Bug Fixes
+ * Fix up the rendering of excerpts (#1339)
### Development Fixes
From df1a4100a1f97742d1414202995840dfc65bfe44 Mon Sep 17 00:00:00 2001
From: Anatol Broder
Date: Wed, 24 Jul 2013 08:21:42 +0200
Subject: [PATCH 71/85] Use different quote types for HTML and Liquid
---
site/_includes/docs_contents.html | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/site/_includes/docs_contents.html b/site/_includes/docs_contents.html
index 909832f4..35904fbf 100644
--- a/site/_includes/docs_contents.html
+++ b/site/_includes/docs_contents.html
@@ -2,43 +2,43 @@
From fe10f21d8dd2e89df4311e67280b1f4e01ef6c3a Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Wed, 24 Jul 2013 22:42:03 +0200
Subject: [PATCH 73/85] Release 1.1.1
---
History.markdown | 12 +++++--
jekyll.gemspec | 7 +++--
lib/jekyll.rb | 2 +-
.../2013-07-24-jekyll-1-1-1-released.markdown | 31 +++++++++++++++++++
4 files changed, 47 insertions(+), 5 deletions(-)
create mode 100644 site/_posts/2013-07-24-jekyll-1-1-1-released.markdown
diff --git a/History.markdown b/History.markdown
index 97fff7f5..0f36e8d0 100644
--- a/History.markdown
+++ b/History.markdown
@@ -2,6 +2,16 @@
### Major Enhancements
+### Minor Enhancements
+
+### Bug Fixes
+
+### Development Fixes
+
+### Site Enhancements
+
+## v1.1.1 / 2013-07-24
+
### Minor Enhancements
* Remove superfluous `table` selector from main.css in `jekyll new` template (#1328)
* Abort with non-zero exit codes (#1338)
@@ -9,8 +19,6 @@
### Bug Fixes
* Fix up the rendering of excerpts (#1339)
-### Development Fixes
-
### Site Enhancements
* Add Jekyll Image Tag to the plugins list (#1306)
* Remove erroneous statement that `site.pages` are sorted alphabetically.
diff --git a/jekyll.gemspec b/jekyll.gemspec
index c99f5161..41039663 100644
--- a/jekyll.gemspec
+++ b/jekyll.gemspec
@@ -4,9 +4,9 @@ Gem::Specification.new do |s|
s.rubygems_version = '1.3.5'
s.name = 'jekyll'
- s.version = '1.1.0'
+ s.version = '1.1.1'
s.license = 'MIT'
- s.date = '2013-07-14'
+ s.date = '2013-07-24'
s.rubyforge_project = 'jekyll'
s.summary = "A simple, blog aware, static site generator."
@@ -65,6 +65,7 @@ Gem::Specification.new do |s|
features/pagination.feature
features/permalinks.feature
features/post_data.feature
+ features/post_excerpts.feature
features/site_configuration.feature
features/site_data.feature
features/step_definitions/jekyll_steps.rb
@@ -228,6 +229,7 @@ Gem::Specification.new do |s|
test/source/_posts/2013-03-19-not-a-post.markdown/.gitkeep
test/source/_posts/2013-04-11-custom-excerpt.markdown
test/source/_posts/2013-05-10-number-category.textile
+ test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown
test/source/_posts/es/2008-11-21-nested.textile
test/source/about.html
test/source/category/_posts/2008-9-23-categories.textile
@@ -248,6 +250,7 @@ Gem::Specification.new do |s|
test/test_configuration.rb
test/test_convertible.rb
test/test_core_ext.rb
+ test/test_excerpt.rb
test/test_filters.rb
test/test_generated_site.rb
test/test_kramdown.rb
diff --git a/lib/jekyll.rb b/lib/jekyll.rb
index 77cc7cd5..c1693ee3 100644
--- a/lib/jekyll.rb
+++ b/lib/jekyll.rb
@@ -58,7 +58,7 @@ require_all 'jekyll/tags'
SafeYAML::OPTIONS[:suppress_warnings] = true
module Jekyll
- VERSION = '1.1.0'
+ VERSION = '1.1.1'
# Public: Generate a Jekyll configuration Hash by merging the default
# options with anything in _config.yml, and adding the given options on top.
diff --git a/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown b/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown
new file mode 100644
index 00000000..54e40d86
--- /dev/null
+++ b/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown
@@ -0,0 +1,31 @@
+---
+layout: news_item
+title: "Jekyll 1.1.1 Released"
+date: "2013-07-24 22:24:14 +0200"
+author: parkr
+version: 1.1.1
+categories: [release]
+---
+
+
+Coming just 10 days after the release of v1.1.0, v1.1.1 is out with a patch for the nasty
+excerpt inception bug ([#1339][]) and non-zero exit codes for invalid commands
+([#1338][]).
+
+To all those affected by the [strange excerpt bug in v1.1.0][#1321], I'm sorry. I think we
+have it all patched up and it should be deployed to [GitHub Pages][gh_pages] in the next
+couple weeks. Thank you for your patience!
+
+If you're checking out v1.1.x for the first time, definitely check out [what shipped with
+v1.1.0!][v1_1_0]
+
+See the [GitHub Release][] page for more a more detailed changelog for this release.
+
+{% assign issue_numbers = "1339|1338|1321" | split: "|" %}
+{% for issue in issue_numbers %}
+[{{ issue }}]: https://github.com/mojombo/jekyll/issues/{{ issue }}
+{% endfor %}
+
+[GitHub Release]: https://github.com/mojombo/jekyll/releases/tag/v1.1.1
+[gh-pages]: http://pages.github.com
+[v1_1_0]: https://github.com/mojombo/jekyll/releases/tag/v1.1.0
From fe34165dcd0e1cb9b99daec52fa5cfc369ab7768 Mon Sep 17 00:00:00 2001
From: Ben Balter
Date: Wed, 24 Jul 2013 21:05:52 -0400
Subject: [PATCH 74/85] require liquid >= 2.5.1
---
jekyll.gemspec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/jekyll.gemspec b/jekyll.gemspec
index 41039663..8748275b 100644
--- a/jekyll.gemspec
+++ b/jekyll.gemspec
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
s.rdoc_options = ["--charset=UTF-8"]
s.extra_rdoc_files = %w[README.markdown LICENSE]
- s.add_runtime_dependency('liquid', "~> 2.3")
+ s.add_runtime_dependency('liquid', "~> 2.5.1")
s.add_runtime_dependency('classifier', "~> 1.3")
s.add_runtime_dependency('directory_watcher', "~> 1.4.1")
s.add_runtime_dependency('maruku', "~> 0.5")
From 49189844ef55e8443058fef3257bebdcda7e9248 Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Wed, 24 Jul 2013 20:27:24 -0500
Subject: [PATCH 75/85] Update history to reflect merge of #1349
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 0f36e8d0..1ea29696 100644
--- a/History.markdown
+++ b/History.markdown
@@ -5,6 +5,7 @@
### Minor Enhancements
### Bug Fixes
+ * Require Liquid 2.5.1 (#1349)
### Development Fixes
From 0db5dcf832170034f10eb3a98a4c8cb4ba069f19 Mon Sep 17 00:00:00 2001
From: Parker Moore
Date: Thu, 25 Jul 2013 09:15:34 +0200
Subject: [PATCH 76/85] Release 1.1.2
---
History.markdown | 6 ++++--
jekyll.gemspec | 7 +++++--
lib/jekyll.rb | 2 +-
.../2013-07-25-jekyll-1-0-4-released.markdown | 20 +++++++++++++++++++
.../2013-07-25-jekyll-1-1-2-released.markdown | 20 +++++++++++++++++++
5 files changed, 50 insertions(+), 5 deletions(-)
create mode 100644 site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
create mode 100644 site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
diff --git a/History.markdown b/History.markdown
index 1ea29696..f4150bc5 100644
--- a/History.markdown
+++ b/History.markdown
@@ -5,11 +5,13 @@
### Minor Enhancements
### Bug Fixes
- * Require Liquid 2.5.1 (#1349)
### Development Fixes
-### Site Enhancements
+## v1.1.2 / 2013-07-25
+
+### Bug Fixes
+ * Require Liquid 2.5.1 (#1349)
## v1.1.1 / 2013-07-24
diff --git a/jekyll.gemspec b/jekyll.gemspec
index 8748275b..b29d9667 100644
--- a/jekyll.gemspec
+++ b/jekyll.gemspec
@@ -4,9 +4,9 @@ Gem::Specification.new do |s|
s.rubygems_version = '1.3.5'
s.name = 'jekyll'
- s.version = '1.1.1'
+ s.version = '1.1.2'
s.license = 'MIT'
- s.date = '2013-07-24'
+ s.date = '2013-07-25'
s.rubyforge_project = 'jekyll'
s.summary = "A simple, blog aware, static site generator."
@@ -141,6 +141,9 @@ Gem::Specification.new do |s|
site/_posts/2013-05-12-jekyll-1-0-2-released.markdown
site/_posts/2013-06-07-jekyll-1-0-3-released.markdown
site/_posts/2013-07-14-jekyll-1-1-0-released.markdown
+ site/_posts/2013-07-24-jekyll-1-1-1-released.markdown
+ site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
+ site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
site/css/gridism.css
site/css/normalize.css
site/css/pygments.css
diff --git a/lib/jekyll.rb b/lib/jekyll.rb
index c1693ee3..3f575837 100644
--- a/lib/jekyll.rb
+++ b/lib/jekyll.rb
@@ -58,7 +58,7 @@ require_all 'jekyll/tags'
SafeYAML::OPTIONS[:suppress_warnings] = true
module Jekyll
- VERSION = '1.1.1'
+ VERSION = '1.1.2'
# Public: Generate a Jekyll configuration Hash by merging the default
# options with anything in _config.yml, and adding the given options on top.
diff --git a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
new file mode 100644
index 00000000..7228b5ac
--- /dev/null
+++ b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
@@ -0,0 +1,20 @@
+---
+layout: news_item
+title: "Jekyll 1.0.4 Released"
+date: "2013-07-25 09:08:38 +0200"
+author: parkr
+version: 1.0.4
+categories: [release]
+---
+
+This version contains a [very important security patch][230] for `Liquid::Drop` plugins
+which granted access to all non-`Drop` entities within a `Drop`, which may include your
+Rack configuration settings and many more pieces of private information which could be
+used to exploit your system. We recommend you upgrade to v1.0.4 as quickly as possible if
+you use `Liquid::Drop` plugins in your site.
+
+Many thanks for [Ben Balter](http://github.com/benbalter) for alerting us to the problem
+and [submitting a patch][1349] so quickly.
+
+[230]: https://github.com/Shopify/liquid/pull/230
+[1349]: https://github.com/mojombo/jekyll/issues/1349
diff --git a/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown b/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
new file mode 100644
index 00000000..723787d9
--- /dev/null
+++ b/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
@@ -0,0 +1,20 @@
+---
+layout: news_item
+title: "Jekyll 1.1.2 Released"
+date: "2013-07-25 09:08:38 +0200"
+author: parkr
+version: 1.1.2
+categories: [release]
+---
+
+This version contains a [very important security patch][230] for `Liquid::Drop` plugins
+which granted access to all non-`Drop` entities within a `Drop`, which may include your
+Rack configuration settings and many more pieces of private information which could be
+used to exploit your system. We recommend you upgrade to v1.1.2 as quickly as possible if
+you use `Liquid::Drop` plugins in your site.
+
+Many thanks for [Ben Balter](http://github.com/benbalter) for alerting us to the problem
+and [submitting a patch][1349] so quickly.
+
+[230]: https://github.com/Shopify/liquid/pull/230
+[1349]: https://github.com/mojombo/jekyll/issues/1349
From a1afe8918d1e85ede2f95cb8694166013e88fdff Mon Sep 17 00:00:00 2001
From: Ben Balter
Date: Thu, 25 Jul 2013 09:33:45 -0400
Subject: [PATCH 77/85] Write blog posts for humans
* Polish blog-post language for a less-technical crowd
* Emphasize that it's not a core issue
* Emphasize that it doesn't affect sites without plugins
* Break into paragraphs for easier skimability
* Explain that it affects users with access to templates, not just plugin authors
---
site/_posts/2013-07-25-jekyll-1-0-4-released.markdown | 10 +++++-----
site/_posts/2013-07-25-jekyll-1-1-2-released.markdown | 10 +++++-----
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
index 7228b5ac..815d611a 100644
--- a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
+++ b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
@@ -7,11 +7,11 @@ version: 1.0.4
categories: [release]
---
-This version contains a [very important security patch][230] for `Liquid::Drop` plugins
-which granted access to all non-`Drop` entities within a `Drop`, which may include your
-Rack configuration settings and many more pieces of private information which could be
-used to exploit your system. We recommend you upgrade to v1.0.4 as quickly as possible if
-you use `Liquid::Drop` plugins in your site.
+Version 1.0.4 fixes a minor, but none-the-less important security vulnerablity affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
+
+Community and custom plugins extending the `Liquid::Drop` class may inadvertantly disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
+
+We recommend you upgrade to Jekyll v1.0.4 immediately if you use `Liquid::Drop` plugins on your Jekyll site.
Many thanks for [Ben Balter](http://github.com/benbalter) for alerting us to the problem
and [submitting a patch][1349] so quickly.
diff --git a/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown b/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
index 723787d9..ffaa3b0f 100644
--- a/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
+++ b/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
@@ -7,11 +7,11 @@ version: 1.1.2
categories: [release]
---
-This version contains a [very important security patch][230] for `Liquid::Drop` plugins
-which granted access to all non-`Drop` entities within a `Drop`, which may include your
-Rack configuration settings and many more pieces of private information which could be
-used to exploit your system. We recommend you upgrade to v1.1.2 as quickly as possible if
-you use `Liquid::Drop` plugins in your site.
+Version 1.1.2 fixes a minor, but none-the-less important security vulnerablity affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
+
+Community and custom plugins extending the `Liquid::Drop` class may inadvertantly disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
+
+We recommend you upgrade to Jekyll v1.1.2 immediately if you use `Liquid::Drop` plugins on your Jekyll site.
Many thanks for [Ben Balter](http://github.com/benbalter) for alerting us to the problem
and [submitting a patch][1349] so quickly.
From 2b56f0dd7c76120b5cbf1e01f0554c318e1c091a Mon Sep 17 00:00:00 2001
From: Ben Balter
Date: Thu, 25 Jul 2013 09:36:47 -0400
Subject: [PATCH 78/85] :lipstick:
---
site/_posts/2013-07-25-jekyll-1-0-4-released.markdown | 6 +++---
site/_posts/2013-07-25-jekyll-1-1-2-released.markdown | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
index 815d611a..ae0d1cb9 100644
--- a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
+++ b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
@@ -7,11 +7,11 @@ version: 1.0.4
categories: [release]
---
-Version 1.0.4 fixes a minor, but none-the-less important security vulnerablity affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
+Version 1.1.2 fixes a minor, but nonetheless important security vulnerability affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
-Community and custom plugins extending the `Liquid::Drop` class may inadvertantly disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
+Community and custom plugins extending the `Liquid::Drop` class may inadvertently disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
-We recommend you upgrade to Jekyll v1.0.4 immediately if you use `Liquid::Drop` plugins on your Jekyll site.
+We recommend you upgrade to Jekyll v1.1.2 immediately if you use `Liquid::Drop` plugins on your Jekyll site.
Many thanks for [Ben Balter](http://github.com/benbalter) for alerting us to the problem
and [submitting a patch][1349] so quickly.
diff --git a/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown b/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
index ffaa3b0f..10d843c7 100644
--- a/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
+++ b/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
@@ -7,9 +7,9 @@ version: 1.1.2
categories: [release]
---
-Version 1.1.2 fixes a minor, but none-the-less important security vulnerablity affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
+Version 1.1.2 fixes a minor, but nonetheless important security vulnerability affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
-Community and custom plugins extending the `Liquid::Drop` class may inadvertantly disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
+Community and custom plugins extending the `Liquid::Drop` class may inadvertently disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
We recommend you upgrade to Jekyll v1.1.2 immediately if you use `Liquid::Drop` plugins on your Jekyll site.
From 7d4a442cbf58a86b10b3853afcb3b98ed3043230 Mon Sep 17 00:00:00 2001
From: Ben Balter
Date: Thu, 25 Jul 2013 09:37:57 -0400
Subject: [PATCH 79/85] get the version # right
---
site/_posts/2013-07-25-jekyll-1-0-4-released.markdown | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
index ae0d1cb9..775763d9 100644
--- a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
+++ b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
@@ -7,11 +7,11 @@ version: 1.0.4
categories: [release]
---
-Version 1.1.2 fixes a minor, but nonetheless important security vulnerability affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
+Version 1.0.4 fixes a minor, but nonetheless important security vulnerability affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
Community and custom plugins extending the `Liquid::Drop` class may inadvertently disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
-We recommend you upgrade to Jekyll v1.1.2 immediately if you use `Liquid::Drop` plugins on your Jekyll site.
+We recommend you upgrade to Jekyll v1.0.4 immediately if you use `Liquid::Drop` plugins on your Jekyll site.
Many thanks for [Ben Balter](http://github.com/benbalter) for alerting us to the problem
and [submitting a patch][1349] so quickly.
From f2481cf6c0796df11dd75b8da1f2a61177d0215d Mon Sep 17 00:00:00 2001
From: Ben Balter
Date: Thu, 25 Jul 2013 09:44:28 -0400
Subject: [PATCH 80/85] s/you are may/you may/
---
site/_posts/2013-07-25-jekyll-1-0-4-released.markdown | 2 +-
site/_posts/2013-07-25-jekyll-1-1-2-released.markdown | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
index 775763d9..6ef686c2 100644
--- a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
+++ b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
@@ -7,7 +7,7 @@ version: 1.0.4
categories: [release]
---
-Version 1.0.4 fixes a minor, but nonetheless important security vulnerability affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
+Version 1.0.4 fixes a minor, but nonetheless important security vulnerability affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you may, but are not required to upgrade at this time.
Community and custom plugins extending the `Liquid::Drop` class may inadvertently disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
diff --git a/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown b/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
index 10d843c7..c27922c4 100644
--- a/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
+++ b/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown
@@ -7,7 +7,7 @@ version: 1.1.2
categories: [release]
---
-Version 1.1.2 fixes a minor, but nonetheless important security vulnerability affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you are may, but are not required to upgrade at this time.
+Version 1.1.2 fixes a minor, but nonetheless important security vulnerability affecting several third-party Jekyll plugins. If your Jekyll site does not use plugins, you may, but are not required to upgrade at this time.
Community and custom plugins extending the `Liquid::Drop` class may inadvertently disclose some system information such as directory structure or software configuration to users with access to the Liquid templating system.
From ec9d6ab693f4f161d4c32f7e7cbdf1ef4dc9a5db Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Thu, 25 Jul 2013 09:55:19 -0500
Subject: [PATCH 81/85] Update history to reflect merge of #1353
---
History.markdown | 3 +++
1 file changed, 3 insertions(+)
diff --git a/History.markdown b/History.markdown
index f4150bc5..1fa65b37 100644
--- a/History.markdown
+++ b/History.markdown
@@ -8,6 +8,9 @@
### Development Fixes
+### Site Enhancements
+ * Add info about new releases (#1353)
+
## v1.1.2 / 2013-07-25
### Bug Fixes
From 67186e631898674269f3839174c46de77374128c Mon Sep 17 00:00:00 2001
From: Assaf Gelber
Date: Thu, 25 Jul 2013 20:28:45 +0300
Subject: [PATCH 82/85] Added jekyll-rss plugin to docs
---
site/docs/plugins.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/site/docs/plugins.md b/site/docs/plugins.md
index f38595fa..77552fc2 100644
--- a/site/docs/plugins.md
+++ b/site/docs/plugins.md
@@ -361,6 +361,7 @@ You can find a few useful plugins at the following locations:
- [Full-text search by Pascal Widdershoven](https://github.com/PascalW/jekyll_indextank): Adds full-text search to your Jekyll site with a plugin and a bit of JavaScript.
- [AliasGenerator by Thomas Mango](https://github.com/tsmango/jekyll_alias_generator): Generates redirect pages for posts when an alias is specified in the YAML Front Matter.
- [Projectlist by Frederic Hemberger](https://github.com/fhemberger/jekyll-projectlist): Renders files in a directory as a single page instead of separate posts.
+- [RssGenerator by Assaf Gelber](https://github.com/agelber/jekyll-rss): Automatically creates an RSS 2.0 from your posts.
#### Converters
From a88493007cca41ca7cd63b542f893c786028ad53 Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Thu, 25 Jul 2013 12:48:01 -0500
Subject: [PATCH 83/85] @parkr releases 1.1.2 and I'll release 1.1.4
Wonder twin powers, activate!
---
site/_posts/2013-07-25-jekyll-1-0-4-released.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
index 6ef686c2..3a046561 100644
--- a/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
+++ b/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown
@@ -2,7 +2,7 @@
layout: news_item
title: "Jekyll 1.0.4 Released"
date: "2013-07-25 09:08:38 +0200"
-author: parkr
+author: mattr-
version: 1.0.4
categories: [release]
---
From 2c960bf4ed05991886e812516b6df1054b76fcf7 Mon Sep 17 00:00:00 2001
From: Assaf Gelber
Date: Thu, 25 Jul 2013 21:50:19 +0300
Subject: [PATCH 84/85] Added the word 'feed' :|
---
site/docs/plugins.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/site/docs/plugins.md b/site/docs/plugins.md
index 77552fc2..d6bf7131 100644
--- a/site/docs/plugins.md
+++ b/site/docs/plugins.md
@@ -361,7 +361,7 @@ You can find a few useful plugins at the following locations:
- [Full-text search by Pascal Widdershoven](https://github.com/PascalW/jekyll_indextank): Adds full-text search to your Jekyll site with a plugin and a bit of JavaScript.
- [AliasGenerator by Thomas Mango](https://github.com/tsmango/jekyll_alias_generator): Generates redirect pages for posts when an alias is specified in the YAML Front Matter.
- [Projectlist by Frederic Hemberger](https://github.com/fhemberger/jekyll-projectlist): Renders files in a directory as a single page instead of separate posts.
-- [RssGenerator by Assaf Gelber](https://github.com/agelber/jekyll-rss): Automatically creates an RSS 2.0 from your posts.
+- [RssGenerator by Assaf Gelber](https://github.com/agelber/jekyll-rss): Automatically creates an RSS 2.0 feed from your posts.
#### Converters
From 09e50a50082c79a1a23be37fb0a65cfaec98a367 Mon Sep 17 00:00:00 2001
From: Matt Rogers
Date: Thu, 25 Jul 2013 13:53:36 -0500
Subject: [PATCH 85/85] Update history to reflect merge of #1354
---
History.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/History.markdown b/History.markdown
index 1fa65b37..98cb701d 100644
--- a/History.markdown
+++ b/History.markdown
@@ -10,6 +10,7 @@
### Site Enhancements
* Add info about new releases (#1353)
+ * Update plugin list with jekyll-rss plugin (#1354)
## v1.1.2 / 2013-07-25