Commit Graph

186 Commits

Author SHA1 Message Date
Pat Hawks 086e85ca9e
Rubocop: Style/PerlBackrefs
- Avoid the use of Perl-style backrefs
2016-01-04 12:01:23 -08:00
Pat Hawks 98a19cdf2b
Rubocop: Style/PercentLiteralDelimiters
- %w-literals should be delimited by ( and )
Rubocop: Style/WordArray
 - Use %w or %W for array of words
2016-01-03 15:32:11 -08:00
Parker Moore 82c3ee365f Initial work on using Liquid::Drops instead of Hashes.
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.
2015-12-21 22:47:30 -05:00
Parker Moore ac9fa413a5 Convertible should make layout data accessible via 'layout'
Not via 'page'. Erroneous!

Fixes #4117.
2015-11-30 14:35:55 -08:00
Jordon Bedwell 0f4aed9ccf Fix #4066: Move Convertible#render_liquid to using render! 2015-10-29 16:06:17 -05:00
Parker Moore b89f943bf2 collections: posts as collection 2015-10-26 00:29:14 -07:00
Parker Moore 8927898e1f Merge pull request #3871 from stevecrozz/3870_hook_trigger_interface_change
Merge pull request 3871
2015-08-23 12:55:00 -07:00
Fabio Niephaus 2812341c37 Merge branch 'master' of https://github.com/jekyll/jekyll into _includes
Conflicts:
	bin/jekyll
2015-08-09 16:22:33 +01:00
Fabio Niephaus ac56e9dd16 Make _includes directory configurable; closes #2684
and rename `plugins`, `layouts` and `data_source` directories for consistency
2015-08-09 16:20:58 +01:00
Stephen Crosby 7c4f319442 #3870 trigger hooks by owner symbol 2015-07-27 16:23:07 -07:00
Florian Weingarten 1e9163fdf4 Liquid profiler 2015-06-07 16:38:05 +00:00
Stephen Crosby 6ca9633354 prototype of jekyll hooks, encapsulated 2015-05-01 14:35:15 -07:00
Parker Moore c76c4e478b Convertible#read_yaml should return self.data.
Broken in 4b108df3ab.
2015-04-11 15:42:58 -04:00
Parker Moore 4b108df3ab convertible: abort with an error if Page/Post#data isn't a hash.
when the default_proc was being assigned, it failed if it wasn't a Hash. We
expect data to be a Hash everywhere, so let's freak out if it isn't after
reading and applying the fallback.

