* 'frontmatter-defaults' of git://github.com/maul-esel/jekyll:
move self.type to convertible
oops, fix minor indentation quirk
document frontmatter defaults precedence
adjust frontmatter defaults precedence handling
change cucumber feature to test for precedence too
fix frontmatter defaults for custom paths
more robust cucumber features
fix slash handling for paths
move cucumber features to own file
fix minor docs quirk
improve path checking, now using Pathname instead of regex
Add site documentation for the new feature
add inline code docs
improve validation code
fix for Ruby 1.8
Add basic cucumber features for frontmatter defaults
Retrieve frontmatter defaults when retrieved internally
make frontmatter defaults available to liquid
add a class `FrontmatterDefaults` for handling of frontmatter defaults
Add a method to retrieve type to post, page and draft
Conflicts:
lib/jekyll.rb
lib/jekyll/convertible.rb
lib/jekyll/core_ext.rb
lib/jekyll/page.rb
lib/jekyll/post.rb
The YAML spec permits blocks to end with three dots (...) in addition to
three dashes (---): http://www.yaml.org/spec/1.2/spec.html#id2760395. Some
programs that work with Jekyll (e.g., Pandoc) prefer the dots to dashes. This
commit permits the YAML metadata block to end with either dots or dashes. It
includes tests.
Signed-off-by: Parker Moore <parkrmoore@gmail.com>
Previously the `Site#tags` and `Site#categories` actually had the
same structure as a hash returned by `Site#post_attr_hash()`, but
maintained separately. Remove this duplicated infrastructure. For
backwards-compatibility for plugins, provide aliases for them.
I keep all my ideas for blog posts as drafts in my draft folder. However I'm
only really working on a couple at once. This let's me mark drafts that I'm
not working on right now as unpublished so they don't clutter the site while
I'm checking on the other drafts.
Post#url wasn't escaped at all.
For example, when we have a page named 'a#b.html',
we expect its url to be 'a%23b.html',
but it was actually 'a#b.html'.
We now use Jekyll::URL.escape_path and Jekyll::URL.unescape_path.
Post#url was escaped using CGI.escape.
When file name contains a space character, its url points to
non-existing URL.
For example, when we have a post named '2014-01-02-foo bar.md',
we expect its url to be '/2014/01/02/foo%20bar.html',
but it was actually '/2014/01/02/foo+bar.html'.
We now define Jekyll::URL.escape_path and Jekyll::URL.unescape_path,
and use them to escape and unescape Post#url