If the theme includes the 'assets' directory, it will be walked and items will be added to the site based
on the normal rules of Jekyll: if there is YAML front matter, it will be added as a (convertible) Page,
otherwise it will be added as a StaticFile.
The properties of Liquid::Drops are only evaluated when they're asked for
and therefore save computation time. This prevents a lot of GC time cleaning
up objects that are not needed, because they're not created unless requested.
Additionally, this saves time for actual computation of those values because
they can be computed only if needed.
It's funny how much it helps when you only do what is needed. Far less overhead.
This updates the default permalink style for pages and collections to
match the site-wide 'permalink' setting. If the permalink setting
contains a trailing slash, either explicitly or by being set to
':pretty', then pages and collections permalinks will contain trailing
slashes by default as well. Similarly, if the permalink setting
contains a trailing ':output_ext', so will pages and collections. If
the permalink setting contains neither a trailing slash or extension,
neither will pages or collections.
This impacts only the default permalink structure for pages and
collections. Permalinks set in the frontmatter of an individual page
take precedence, as does the permalink setting for a specific
collection.
Fixes#2691
This ensures that destination files for HTML posts, pages and
collections always include the proper file extension (as defined by
output_ext) regardless of permalink structure. This allows for URLs
that contain no extension or trailing slash to still result in proper
destination files with .html extensions.
Because this change relies so heavily on output_ext accurately
identifying the extension of the destination file, this change also
removes the feature test that tested support for permalinks with a .htm
extension. In order to support alternate file extensions, a future
patch or plugin will need to modify the output_ext value, at which point
everything else should work as expected.
* '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
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.