Commit Graph

42 Commits

Author SHA1 Message Date
Parker Moore 4b698747dc
Style fixes for Rubocop 0.42.0
- var == 0 becomes var.zero?
- when defining method_missing, also define respond_to_missing?
2016-07-25 12:46:43 -07:00
Parker Moore e3214c23a3
Add missing elements to Excerpt which delegate to its Document 2016-07-07 13:37:09 -07:00
Anatoliy Yastreb 3aead1d4a9 Imitate fetch method instead of creating real Hash object 2016-07-06 11:20:37 +03:00
Anatoliy Yastreb 72d49490d2 Add fetch method to Drops 2016-07-05 21:22:24 +03:00
Pat Hawks 30eebaf5e0 Rubocop: lib/jekyll/drops/site_drop.rb 2016-05-26 12:04:28 -05:00
Parker Moore 6f1e1d80cd
Rubocop: drop changes from v3.1 forward-ports 2016-05-25 16:10:11 -07:00
Parker Moore e56e58e498
Merge branch 'master' into pathawks-fp/jsonify-drops
* master: (38 commits)
  Mention where it came from. [ci skip]
  Update history to reflect merge of #4944 [ci skip]
  Update history to reflect merge of #4943 [ci skip]
  Mention where it came from. [ci skip]
  Update history to reflect merge of #4942 [ci skip]
  Update history to reflect merge of #4941
  External: remove &block arg, use block_given?
  Update history to reflect merge of #4936 [ci skip]
  lib/jekyll.rb: require document_drop to ease our pain
  Sort the results of the require_all glob.
  Rubocop fixes
  Reset {{ layout }} between each render & merge layout data properly
  Add failing test for layout data inheritance bug (#4433)
  Add failing test for layout bug (#4897)
  Fix tests for plugins in configuration.
  Define Drop#each so we can use the new frozen/duping behavior
  Don't default 'include' and 'exclude' to an empty array
  Fix some minor things in the tests
  Freeze configuration defaults & duplicate in deep_merge_hashes if need be.
  Remove merge conflicts I forgot to fix.
  ...
2016-05-25 15:55:47 -07:00
jekyllbot cf810a88fa Merge pull request #4942 from pathawks/fp/configuration-from-permalink-fix
Merge pull request 4942
2016-05-25 15:42:05 -07:00
Parker Moore 10543e7c46
Merge branch 'pathawks-fp/ExcerptDrop'
* pathawks-fp/ExcerptDrop:
  Rubocop fixes
  excerpt drop should give access to document's layout
  look up the content methods for drops in a smarter way
  Use require_relative
  Add ExcerptDrop and remove excerpt's ability to refer to itself in Liquid
2016-05-25 09:31:27 -07:00
Parker Moore 17d8c96a63 Add ability to render drops as JSON
Previously you could do, e.g. {{ site | jsonify }}, but with the introduction of Liquid Drops, this didn't work anymore.
This PR adds the ability to render drops as JSON. You can safely run drop.to_json and it should Do the Right Thing.
2016-05-24 19:08:46 -05:00
Parker Moore 48274244e3 Define Drop#each so we can use the new frozen/duping behavior 2016-05-24 18:49:06 -05:00
Parker Moore 8af77643c5 Site#site_payload: sort collections by label 2016-05-24 18:47:15 -05:00
Pat Hawks 48f16974ce Rubocop fixes 2016-05-24 18:27:37 -05:00
Parker Moore 7d3f8ac75d excerpt drop should give access to document's layout 2016-05-24 17:35:03 -05:00
Parker Moore c0910f2bc5 look up the content methods for drops in a smarter way 2016-05-24 17:34:49 -05:00
Parker Moore b019234007 Add ExcerptDrop and remove excerpt's ability to refer to itself in Liquid 2016-05-24 17:30:03 -05:00
Pat Hawks a8d27e5788 Rubocop: Low hanging fruit 2016-05-23 22:10:49 -05:00
Parker Moore 4b471fe9fb
DocumentDrop: add `#<=>` which sorts by date (falling back to path) 2016-03-31 13:41:59 -07:00
Parker Moore cf51e32d0e Drop#[]: use self.class.invokable? instead of content_methods.include? for speed 2016-01-22 08:59:48 -08:00
Parker Moore 31ae61b419 Drop#[]: only use public_send for keys in the content_methods array 2016-01-21 18:20:35 -08:00
Parker Moore 5d79c55b2c Fix deep_merge_hashes! handling of drops and hashes 2016-01-15 11:22:39 -08:00
Parker Moore 22931f42b8 Drop: require 'json' for #inspect call 2016-01-15 10:00:56 -08:00
Parker Moore 9579924f8a drop: tiny optimization to .mutable to create fewer objects 2016-01-04 18:18:12 -08:00
Parker Moore 95a3c54ddb drop: only check mutable if the key is a method 2016-01-04 12:41:40 -08:00
Parker Moore 06c45df8c3 Drop: hash syntax should use setter method for a property if it's defined 2016-01-04 12:38:41 -08:00
Pat Hawks cce848d3d8
Rubocop: Avoid single-line method definitions 2016-01-04 12:12:17 -08:00
Pat Hawks 11f0aab4b1
Rubocop: Lint/UnusedBlockArgument
- Unused block argument
2016-01-03 16:24:13 -08:00
Pat Hawks cda226de45
Rubocop: Style/EmptyLinesAroundClassBody
- Extra empty line detected at class body end
2016-01-03 15:55:33 -08:00
Pat Hawks 2530a8cdfc
Rubocop: Style/HashSyntax
- Use hash rockets syntax
2016-01-03 15:49:22 -08:00
Pat Hawks ff5f7b7120
Rubocop: Style/DeprecatedHashMethods
- Hash#has_key? is deprecated in favor of Hash#key?
Add method `key?` to Drop
2016-01-03 15:41:04 -08:00
Jordon Bedwell f2f88dbd9f Move require "jekyll/drops/drop" to "jekyll.rb"
Linux does not read files in alphanumeric order, this can lead to
Jekyll drops not working on Linux because the assumption here is that
the collection drop will be required first.
2015-12-27 12:48:21 -06:00
Parker Moore 5bf596b239 utils/drops: update Drop to support Utils.deep_merge_hashes
Fixes #4287
2015-12-27 08:06:37 -05:00
Parker Moore d138558c1d drops: provide #to_h to allow for hash introspection
Follow-up to #4277
2015-12-26 14:25:29 -05:00
Parker Moore 3fa8af2a18 drops: create one base Drop class which can be set as mutable or not 2015-12-26 13:43:42 -05:00
Parker Moore b70ea3ca5c immutable_drop/errors: consolidate errors & fix syntax for raising
Addresses @envygeeks's comments:
bff1726a5a
2015-12-26 12:27:07 -05:00
Parker Moore b2b634e767 drops: use def_delegator more liberally where acceptable 2015-12-24 15:07:48 -05:00
Parker Moore bff1726a5a immutable_drop: use custom error for bad set 2015-12-24 15:06:32 -05:00
Parker Moore 532bb9e9cb Further consolidation in the Drops. 2015-12-22 21:33:42 -05:00
Parker Moore 4935e85f7c CollectionDrop: to_s should work like Array#to_s 2015-12-21 23:41:36 -05:00
Parker Moore 03488b1cde DocumentDrop: use def_delegators instead of duplicating methods 2015-12-21 23:36:31 -05:00
Parker Moore ebe3c10604 Drops: fix accessing of site collections via site.COL_NAME 2015-12-21 23:33:33 -05: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