Commit Graph

14 Commits

Author SHA1 Message Date
Parker Moore 331c7adc08 Move #glob_include? from core_ext to entry_filter 2014-01-08 20:24:21 -08:00
Parker Moore 35868807c1 Ensure leading slashes in path matching. 2014-01-05 10:54:52 -08:00
Parker Moore 601f89d4d1 Remove File.read_with_options patch to allow 1.9 and 1.8 to behave the same 2013-12-08 00:50:12 -05:00
Parker Moore d130fd13dc Remove Ruby <1.9 core extensions 2013-12-08 00:47:44 -05:00
Shigeya Suzuki c625ddf6cd Invoke File.read with or without options depends on Ruby version
- Extract option fetch method as a separate method
- Added File.read_with_options method to use
- With performance fix
2013-09-19 12:22:50 +09:00
Nick Fagerlund 9ca7f70d70 Fix 'undefined method `encoding` for "mailto"' errors w/ Ruby 1.8 and Kramdown > 0.14.0
When using Ruby 1.8.7 and Kramdown 0.14.0 and newer, the following build error
would occur if any page in your site contained a `<name@example.com>` email
address link:

Generating...   Conversion error: There was an error converting 'contribute.markdown'.
/Users/nick/Documents/puppet-docs/vendor/bundle/ruby/1.8/gems/kramdown-1.0.2/lib/kramdown/converter/html.rb:404:in `obfuscate': undefined method `encoding' for "mailto":String (NoMethodError)

See also:
http://rubyforge.org/tracker/index.php?func=detail&aid=29750&group_id=7403&atid=28673

This problem traced back to the following line in the Kramdown source:

result.force_encoding(text.encoding) if result.respond_to?(:force_encoding)

Strings aren't supposed to respond to the :force_encoding method in Ruby < 1.9,
but lib/jekyll/core_ext.rb was modifying the string class like so:

def force_encoding(enc)
  self
end

Strings still won't respond to :encoding, though, so we get an error when
Kramdown tries to read the incoming encoding and everything will blow up.

An ack of the codebase suggests that this was only added so we could force an
encoding for rdiscount on 1.9 without having to check whether we were running
under 1.8. Since testing for said method to learn whether one is running under a
1.9-like encoding regime seems to be a thing in libraries we rely on, we
shouldn't insert this dummy method without also dummying every other part of the
Ruby 1.9+ encoding system.

This commit removes the dummy :force_encoding method to stop poisoning core
classes for libraries we use, and moves the adjustment for 1.9-like encoding
regimes to the one place where it's needed.
2013-08-07 20:07:54 -07:00
zachgersh 774bf07380 Supporting more kramdown options. 2013-07-14 00:24:56 -05:00
Parker Moore 9d814a4eb7 Add method String#force_encoding to 1.8.7 2013-03-17 23:35:46 +01:00
larrylv 035bbdf99f Fix typo. 2013-03-04 14:59:34 +08:00
mccxj 3cf29eeee2 add Enumerable#glob_include? 2013-01-11 15:33:11 +08:00
Kris Brown e0e4a47af1 added pluralized_array method to Hash and tests 2010-01-10 16:09:24 +00:00
Nick Quaranto 09946386b1 Adding Date#xmlschema from ActiveSupport for Ruby < 1.9. Closes #47 2009-06-23 18:22:27 -04:00
Tom Preston-Werner 73d42b24ad Huge refactor to move all config into Jekyll::Site
This commit makes Jekyll threadsafe (or at least makes it possible to be so).
It also makes it a ton easier to use Jekyll as a library for scripted site
transformation. I did, however, break all the tests. =(
2009-03-12 19:05:43 -07:00
Tom Preston-Werner dd8054411c deep merge hashes so as to not lose data 2008-12-24 22:06:42 -08:00