Commit Graph

125 Commits

Author SHA1 Message Date
Parker Moore c63b51b661 document: revert comparison of Documents to old style & add nil check
@envygeeks, this should address your comment: fcce0d5482 (commitcomment-15162261)
2015-12-25 22:54:12 -05:00
Parker Moore fcce0d5482 document: fix issue with bad comparison 2015-12-24 15:07:31 -05:00
Parker Moore 233589e150 document: throw ArgumentError if compared to non-doc 2015-12-22 21:34:24 -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
rebornix 6a98ab2a15 Make `:title` cased for backwards compability and add `:slug` for uncased usage. 2015-11-18 10:43:13 +08:00
Parker Moore db6103bdee Document: only superdirectories of the collection are categories 2015-11-04 15:18:02 +07:00
Jordon Bedwell e5f26b5a36 Fix test warnings when doing rake {test,spec} or script/test 2015-10-29 15:18:19 -05:00
Parker Moore e45b6f91e7 Document: Only auto-generate the excerpt if it's not overridden
Fixes #4061
2015-10-26 16:08:19 -07:00
Parker Moore 2e7c471c70 Add Document#method_missing and Collection#method_missing
Proxies calls to either #data or #docs, respectively. Deprecation warning is printed.
2015-10-26 13:37:04 -07:00
Parker Moore b89f943bf2 collections: posts as collection 2015-10-26 00:29:14 -07:00
Stephen Crosby 7c4f319442 #3870 trigger hooks by owner symbol 2015-07-27 16:23:07 -07:00
Parker Moore ce9fcfaebb Merge pull request #3553 from stevecrozz/jekyll-hooks
Merge pull request 3553
2015-05-09 23:58:46 -07:00
Florian Weingarten f99abc5314 Cache Document#to_liquid 2015-05-10 03:51:50 +00:00
Stephen Crosby 79a178f7f1 move document.post_render hook to after render call 2015-05-03 13:53:28 -07:00
Stephen Crosby 245d9677d7 Refine hook implementation
- hooks are registered to symbol owners rather than classes directly
- during registration, add the ability to specify owner as an array to
  register the same hook to multiple owners
- add optional priority during registration as a symbol (:low, :normal,
  :high)
- implement hooks for collections as they are in octopress-hooks, aside
  from post_init
2015-05-01 19:00:37 -07:00
Will Norris 669c803912 always include file extension on destination files
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.
2015-03-02 21:20:54 -08:00
Parker Moore 3f3b203992 Use end_with? instead of regexp for adding index.html 2015-02-25 11:59:27 -08:00
Parker Moore 0c624eb11b The :title URL placeholder for collections should be the filename slug.
This mimicks posts most closely. It can be overridden by the
YAML front matter.

Undoes some of #2864.
2015-01-30 01:53:11 -08:00
Alfred Xing fe5f0d124c Move all regenerate? checking to Regenerator 2015-01-18 11:05:06 -08:00
Parker Moore b2099ac763 Merge branch 'davidized-collection_yaml_dots'
* davidized-collection_yaml_dots:
  Move YAML Front Matter regexp into a constant.
  Add support for collections documents to have YAML front matter ending in dots.

Conflicts:
	test/test_collections.rb
2015-01-17 15:24:33 -08:00
Parker Moore c7d92c4e6d Move YAML Front Matter regexp into a constant. 2015-01-17 15:23:33 -08:00
nitoyon 5e10958faa Unescape Document output path
Document#destination wasn't unescaped properly.

For example, when we have a document named '_langs/c#.md',
we expect its url to be '/langs/c#.html',
but it was actually '/langs/c%23.html'.

