Commit Graph

773 Commits

Author SHA1 Message Date
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
Parker Moore 5f4efd34bd When a Liquid Exception is caught, show the full path (rel to site source) 2013-08-12 21:19:54 +02:00
Parker Moore d4300be758 Merge branch 'permalink-no-dir' of git://github.com/maul-esel/jekyll into maul-esel-permalink-no-dir
* 'permalink-no-dir' of git://github.com/maul-esel/jekyll:
  test per-post permalinks
  do not force the permalink to be a dir if it ends on .html

Conflicts:
	features/step_definitions/jekyll_steps.rb
2013-08-11 12:08:56 +02:00
Parker Moore bc3dccf0e5 Merge pull request #1386 from mojombo/disable-excerpts
Disable automatically-generated excerpts with option
2013-08-08 02:39:06 -07: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
Parker Moore 95534733ed should_generate_excerpt? ~> generate_excerpt? 2013-08-08 00:35:42 +02:00
Parker Moore cb52535c03 Merge pull request #1390 from mojombo/better-errors
Catch and fix (somehow) common configuration errors
2013-08-07 15:28:16 -07:00
Parker Moore 826293ebe3 Merge pull request #1364 from koron/write-in-binary-mode
use binary mode when writing file.
2013-08-07 08:12:27 -07:00
Parker Moore ccedcd0eb9 Use .empty? instead of == '' 2013-08-07 17:12:13 +02:00
Parker Moore d19c6983f2 paginate option cannot be 0. 2013-08-06 21:04:15 +02:00
Parker Moore 6eec3a7942 Print warning when `paginate` is set to `true`.
Related to #1105.

Sample output:
~/code/jekyll/tsite$ ../bin/jekyll build --trace
Configuration file: /Users/parker/code/jekyll/tsite/_config.yml
    Config Warning: The `paginate` key must be a positive integer or nil. It's currently set to 'true'.
            Source: /Users/parker/code/jekyll/tsite
       Destination: /Users/parker/code/jekyll/tsite/_site
      Generating... done.
2013-08-06 20:56:29 +02:00
Parker Moore 8f7e229e8c Cleaned up the deprecator a little 2013-08-06 20:56:20 +02:00
Parker Moore e3abda9897 Fix 'undefined method `gsub' for nil:NilClass' when undefined method is called.
Closes #1388.
http://stackoverflow.com/questions/18037596/error-undefined-method-gsub-for-nilnilclass/18038912
2013-08-06 20:06:33 +02:00
Parker Moore cb8bc5accc Just clarifying the Post#should_generate_excerpt? 2013-08-06 18:15:06 +02:00
Parker Moore 9dc90333c1 Only generate excerpts if the excerpt_separator isn't blank 2013-08-06 18:05:15 +02:00
Thomas Torsney-Weir 627916bc54 force markdown match to match the full extension 2013-08-06 10:56:24 +02:00
MURAOKA Taro 8a155e0a50 use binary mode when writing file. 2013-07-30 21:35:02 +09:00
Parker Moore e973e59306 Remove redundant argument in Jekyll::Commands::New#scaffold_post_content 2013-07-26 16:25:39 +02:00
Matt Rogers d68d29c06f Merge pull request #1339 from mojombo/no-layouts-for-excerpt
No layouts for excerpt
2013-07-23 18:43:08 -07:00
Parker Moore 0bb2af8dee Remove superfluous conditional, props @mattr- 2013-07-23 20:04:39 +02:00
Parker Moore f883acc664 Remove debug statements 2013-07-22 11:33:19 +02:00
Parker Moore 26dc14881c Moving data around to make sure excerpts have no layouts but that they are still converted with liquid and the proper converter 2013-07-22 11:31:15 +02:00
Parker Moore e359472870 May as well add Stevenson#debug 2013-07-22 11:30:19 +02:00
Parker Moore c6a37a424b Debug statements - take them out later 2013-07-22 10:11:32 +02:00
Parker Moore f99c726085 Override Excerpt#render_all_layouts to just assign content to output 2013-07-22 10:11:32 +02:00
Parker Moore 0e0e25b9ba start with Excerpt#output, otherwise call #to_s 2013-07-22 10:11:32 +02:00
Parker Moore 04e0b318c8 Remove duplicate comment 2013-07-22 10:11:32 +02:00
Parker Moore 374e6fcdf4 Add Jekyll::Stevenson#abort_with 2013-07-22 10:07:15 +02:00
Parker Moore 5d91b8f346 merge bang to modify in place. Woops. #1201 2013-07-14 17:48:34 +02:00
Parker Moore e95086b211 Fix for kramdown coderay options. #1201. 2013-07-14 17:47:13 +02:00
Parker Moore 4ce89ac96d Merge pull request #1201 from zachgersh/all_kramdown
Supporting more kramdown options.
2013-07-14 08:45:05 -07:00
zachgersh 90500f37ac Deleted unused code. 2013-07-14 00:24:57 -05:00
zachgersh 774bf07380 Supporting more kramdown options. 2013-07-14 00:24:56 -05:00
Parker Moore d815c12571 Don't try to be smarter than the computer. Pass Excerpt#to_liquid to its parent post. 2013-07-14 04:22:34 +02:00
Parker Moore 015ace6773 Shuffle around rendering of extracted excerpt so it can be liquified. 2013-07-13 16:18:20 +02:00
Parker Moore 253fc8c506 Raise LoadError if the file doesn't exist but do not catch it. :) 2013-07-12 12:22:06 +02:00
Parker Moore a7efb86d5c Throw ArgumentError when there's an invalid config file, and catch only that. 2013-07-12 11:56:22 +02:00
Parker Moore 456ac01890 Crash if a config file isn't there.
If a configuration file is specified via the command line but does not exist,
fail loudly and crash to preserve the current state. Do not fail if the requested
file is the default configuration file, _config.yml. In that case, fall back on
the defaults.
2013-07-12 11:18:46 +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
Parker Moore 08f6f3c2ed Merge pull request #1204 from maul-esel/include-params2
Support parameters for liquid include tags.
2013-07-09 14:14:40 -07:00
maul.esel 9d2849c562 set value outside if/else block 2013-07-08 20:43:03 +02:00
Parker Moore e8d82fd88c Merge pull request #1271 from sanandnarayan/related_posts
Latest post  first in related posts
2013-07-08 10:55:39 -07:00
maul.esel f72365da4f more code improvements
Remove unused variable, extract validation to method (@mattr-).
Do not require markup to be passed to parse_params as argument.
2013-07-08 18:48:47 +02:00
Parker Moore 9d3d095bca Simplify check for String include/exclude option. 2013-07-08 18:35:16 +02:00
Parker Moore bbd466497f Remove duplication for include/exclude options in backwards_compatibilize. 2013-07-08 18:34:26 +02:00
Anand Narayan dfca2c6edc Latest post is chosen first in related posts 2013-07-06 15:11:52 +05:30
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