Commit Graph

253 Commits

Author SHA1 Message Date
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
Martin Jorn Rogalla bebd80342e Extracted draft, post reader into external classes.
Organized the draft, post and layout reader into the *readers* classes.
Fixed all references and ran tests.

Signed-off-by: Martin Jorn Rogalla <martin@martinrogalla.com>
2015-03-06 12:39:50 +01:00
Martin Jorn Rogalla bb9d43dff5 Extracted `in_source_dir` from site.rb and into reader.rb.
Extracted `in_source_dir` from site.rb into reader.rb.
Updated all the references and tests.

Signed-off-by: Martin Jorn Rogalla <martin@martinrogalla.com>
2015-03-04 19:16:03 +01:00
Parker Moore 65d43ef398 Move previous runtime dependencies to development dependencies. 2015-01-31 13:53:17 -08:00
Alfred Xing fe5f0d124c Move all regenerate? checking to Regenerator 2015-01-18 11:05:06 -08:00
Parker Moore c576d23908 Use External instead of Deprecator for requiring gracefully 2014-12-28 14:37:49 -05:00
Parker Moore b68dd3a5cb Add liquid c if it's available. 2014-12-26 21:53:56 -05:00
Parker Moore 70a331d854 Set the error mode to :strict 2014-12-26 21:53:56 -05: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
Parker Moore bd907c5be6 Remove duplicate regexp phrase: ^\A.
Addresses @mastahyeti's comment in #3077: https://github.com/jekyll/jekyll/pull/3077#discussion_r20077150
2014-11-10 11:36:05 -08:00
Parker Moore 067f8b6be7 Strip the drive name from both paths when checking the prefix. 2014-11-08 13:10:28 -08:00
Parker Moore 5b54f78875 Allow users to specify the log level via JEKYLL_LOG_LEVEL. 2014-11-06 12:03:07 -08:00
Parker Moore 4bccbdead4 If no overrides are passed in, just default to a Hash. 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 bd72265e74 Reformat the Jekyll module's static methods. 2014-11-03 22:15:40 -08:00
Parker Moore 4c4f803df2 Remove preemptive loading of the 'classifier' gem. 2014-08-05 16:47:30 -04:00
Parker Moore a97ae67552 Gracefully require 2014-07-12 13:46:49 -07:00
Parker Moore 4cc6a0f263 Mark certain gems as eventually-non-core. 2014-07-12 13:08:35 -07:00
Parker Moore 879abc0949 Externalize the {% gist %} tag as the jekyll-gist gem. 2014-06-01 13:18:00 -04:00
Parker Moore 83fb1fd0f6 Merge pull request #2444 from createdbypete/configurable-logger 2014-05-30 18:16:47 -04:00
Parker Moore 9e4ef3cbff Add the paginator as a plugin: jekyll-paginate 2014-05-26 20:09:33 -04:00
Peter Rhoades e6345f39a9 Renaming LogWriter to LogAdapter and adding tests for class
String coloring moved to Stevenson as not responsibility of LogAdapter
2014-05-24 21:22:10 +01:00
Peter Rhoades 4a73e099b7 Allow Jekyll's logger to be set to any Logger compatible instance
* Stevenson now inherits from Logger and extends some methods to use $stderr
for log messages greater than info level.
* LogWriter provides an interface between Jekyll and Logger to maintain API.
2014-05-24 15:00:14 +01:00
Jordon Bedwell 1c11afd78d Fix #2413 and setup a Jekyll.env. 2014-05-15 16:28:37 -05:00
Parker Moore 64cce065e6 Require kramdown instead of maruku.
CRAP CRAP CRAP whoops.
2014-05-06 21:55:11 -04:00
Parker Moore 4de2be8c5f Add Jekyll::LiquidExtensions.lookup_variable
To use, just include `Jekyll::LiquidExtensions` as you please:

```ruby
class SayHi < Liquid::Tag
  include Jekyll::LiquidExtensions

  def initialize(tag_name, markup, tokens)
    @markup = markup.strip
  end

  def render(context)
    "hi #{lookup_variable(context, @markup)}"
  end
end
```

Fixes #2071.
2014-04-22 14:27:47 -04:00