We now unecape URL at Document#destination like Post#destination and
Page#destination.
2014-12-29 22:38:50 +09:00
Parker Moore e39dfa3f0b Merge pull request #2908 from alfredxing/document-path 2014-12-29 00:26:35 -05: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
David Williamson d7e3d4df8f Add support for collections documents to have YAML front matter ending in dots. 2014-11-20 14:38:17 -06:00
Parker Moore 2ee8d690c4 More conversion of Jekyll.sanitized_path ~> site.in_(source|dest)_dir 2014-11-03 22:16:48 -08:00
Parker Moore 461e16f8bc More tests are passing. Hooray. 2014-11-03 22:15:40 -08:00
Parker Moore 0bc88975c8 More removal of File.join 2014-11-03 22:15:40 -08:00
Parker Moore fbe98df488 Cache variables that won't change through the life of an object 2014-10-12 14:06:17 -07:00
Alfred Xing c3ec158f2d Keep backwards compatibility
Re-add `relative_path` Liquid variable too keep compatibility
2014-09-11 18:25:21 -07:00
Alfred Xing 6c0e791236 Use relative path for `path` Liquid variable in Documents 2014-09-10 21:04:40 -07:00
Chris Frederick 3ca1245027 Move Document#sluggify to Utils#slugify 2014-09-02 13:29:28 +09:00
Chris Frederick 05d65f0341 Rename 'slug' to 'sluggify' and clean up code 2014-09-01 16:25:42 +09:00
Chris Frederick a5e51cfdbe Properly handle titles with trailing punctuation 2014-09-01 13:25:38 +09:00
Chris Frederick cca9c50c26 Add 'title' to url_placeholders 2014-09-01 12:53:31 +09:00
Chris Frederick bcb6798838 Pass the filename as an argument to Document#slug 2014-09-01 12:45:41 +09:00
Chris Frederick a72706ace6 Add Document#slug 2014-08-26 11:46:01 +09:00
Chris Frederick cc4a0d1704 Change :title to :name 2014-08-26 11:26:19 +09:00
Chris Frederick e8b00fb6f2 Add the 'title' variable to collection permalinks 2014-08-23 14:50:55 +09:00
Parker Moore 530e049d2d Read in static files info `collection.files` as `StaticFile`s. 2014-08-12 15:59:45 -04:00
Parker Moore eabde41267 Merge pull request #2733 from jekyll/sass-in-liquid 2014-08-12 14:36:15 -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 d57c4f1c01 Document#to_s should produce just the content of the document.
Fixes #2655
2014-08-12 11:25:28 -04:00
Parker Moore 9b3ccee3dd Pass in options to File.open in Document. 2014-08-10 16:23:33 -04:00
Parker Moore 68fb130fd0 Add magic comments for UTF-8 2014-08-10 16:16:48 -04:00
Parker Moore 45a347c022 Read in every Document's content as UTF-8 2014-08-10 16:16:41 -04:00
Parker Moore 81807cb5af Merge pull request #2615 from alfredxing/collections-static-files 2014-08-02 14:44:45 -04:00
Alfred Xing 5fdf637c6a Cache information about document YAML header existence 2014-08-01 22:03:29 -07:00
Alfred Xing 274c6d3667 Allow static files in collections
Allow Documents to be static files so static files can exist in collections
2014-08-01 13:24:27 -07: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 28131624b8 Don't use old `@url` variable
Fix for #2557
2014-07-07 10:54:19 -07:00
Parker Moore d59b2c3ef6 Merge pull request #2419 from jens-na/collection-defaults 2014-06-12 20:38:21 -04:00
Bud Parr 441ac3742c remove extra space 2014-06-02 15:05:03 -04:00
Bud Parr 90bc9314f1 change label to collection
To make it clear the label is of the document's collection
2014-06-02 14:32:52 -04:00
Bud Parr 00ab79b7cf add collection.label to Document#to_liquid 2014-06-01 21:45:23 -04:00
Jens Nazarenus 497c10897f Passes the url to FrontmatterDefaults.all instead of full path 2014-06-01 22:21:31 +02:00
Jens Nazarenus c8786b7b28 Adds default front-matter support for collecitons 2014-06-01 22:21:31 +02:00
Parker Moore 65275e5841 Merge pull request #2431 from jekyll/remove-collections-from-layouts 2014-05-21 01:07:01 -04:00
Parker Moore cbe7e3e80e Don't place asset files or yaml files in layouts
Ref: #2402
2014-05-20 17:11:34 -04:00
Mathieu Bruyen 921dbe0547 Override collection url template 2014-05-17 10:40:52 +02:00
Parker Moore 00f21ee93c Add `output` to Document#to_liquid 2014-05-06 14:51:56 -04:00
Parker Moore 54b74fafba Add documents to site payload 2014-05-04 21:22:51 -04:00
Parker Moore 0dc680df0b Always render collections, just don't always write them 2014-04-24 13:59:24 -04:00
Parker Moore ad7efb23e6 Code/docs cleanup, props @baweaver 2014-04-14 22:46:22 -04:00
Parker Moore aa502348e5 Filter entries in the collection per EntryFilter#filter 2014-04-14 22:46:21 -04:00
Parker Moore f0e68d7d86 Expose collections as site.<collection_name> in Liquid as array of docs. 2014-04-14 22:46:21 -04:00
Parker Moore 00ca09a2ea Add comments for Document 2014-04-14 22:46:21 -04:00
Parker Moore a307aff858 Do not render any asset files with Liquid. 2014-04-14 22:46:21 -04:00
Parker Moore 75f49a751e OMG COLLECTIONS ARE RENDERING CALL THE POLICE 2014-04-14 22:46:21 -04:00
Parker Moore f082eca791 GUYS failing test for rendering 2014-04-14 22:45:20 -04:00
Parker Moore cefe99bed2 Sort the docs based on path 2014-04-14 22:44:29 -04:00
Parker Moore 90807ac6e7 DEM TESTS 2014-04-14 22:44:29 -04:00
Parker Moore 50b46d7bee OMG it's happening ~*Collections*~ 2014-04-14 22:44:29 -04:00
Parker Moore a77c92aebe Replace load-in of YAML data with Jekyll::Document logic.
COLLECTIONS IS COMING
2014-04-14 22:43:09 -04:00