Commit Graph

370 Commits

Author SHA1 Message Date
Alfred Xing fe6bfc6f1b Fix failing tests 2014-11-21 22:12:21 -08:00
Alfred Xing d438362971 Add regenerate front-matter variable 2014-11-21 22:12:21 -08:00
Alfred Xing 11917645f2 Incremental regeneration 2014-11-21 22:12:20 -08:00
Parker Moore 90cddade53 Commit the paths one by one to Jekyll.sanitized_path with the proper initial base.
Prevents errors like these:

[39/78] TestPost#test_: A Post processing posts should not be writable outside of destination. /Users/parker/jekyll/jekyll/test/dest
/Users/parker/jekyll/jekyll/test/dest/Users/parker/jekyll/baddie.html
 = 0.01 s
  1) Failure:
TestPost#test_: A Post processing posts should not be writable outside of destination.  [/Users/parker/jekyll/jekyll/test/test_post.rb:152]:
Failed assertion, no message given.
2014-11-03 22:27:55 -08:00
Parker Moore 68e9c84a18 Flatten paths sent into `#in_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 3a3be7e5a7 Add Site#in_dest_dir 2014-11-03 22:15:40 -08:00
Parker Moore 7e1cc4b684 Add Site#in_source_dir 2014-11-03 22:15:40 -08:00
Parker Moore 0f2a3a606b Append the site to Jekyll.sites upon creation 2014-11-03 22:15:40 -08:00
Parker Moore 314dce62cf Make Site.source and Site.dest "immutable" 2014-11-03 22:15:40 -08:00
James Smith cccfda7de8 hashrockets in CSV loading 2014-08-17 08:34:38 +01:00
James Smith 866935dadf map with proc for CSV loading 2014-08-16 20:26:29 +01:00
James Smith 687176e22c Autoload csv files from data directory 2014-08-16 14:54:14 +01:00
Parker Moore 530e049d2d Read in static files info `collection.files` as `StaticFile`s. 2014-08-12 15:59:45 -04:00
Parker Moore 68fb130fd0 Add magic comments for UTF-8 2014-08-10 16:16:48 -04:00
Alfred Xing d5322a73bf Move instances of `Time.parse` into a Utils method 2014-08-02 09:38:50 -07:00
Parker Moore c7cc36abdb Put errors/exceptions into Jekyll::Errors module 2014-07-12 13:47:59 -07:00
Parker Moore a66d96ce0a Use Jekyll.sanitized_path more. 2014-07-01 18:29:15 -04:00
Parker Moore a78b5c2f8d Include files with a url which ends in / in the site.html_pages list
https://github.com/jekyll/jekyll-sitemap/issues/27
2014-06-17 15:18:41 -04:00
Parker Moore 3c6377d665 Merge pull request #2395 from rdumont/data-subdirectories 2014-05-21 01:09:15 -04:00
Parker Moore 780cff46b3 Add jekyll.environment to site_payload. 2014-05-17 00:38:21 -04:00
Rodrigo Dumont 604fb3286c Allow subdirectories in _data 2014-05-11 20:28:49 -03:00
Ben Balter bf3a20b2d7 allow json files in _data dir 2014-05-09 10:13:12 -04:00
Parker Moore f2f2ebfa4f Register subclasses of subclasses of Jekyll::Plugin
The Sass and SCSS converters are practically the same – only different in
the input syntax and file extension. As such, we've created
`Jekyll::Converters::Scss` which is a subclass of `Jekyll::Converter`, and
`Jekyll::Converters::Sass` which is a subclass of
`Jekyll::Converters::Scss`. When `Site#instantiate_classes` is called on
`Jekyll::Converter`, it only instantiates the `Scss` converter, not the
`Sass` converter. This change fixes that.

