Commit Graph

279 Commits

Author SHA1 Message Date
Nikhil Benesch 9ddb4350d3 Actually conditionally include liquid-c (#7792)
Merge pull request 7792
2019-08-19 03:07:02 -04:00
Ashwin Maroli b55927e8f7 Add PathManager class to cache interim paths (#7732)
Merge pull request 7732
2019-08-01 16:21:00 -04:00
Ashwin Maroli 6eee8b7e06 Strip extra slashes via `Jekyll.sanitized_path` (#7182)
Merge pull request 7182
2018-09-24 13:27:44 -04:00
Pat Hawks 24dd9f1457 Add Cache class (#7169)
Merge pull request 7169
2018-08-21 03:38:53 -04:00
ashmaroli 36fbcaa863 Optimize loading library into memory (#6910)
Merge pull request 6910
2018-04-10 11:00:12 -04:00
ashmaroli 017f032b4c Do not hardcode locale unless certainly necessary (#6791)
Merge pull request 6791
2018-02-25 06:09:44 -05:00
ashmaroli 38342006a3 Add PageWithoutAFile class from jekyll plugins (#6556)
Merge pull request 6556
2017-11-30 12:16:35 -06:00
Alex Tsui 93e3eb06d2 Add latin mode to slugify (#6509)
Merge pull request 6509
2017-11-02 23:07:25 -04:00
ashmaroli 00bad8bfe5 Bump rubocop to use `v0.50.x` (#6368)
Merge pull request 6368
2017-09-22 09:06:32 -04:00
Parker Moore 7cf5f51ca2 Enforce Style/FrozenStringLiteralComment. (#6265)
Merge pull request 6265
2017-08-03 21:27:32 -04:00
Bogdan 8f1959bbc4 Define path with __dir__ (#6087)
Merge pull request 6087
2017-07-25 19:20:20 -04:00
Ashwin Maroli f8456e02c1 narrow it down to only Windows 2016-12-06 15:38:18 +05:30
Ashwin Maroli c4142c4c77 add a utility submodule to define 'TZ' on Windows 2016-12-06 15:38:18 +05:30
jekyllbot 275f5a6209 Merge pull request #5256 from kwokfu/patch-1
Merge pull request 5256
2016-10-05 11:34:06 -07:00
Mark H. Wilkinson a0a351aa7a Remove autoload of Draft which no longer exists. 2016-10-03 22:21:35 +01:00
Heng Kwokfu db53213d16 Merge remote-tracking branch 'jekyll/master' into patch-1 2016-09-24 08:46:24 +08:00
Parker Moore 13aec48137
Add ThemeAssetsReader which reads assets from a theme
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.
2016-09-16 14:41:36 -07:00
Heng, K. (Stephen) 7892c5e1f3 Fix issue #5276, where path strips root destination dir if filename matches 2016-08-25 18:35:09 +08:00
Heng, K. (Stephen) 596f5d1af3 Proposed fix for #5192
Strip drive name only when necessary.
2016-08-18 12:02:00 +08:00
Marcus Stollsteimer 1c0f21230d Stringify configuration overrides before first use
This makes sure that overrides for Jekyll.configuration
all have string keys before their first use, particularly
also the "config" and "skip_config_files" options.
2016-07-08 15:47:26 +02:00
Praveen Kumar 712e77abd2 lib/jekyll.rb - fix offenses reported by rubocop
method set_timezone is ignored using rubocop:disable Style/AccessorMethodName
2016-06-03 09:45:15 +05:30
jekyllbot dc5fd15f71 Merge pull request #4944 from pathawks/fp/sort-includes
Merge pull request 4944
2016-05-25 15:46:50 -07:00
Parker Moore ad7bd84098 lib/jekyll.rb: require document_drop to ease our pain 2016-05-24 19:03:32 -05:00
Parker Moore 1a05483a63 Sort the results of the require_all glob.
Filesystems behave differently when performing glob listings.

In my environment, they are listed alphabetically. On my Mac, when asking for a list of files in a directory, those files are returned as a nicely sorted list. Alphabetized, like you'd want them to be. Like you'd expect them to be.

In some environments, quite different from my own, the return of a similar operation is quite random. Perhaps q comes before a, or e before d; the filesystem will choose its order of the day and you, the fare user, tired and weary from work, must bare the brunt of this.

And so, with this commit, I do hereby request that the noble makers of Dir[] provide for us, the downtrodden and ravaged users, some consistency. As a user of Ruby, I shouldn't have to know or consider the behaviour of an individual filesystem here; it should function the same for all filesystems.

Truly yours,
Parker
2016-05-24 19:03:32 -05:00
Parker Moore de5970ae55 Fix some minor things in the tests 2016-05-24 18:49:05 -05:00
Parker Moore d01f7943de Add Configuration.from & use in Jekyll.configuration.
This process streamlines the creation of new configurations. Creating a new
site will choke if not all the correct options are given.
Configuration.from will ensure the overrides have all string keys and
ensures all the common issues & defaults are in place so a Site can be
created.

A common use:

    config = Configuration.from({ 'permalink' => '/:title/' }) # etc
    site = Jekyll::Site.new(config)
2016-05-24 18:47:15 -05:00
Parker Moore fab092fcec Remove use of Marshal in runtime code. 2016-05-24 18:47:15 -05:00
Parker Moore 04d4473119 Use Marshal to duplicate configuration defaults to prevent manipulation 2016-05-24 18:47:14 -05:00
Parker Moore e3df910533
Add more template files and add a ThemeBuilder which can create the site 2016-05-16 10:53:55 -07:00
Jordon Bedwell 3751b47c50
Cleanup EntryFilter and make it far more robust.
* Allow users to filter directories by ending their path with "/"
* Allow users to filter with a Regexp, some scenariors can really require it.
* Use Pathutil#in_path? for Symlink verification, it real/expand.

This also requires some downstream work in "jekyll-watch" which at this time is
not very robust, it doesn't recognize the difference either, and should probably
start doing so (what I mean is detecting "/" and using the full path.)
2016-05-10 20:01:02 -05:00
Parker Moore 42cc2445a5
Merge branch 'master' into themes
* master: (58 commits)
  Update history to reflect merge of #4792 [ci skip]
  Update history to reflect merge of #4793 [ci skip]
  Update history to reflect merge of #4804 [ci skip]
  Update history to reflect merge of #4754 [ci skip]
  Update history to reflect merge of #4813 [ci skip]
  Added missing single quote on rsync client side command
  Add v3.0.4 and v3.1.3 to the history.
  Fixed typo
  Add jekyll-autoprefixer plugin
  Explicitly require Filters rather than implicitly.
  Update history to reflect merge of #4786 [ci skip]
  Update history to reflect merge of #4789 [ci skip]
  updates example domain in config template
  Globalize Jekyll's Filters.
  Update JRuby to 9.0.5.0; Drop the double digit test.
  Update Rack-Jekyll Heroku deployment blog post url
  convertible: use Document::YAML_FRONT_MATTER_REGEXP to parse transformable files
  Update history to reflect merge of #4734 [ci skip]
  Update history to reflect merge of #4478 [ci skip]
  Fix rubocop warning.
  ...
2016-04-21 11:43:35 -07:00
Jordon Bedwell 27366f2e30
Explicitly require Filters rather than implicitly. 2016-04-15 12:02:25 -05:00
Ben Balter 91b348966e add theme class 2016-02-26 14:25:29 -05:00
Parker Moore a040af37c0 Jekyll.sanitized_path: sanitizing a questionable path should handle tildes 2016-02-07 17:53:26 -08:00
Pat Hawks be3666fcf0
Rubocop: Do not use unless with else
- Rewrite these with the positive case first
2016-01-04 11:51:14 -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 6550867051
Rubocop: Style/SpecialGlobalVars
- Prefer $LOAD_PATH over $:
2016-01-03 15:29:49 -08:00
Pat Hawks 31dd0ebed5
Rubocop: Style/EmptyLiteral
- Use array literal [] instead of Array.new
 - Use hash literal {} instead of Hash.new
2016-01-03 14:39:01 -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 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 debdb15171 Move 'forwardable' require to earlier in the program start up. 2015-12-25 22:45:51 -05:00
Parker Moore bff1726a5a immutable_drop: use custom error for bad set 2015-12-24 15:06:32 -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
Larry Fox 246ff3f9b6 Remove Post autoload
Seems like this got missed. Referencing `Jekyll::Post` results in a `LoadError`
2015-11-11 11:55:54 -05:00
Parker Moore b89f943bf2 collections: posts as collection 2015-10-26 00:29:14 -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
Martin Jorn Rogalla 63a1ec8949 Made corrections as suggested by @mattr-.
- Corrected TomDoc, added variables and fixed typos.
 - deprecated_rel_permalink -> relative_permalinks_are_deprecated.
 - Grouped calls together in @reader.read.
 - Removed dynamic and static reader subdirectories.
 - Removed unnecessary move of limit_posts.

Signed-off-by: Martin Jorn Rogalla <martin@martinrogalla.com>
2015-03-20 12:41:19 +01:00
Martin Rogalla 324748a5a6 Added corrections as suggested by @parkr.
- Replaced occurrences of #array += with concat
   operations.(performance)
 - Corrected alignment.
 - Removed rebase artifact.

Signed-off-by: Martin Rogalla <martin@martinrogalla.com>
2015-03-19 14:56:46 +01:00
Martin Jorn Rogalla 00cdcbc184 Separated some more readers from the main reader.rb file.
- Draft Reader
 - Collection Reader
 - Page Reader
 - Post Reader
 - Static File Reader

Fixed references and ran tests.

Signed-off-by: Martin Jorn Rogalla <martin@martinrogalla.com>
2015-03-06 17:20:25 +01:00