Fixes #3643.
2015-04-10 17:07:14 -04:00
Alfred Xing fe5f0d124c Move all regenerate? checking to Regenerator 2015-01-18 11:05:06 -08:00
Alfred Xing 43a28aed96 Fix indentation 2014-12-05 19:38:43 -08:00
Alfred Xing 5d9662f80f Always regenerate asset files 2014-12-05 19:07:18 -08:00
Alfred Xing b6d81c58df Perform less expensive operation first 2014-11-27 10:00:29 -08:00
Alfred Xing dc30114605 Use site.in_source_dir 2014-11-23 16:16:19 -08:00
Alfred Xing 11917645f2 Incremental regeneration 2014-11-21 22:12:20 -08:00
Alfred Xing 84cef2202d Remove duplicate 'Conversion error:' message 2014-11-10 09:12:51 -08:00
Parker Moore 0bc88975c8 More removal of File.join 2014-11-03 22:15:40 -08:00
feivel 0701fa7b16 Update outdated comment
incorrect as of 6 Aug 2014.
2014-09-26 19:49:58 -04:00
Parker Moore eea5921856 Fix test for Liquid rendering in Sass. 2014-08-30 21:54:50 -07:00
Chris Frederick 79992fc3c8 Fix inaccurate comments 2014-08-26 17:17:13 +09:00
Chris Frederick 71b10e2d4a Make render_with_liquid? true for CoffeeScript 2014-08-26 17:14:33 +09:00
Parker Moore 707278f099 Use the proper extname getter. 2014-08-12 14:11:27 -04:00
Parker Moore 8ff9074ce5 Allow Sass files to be rendered, but never place them in layouts.
Fixes #2573.
2014-08-12 13:38:53 -04:00
Parker Moore 9c090c862f Ask about 'Draft' before asking about 'Post'
`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
2014-08-12 11:52:16 -04:00
Parker Moore 60c29561f2 Use plural 'type' in front matter defaults for pages/posts/drafts
Fixes #2657
2014-08-12 11:50:02 -04:00
Parker Moore fd2d7df9b7 Don't concat extnames in output for multiple converters 2014-08-10 20:32:29 -04:00
Parker Moore d004bc4ea5 Allow Convertibles to be converted by >= 1 converters. 2014-08-06 16:20:24 -04:00
Alfred Xing 6d62dbbafc Replace deprecated Ruby methods
Replace `Hash#has_key?` and `File.exists?` with `Hash#key?`
and `File.exist?`
2014-07-31 12:50:20 -07:00
Alfred Xing 7586538432 Use `is_a?` instead of `class` 2014-07-21 09:23:21 -07:00
Alfred Xing 4bd5614f4c Exclude excerpts from layout checks 2014-07-20 12:57:40 -07:00
Alfred Xing c8e0fcfcdf Fix up errors in CI build 2014-07-20 12:56:54 -07:00
Alfred Xing 7fa30c0dec Add path of file requesting nonexistent layout 2014-07-20 12:17:04 -07:00
Alfred Xing a0d679439f Move layout validity logic to separate method 2014-07-20 10:01:09 -07:00
Alfred Xing ac744a6313 Give a build warning if a layout does not exist
Throw a warning if a non-"none" layout is specified but the corresponding
layout file does not exist.
2014-07-20 09:17:19 -07:00
Parker Moore a66d96ce0a Use Jekyll.sanitized_path more. 2014-07-01 18:29:15 -04:00
Parker Moore e37b3ca8e1 Any assets read in as Pages shall not be rendered or layout'd 2014-05-21 00:52:21 -04:00
Parker Moore 63e959e4e1 Use Jekyll.logger, never puts 2014-05-06 13:02:35 -04:00
Parker Moore 955dc38400 Deep merge data overrides into defaults. 2014-04-05 15:42:53 -04:00
Parker Moore 6bd07501e8 Merge branch 'frontmatter-defaults' of git://github.com/maul-esel/jekyll into maul-esel-frontmatter-defaults
* '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
2014-04-04 15:32:27 -04:00
Lincoln Mullen 52ac2b3850 Permit YAML blocks to end with three dots
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>
2014-04-02 14:06:22 -04:00
Parker Moore 7787d64bce Rename those Utils functions. 2014-03-04 15:52:05 -05:00
Parker Moore e2af1b547b Extract core extensions into a Utils module
Fixes #2111
2014-03-03 22:13:03 -05:00
Corey Ward f1c4e247a5 Remove unnecessary references to `self` 2014-02-21 16:27:21 -06:00
Dan Tao 4f0b1bdf6d switched from YAML.safe_load* to SafeYAML.load* 2014-01-23 17:25:17 -08:00
liufengyun 22e1e5f28c make sure pages with published being false are not generated 2014-01-19 09:52:19 +08:00
Pascal Borreli bdda3a8ef6 Fixed typos 2014-01-04 14:17:38 +00:00
Matt Rogers 012387396a Merge pull request #1859 from robin850/rouge 2013-12-30 22:45:07 -06:00
Matt Rogers a2fd8ba7c3 Merge pull request #1849 from afeld/sort-attributes 2013-12-30 20:31:45 -08:00
Colin Dean 88686e759e Add `path` to required methods
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.
2013-12-23 12:56:02 -05:00
Robin Dupret 92064134d6 Rename the pygments option to highlighter
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.
2013-12-22 12:45:15 +01:00
Aidan Feldman 2bfafb3b33 make non-data properties/methods accessible to Liquid
per https://github.com/jekyll/jekyll/pull/1849/files#r8490593
2013-12-22 03:38:32 -05:00
Aidan Feldman c2b750448e allow data attribute access by Liquid on Convertible items 2013-12-19 17:14:51 -05:00
Parker Moore 601f89d4d1 Remove File.read_with_options patch to allow 1.9 and 1.8 to behave the same 2013-12-08 00:50:12 -05:00
maul.esel f1869cda98 Merge branch 'master' into frontmatter-defaults 2013-12-05 19:29:57 +01:00
maul.esel 960e01cba8 move self.type to convertible 2013-12-05 09:14:31 +01:00
maul.esel 3888a24068 output including file for include tag error 2013-11-21 22:03:39 +01:00
maul.esel 20ea0c8d56 Merge branch 'master' into frontmatter-defaults 2013-10-14 19:44:06 +02:00
maul.esel 699eeba9f0 fix frontmatter defaults for custom paths
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.
2013-10-14 19:16:53 +02:00
maul.esel 76ada8c672 output correct path in case of liquid error in layout
As with includes, an error in a layout was reported on the
page that used the layout. Fix this by passing on the path
of the layout that is rendered.
2013-10-04 00:07:50 +02:00
maul.esel 7a4ea086a1 Output path in case of render error in included file
Fixes #1591.
2013-10-01 23:02:50 +02:00
Shigeya Suzuki c625ddf6cd Invoke File.read with or without options depends on Ruby version
- Extract option fetch method as a separate method
- Added File.read_with_options method to use
- With performance fix
2013-09-19 12:22:50 +09:00
Shigeya Suzuki 8b892ed735 read_yaml to accept optional parameter to override defaults 2013-09-19 12:21:25 +09:00
MURAOKA Taro 4cb24f4b87 consider a case of "site" is unavailable in Convertible 2013-09-19 12:21:25 +09:00
MURAOKA Taro 8a28d80690 add encoding for configuration 2013-09-19 12:21:25 +09:00
maul.esel 9d44d3290b make frontmatter defaults available to liquid 2013-09-11 00:55:57 +02:00
Matt Rogers a9e2a74ea6 Merge pull request #1341 from maul-esel/minor-refactors
Minor refactors
2013-08-29 20:21:08 -07:00
Parker Moore 5f4efd34bd When a Liquid Exception is caught, show the full path (rel to site source) 2013-08-12 21:19:54 +02:00
MURAOKA Taro 8a155e0a50 use binary mode when writing file. 2013-07-30 21:35:02 +09:00
maul.esel 01922a10ac Convertible#to_liquid: allow an alternate attribute set to be passed 2013-07-28 21:18:54 +02:00
maul.esel 75d6587d27 Move #to_liquid to Convertible 2013-07-22 16:34:01 +02:00
Parker Moore cb1a2d1818 Catch conversion errors. Constituent of #1105. 2013-06-30 16:38:35 +02:00
Parker Moore 1f59e9c757 Use Jekyll.logger instead of Jekyll::Stevenson to log things. 2013-05-29 11:58:35 +02:00
Parker Moore ff8cf7c868 provide access to the layout name so when shit goes down we get the name of the layout which couldn't be processed 2013-05-17 22:45:39 +02:00
Parker Moore a95fa70d72 raise things when there's a yaml exception (non-zero exit code 2013-05-17 22:44:46 +02:00
Parker Moore 35f4f09c3e Rename Jekyll::Logger ~> Jekyll::Stevenson to fix inheritance problem
Problem described here: ca888cad76
2013-05-14 21:07:23 +02:00
Michael Klishin 82ec02905e Catch all exceptions, not just StandardError descendents
We've hit a few edge cases in Liquid/Markdown rendering
with http://clojurewerkz.org documentation sites.
They resulted in exceptions Jekyll silently swallowed because
they were not StandardException subclasses.
2013-04-30 23:33:08 +04:00
Parker Moore 5f13e00791 Comments for Convertible.render_all_layouts and Convertible.render_liquid 2013-04-26 21:09:02 +02:00
Parker Moore 29a1c18300 Refactoring Jekyll::Convertible 2013-04-26 19:36:52 +02:00
Parker Moore 61c24c601a Add UTF-8 encoding where we read in YAML so it reads in UTF-8 characters properly. Fixes #836. 2013-04-25 02:15:25 +02:00
Parker Moore 6ed41e373c Remove code duplication: #write in Page and Post is the same. 2013-04-16 02:55:31 +02:00
Parker Moore abb8e5039e Merge pull request #413 from sethladd/master
add page variable to liquid custom tags and blocks
2013-04-09 16:54:20 -07:00
Parker Moore 11eb1ecae1 Safe loading of files and YAML. 2013-02-10 19:07:38 +01:00
Parker Moore 6253f79de2 Added space between arguments in Convertible errors 2013-01-10 22:11:13 -08:00
Eric Theise ba48870ead outputting full path when file does not parse 2013-01-10 12:29:04 -08:00
stereobooster a5a6900948 fix error for case with broken encoding 2012-12-30 00:07:21 +02:00
stereobooster 2dbce8ca9f fix error for case with wrong encoding or error in YAML 2012-12-29 23:32:34 +02:00
Tom Preston-Werner 3a8ebb4b71 Merge branch 'fix/front-matter-regexp' of https://github.com/zimbatm/jekyll into zimbatm-fix/front-matter-regexp 2012-12-15 22:09:41 -08:00
Will Brady 336ea66983 Better error reporting on Liquid exceptions 2012-08-14 17:35:41 -04:00
Jonas Pfenniger da4e8f2ee1 Front-matter should be at start of file
It's the theme of the moment ; regexp checking.

Just in case we have two line start with --- in the file, we want to
make sure it's not interpreted as a front-matter.
2012-05-25 18:59:26 +01:00
Tom Preston-Werner c04a9549ea Make note of self.name requirement for Convertible. 2012-01-22 15:02:41 -08:00
jpravetz 9a3429dc74 Update lib/jekyll/convertible.rb 2011-12-04 08:37:42 -08:00
Seth Ladd e09f058a06 add page variable to liquid custom tags and blocks. thx to mike west for the patch 2011-09-20 13:03:31 -07:00
Tom Preston-Werner 3241d882b5 Merge remote-tracking branch 'kou/fix-error-message' 2011-07-05 22:31:25 -07:00
Matt Palmer eebeaf5dfb Give name of file that generated YAML exception message
It's not much good saying "hey, there was a problem" if you don't know where
the problem *is*.  Hunting through several hundred YAML files is no fun.
2011-07-02 10:35:41 +10:00
Kouhei Sutou 70aaded1e9 fix path name in syntax error message. 2011-06-20 22:46:38 +09:00