Fixes #2334.
2014-05-07 14:59:08 -04:00
Parker Moore c2d3f9d5b5 Close the file descriptor in has_yaml_header?
Previous method caused a problem where the calling Dir.chdir to get the next
directory's entries would cause the infamous 'Too many open files - getcwd'
error. Fixes #2279.
2014-05-06 15:58:25 -04:00
Parker Moore 63e959e4e1 Use Jekyll.logger, never puts 2014-05-06 13:02:35 -04:00
Parker Moore 3755437d08 Write test for site.documents. 2014-05-06 00:11:35 -04:00
Parker Moore fc98f06ed7 Refactor docs_to_write 2014-05-04 21:22:57 -04:00
Parker Moore 54b74fafba Add documents to site payload 2014-05-04 21:22:51 -04:00
Parker Moore a2169bf0c4 Have separate methods for all docs and just the docs that are being written. 2014-05-04 21:19:09 -04:00
Parker Moore c906dfdf71 TEST THE COLLECTIONS 2014-04-24 14:01:23 -04:00
Parker Moore fb39b41ffb NO MORE DATA COLLECTION I CAN'T HANDLE IT 2014-04-24 13:59:25 -04:00
Parker Moore 0dc680df0b Always render collections, just don't always write them 2014-04-24 13:59:24 -04:00
Parker Moore 7be78de93a Don't read the collection if it's the data collection 2014-04-24 13:59:24 -04:00
Parker Moore f1a422dfff Don't pretend there is a collections setter 2014-04-24 13:59:24 -04:00
Parker Moore a27e5825b9 Nil-out `@collections` so `#collections` will re-compile 2014-04-24 13:59:24 -04:00
Parker Moore fd98d5b1e6 Fetch collection names agnostically regarding the data structure of config['collections'] 2014-04-24 13:59:24 -04:00
Parker Moore 330005d932 Reset the collections hash on #reset.
Fixes #2234.
2014-04-24 13:59:24 -04:00
Parker Moore 9db5a1a6ce Merge pull request #2205 from jekyll/maul-esel-frontmatter-defaults 2014-04-21 23:01:05 -04:00
Parker Moore 571fb95cc1 Only read in 5 bytes when checking for YAML header.
#2211 #2210
2014-04-15 09:48:44 -04:00
Parker Moore 29fdc0946a Use +rb switches when reading in file for checking existence of YAML header.
Fixes #2228.
2014-04-15 09:46:53 -04:00
Parker Moore a1af95c34e Clean up some code per @baweaver's suggestions. 2014-04-14 22:46:22 -04:00
Parker Moore af61451f87 Use #error instead of #warn when telling the user not to use a custom data source 2014-04-14 22:46:22 -04:00
Parker Moore 62551b5ff9 Include data in the array of collections 2014-04-14 22:46:22 -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 37a7236e20 Homagah it all renders I think. 2014-04-14 22:46:21 -04:00
Parker Moore a15a584136 Don't let that render get you down. 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 90807ac6e7 DEM TESTS 2014-04-14 22:44:29 -04:00
Parker Moore 08162dbb50 Hey girl, i heard you like YAML. 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
Matt Rogers 6be33cf6ef Merge pull request #1492 from maul-esel/publishing 2014-04-14 20:17:01 -05:00
Parker Moore 4f66db6c38 Merge pull request #2211 from jekyll/pgp-key-header-frontmatter 2014-04-14 12:59:59 -04:00
Ben Balter b666ac787b Stricter start of line check via \A 2014-04-11 15:15:37 -04:00
Ben Balter 387cf2181a use regex to verify yaml existence 2014-04-11 08:00:40 -04:00
maul.esel 46a5ab99f9 Support "published: false" for pages
Fixes 1034.
2014-04-07 16:22:04 +02:00
maul.esel 3a330dc7fc Use Publisher instead of Post#published? 2014-04-07 16:20:13 +02:00
maul.esel 91e9ecfa63 Add an --unpublished option to render unpublished posts
Fixes #1337, #469.
2014-04-07 16:17:12 +02:00
Marcus Stollsteimer fec6b59950 Use File.exist? instead of deprecated File.exists? 2014-04-06 13:31:34 +02:00
Ben Balter 823c863a53 require newline after start of yaml header 2014-04-05 17:34:08 -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
Parker Moore 1863057b7e Ok handle the plugins_path stuff in the PluginManager. 2014-04-02 22:06:38 -04:00
Parker Moore 4a4c8846f4 Fetching/determining the plugin path is beyond this it's kind of sad. 2014-04-02 21:59:15 -04:00
Parker Moore f418ea5fc3 Extract plugin management into its own class. 2014-04-01 18:10:51 -04:00
maul.esel 8c0e5d8d98 remove duplicate code for tags and categories
Previously the `Site#tags` and `Site#categories` actually had the
same structure as a hash returned by `Site#post_attr_hash()`, but
maintained separately. Remove this duplicated infrastructure. For
backwards-compatibility for plugins, provide aliases for them.
2014-03-31 01:02:08 +02:00
Fabian Rodriguez 302bc46914 rename variable inside block 2014-03-27 19:53:28 -03:00
Fabian Rodriguez adcfde14ed align 'end' with 'def' 2014-03-27 19:52:52 -03:00
Daniel Schauenberg 81e4e1d8f4 add support for unpublished drafts
I keep all my ideas for blog posts as drafts in my draft folder. However I'm
only really working on a couple at once. This let's me mark drafts that I'm
not working on right now as unpublished so they don't clutter the site while
I'm checking on the other drafts.
2014-03-22 19:52:10 -04:00
Corey Ward f1c4e247a5 Remove unnecessary references to `self` 2014-02-21 16:27:21 -06:00
Parker Moore e0166682da Sort the static files by relative path before sending to liquid 2014-02-19 14:02:03 -05:00
Parker Moore 949aa3fc32 Test fetching of static files 2014-02-19 13:16:21 -05:00
Parker Moore 6e40338f9e Expose site.static_files to Liquid 2014-02-19 13:04:33 -05:00
Matt Rogers & Persa Zula fd92820b03 Remove Site#read_layouts 2014-02-06 22:46:09 -06:00
Matt Rogers f581940c71 Create a LayoutReader class to read layouts 2014-02-06 22:22:06 -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
Matt Rogers 6f394e82b5 Rename read_things to read_content. 2014-01-11 15:29:22 -06:00
Parker Moore 42fc5e9ee7 Excludes should be relative to the site source 2014-01-05 10:45:42 -08: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 3c1d45f45f Sort pages by name by default
The order that files are returned differs across operating systems, so
ensure that they're being sorted after the fact.
2013-12-19 01:02:25 -05:00
Matt Rogers ed82098162 Merge pull request #1796 from mojombo/fix-fetching-things
Reject nil entries in Site#read_things
2013-12-09 18:23:19 -08:00
Parker Moore bf9cf5340d Reject nil entries in Site#read_things 2013-12-09 12:46:57 -05:00
Parker Moore b58cd5c132 Merge pull request #1657 from mojombo/safe-whitelist
A gem-based plugin whitelist for `safe` mode
2013-12-07 21:41:55 -08:00
Persa Zula 6a13f7dd57 Modifying enumerator for 1.8.7 2013-12-06 01:28:21 -05:00
Matt Rogers & Persa Zula e69d77b4df Refactor post and draft object creation
De-duplicate object creation between posts and drafts. Inject the name
dependency through a parameter
2013-12-06 01:28:21 -05:00
Parker Moore e91db82d26 I mean the argument and the local variable should be the same thing 2013-12-06 01:07:34 -05:00
Parker Moore f0fbc8f356 Refactor conditions for allowing plugins into a new method: Site#plguin_allowed? 2013-12-06 00:26:44 -05:00
Parker Moore 249b13a98a Hm, shouldn't need that call to 'rescue' in Site#whitelist 2013-12-06 00:24:59 -05:00
Parker Moore 5c9f9a4de8 The whitelist should be an array (not a file)
Default to `[]` if the key’s value is falsey
2013-12-06 00:23:22 -05:00
maul.esel f1869cda98 Merge branch 'master' into frontmatter-defaults 2013-12-05 19:29:57 +01:00
Matt Rogers 4a2e5af52e Merge pull request #1682 from envygeeks/patch-1
Sort plugins so people can have "load orders".
2013-12-04 18:40:04 -08:00
Parker Moore 615d49ed66 Remove Site.whitelist attribute. 2013-11-04 23:24:21 -05:00
Parker Moore a4b9bab1dc Add --whitelist flag and internal logic 2013-11-04 23:24:21 -05:00
Parker Moore 480e35037b A start at a gem-based plugin whitelist for Pages. 2013-11-04 23:24:21 -05:00
Matt Rogers 6791f9fc12 Use the new `EntryFilter` class in `Site` 2013-11-04 21:35:53 -06:00
Jordon Bedwell 7a1f63d994 Sort plugins so people can have "load orders".
This allows for people to do something like "_plugins/1-autoload-global.rb" and have it load first and so on making it much easier to organize code and have a "header file" that does all the requiring up front if it's needed for all plugins.
2013-10-31 07:12:54 -05:00
Matt Rogers 23ad7fa4bd Merge pull request #1557 from mojombo/require-gems-plugins
Add `gems` for better plugin management
2013-10-23 07:39:43 -07:00
maul.esel c2aa26280c extract pages.any?... in own method 2013-10-17 15:17:58 +02:00
maul.esel f0aac30491 remove duplicated render code for posts and pages 2013-10-17 12:07:30 +02:00
maul.esel 7232948b62 simplify relative permalink deprecation 2013-10-17 12:06:21 +02:00
maul.esel 20ea0c8d56 Merge branch 'master' into frontmatter-defaults 2013-10-14 19:44:06 +02:00
Juan Ignacio Donoso 87ef39aeb0 Add support for use of folders inside _layout path, closes #1622 2013-10-08 14:19:12 -03:00
Parker Moore 310688297b I guess we'll wait until v2.0 to switch to absolute permalinks. 2013-10-04 15:03:05 -04:00
Parker Moore bf1d9a79c4 Add support for gem-based plugins. 2013-10-04 14:45:28 -04:00
liufengyun 760cbc7f91 Autoload yaml files under _data directory
The jekyll engine will autoload all yaml files(ends with .yml or .yaml)
under _data. If there's a file members.yml under the directory, then user
can access contents of the file through site.members.
2013-10-01 11:23:33 +08:00
Shigeya Suzuki 97e052df63 Pass encoding parameter as string, not an object 2013-09-19 12:21:26 +09:00
MURAOKA Taro 8a28d80690 add encoding for configuration 2013-09-19 12:21:25 +09:00
maul.esel bec4a07c12 Fix handling of source-dest matching being too aggressive
Fixes #1130.
2013-09-16 14:41:20 +02:00
maul.esel b3fdaa9792 add a class `FrontmatterDefaults` for handling of frontmatter defaults 2013-09-11 00:55:28 +02:00
Parker Moore b7e34175d0 Put version under 'jekyll' namespace. 2013-08-30 18:54:03 -04:00
Parker Moore 20f44be87f Merge branch 'patch-1' of git://github.com/pathawks/jekyll into pathawks-patch-1
* 'patch-1' of git://github.com/pathawks/jekyll:
  Use proper Ruby syntax for constant
  Expose Jekyll version to templates
