`Draft`s are a subclass of `Post` so `draft.is_a?(Post)` will return
`true`, thus making all `Draft`s `Post`s, which is not desired. If
asking about `Draft` first, then we avoid this problem.
Fixes#2726
* '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>
The error messages in this module call `#path`, but the module does not require the `path` method to be implemented. This change documents that classes which include `Convertible` must define `path`.
See #1846 for discussion.
Rename the pygments configuration option to highlighter to allow
different highlighters in the future. For now, the allowed values are
`pygments` and `null`.
It's now more straightforward to plug another syntax highlighter.
The Page#path or Post#path can be overriden by by a frontmatter
setting. This causes path-based frontmatter default detection to
fail. Add test to demonstrate this and fix it.