2013-08-30 18:50:58 -04:00
Matt Rogers a9e2a74ea6 Merge pull request #1341 from maul-esel/minor-refactors
Minor refactors
2013-08-29 20:21:08 -07:00
maul.esel d28858a9e9 put the Cleaner instance in a `Site#site_cleaner` method 2013-08-19 20:15:54 +02:00
maul.esel 5d7dba476c change site_cleaner to use attr_accessor 2013-08-17 22:33:01 +02:00
maul.esel 5da13d2b66 Refactor `Site#cleanup`
Move the cleanup logic out into a separate class,
`Jekyll::Cleaner`.
2013-08-17 17:14:08 +02:00
Pat Hawks 32e55e7717 Use proper Ruby syntax for constant 2013-08-16 21:01:09 -07:00
Pat Hawks 2744b66fac Expose Jekyll version to templates
Make available `site.version` to liquid
2013-08-16 20:30:26 -07:00
maul.esel 955f913f04 simplify Site#initialize 2013-07-22 16:02:50 +02:00
Parker Moore e1ecae250c Site#site_files_each ~> Site#each_site_file 2013-07-12 10:52:00 +02:00
Parker Moore 979d5c13c4 Merge pull request #1144 from jpiasetz/cleanup
Refactor Jekyll::Site
2013-07-12 01:48:34 -07:00
John Piasetzki 13fd798ec0 Extracted each method 2013-07-09 20:50:22 -04:00
John Piasetzki b5d4a96149 Refactored site.rb, I tried to clean a bunch of the methods code climate was complaining about 2013-07-05 16:12:10 -04:00
Matt Rogers 2484833bc8 Merge pull request #1118 from maul-esel/dir-bug-take2
[bugfix #417] delete old files that have been replaced by a directory
2013-07-01 07:52:29 -07:00
Parker Moore 1f59e9c757 Use Jekyll.logger instead of Jekyll::Stevenson to log things. 2013-05-29 11:58:35 +02:00
maul.esel 96efa9ed06 delete old files that have been replaced by a directory
Fixes #417.
Replaces #1086, more logical code.
2013-05-17 17:45:51 +02:00
Matt Rogers ff600bfcd9 Merge branch 'master' into refactor-related-posts 2013-05-14 21:54:12 -05: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
Parker Moore 161244fd78 Add better language and link to Upgrading page in docs for relative permalinks deprecation msg 2013-05-11 18:06:33 +02:00
Parker Moore 6294c4a204 Better-formatted output with relation to 'Generating... done.' 2013-05-11 17:56:42 +02:00
Parker Moore b355ef6469 Add jekyll doctor command 2013-05-11 17:49:20 +02:00
Parker Moore e22b1bb74a Add deprecation support for pages in subfolders with relative permalinks. 2013-05-11 17:40:00 +02:00
Matt Rogers f67f7f3db4 Move the building of related posts into their own class 2013-05-07 22:27:38 -05:00
Parker Moore 67aaada839 Clean up some copy in the limit_posts error handling. 2013-05-04 14:57:27 +02:00
uu59 0f52f15cc2 Clean up code #1104 2013-04-29 21:07:46 +09:00
uu59 94756340cd Remove to_i. Let commander gem do it #1004 2013-04-29 15:56:02 +09:00
uu59 20a837d15c Change default value of limit_posts from nil to 0 (see #1004)
Before this commit meaning of limit_posts:
  nil: no limit. generate all posts
  0: raise error
  n ( > 0): generate n posts only
  n ( < 0): raise error
  else: raise error

After this commit:
  nil: same as 0
  0: no limit. generate all posts
  n ( > 0): generate n posts only
  n ( < 0): raise error
  else: almost same as 0 (depend on `to_i` result)
2013-04-29 01:41:22 +09:00
uu59 ad2c706a34 Fix `jekyll serve --limit_posts n` failed 2013-04-28 02:03:08 +09:00
Brian Kim 028e580bb8 Remove short-circuits from Site 2013-04-13 12:39:49 -04:00
Parker Moore 04fd68a232 Move Jekyll::DEFAULTS to Jekyll::Configuration::DEFAULTS 2013-04-12 21:19:20 +02:00
Parker Moore 0f2c9d29ee Merge pull request #875 from mojombo/posts-cant-be-dirs
Directories with valid post names should be filtered out
2013-04-07 12:54:42 -07:00
Lucas Jenss 2c7325223f Fix symlinked assets not being included, even in unsafe mode 2013-03-31 20:49:43 +02:00
Parker Moore 6f6ad001d2 Ignore entries if they are directories. 2013-03-19 21:59:06 +01:00
Parker Moore 4400e89898 Expect a 'baseurl' to be passed in to Site 2013-03-17 21:18:45 +01:00
Parker Moore d5ed4fc5d0 Add baseurl to Site attr_accessor list. 2013-03-17 20:42:11 +01:00
Parker Moore eef13d7d43 Expose site.baseurl to Liquid templates. 2013-03-17 17:26:33 +01:00
Tommy Sullivan caa6a4ebfd Sort instantiated subclasses in Site. 2013-03-16 15:24:34 +01:00
Matt Rogers 10ee5c8999 Remove the duplication when creating Converters and Generators
Encapsulate it in a method and give the method the class to walk the
subclass tree for to create new objects.
2013-03-16 15:20:11 +01:00