Commit Graph

979 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
Anatol Broder affffb4ed4 Update dummy email address to example.com domain 2013-08-10 15:29:33 +02:00
Anatol Broder 381a8148e3 Correct the social dummie URLs
Twitter and Github seem to always force HTTPS. They don’t use backslashes after the username.
2013-08-09 17:09:24 +02:00
Parker Moore 7d26be5102 Call ruby's 'abort' if the site is unhealthy 2013-08-08 18:33:55 +02:00
Parker Moore 318a379747 Nuke comment. 2013-08-08 18:32:13 +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 1d14692e5d Implement URL conflict checking in `jekyll-doctor`. 2013-08-06 20:41:00 +02:00
Parker Moore aee7a41bc3 Align {{ content }} call with its siblings in site template. 2013-08-06 20:12:26 +02:00
Wlodek Bzyl ece35e5e36 Remove div.container from the default html template 2013-08-06 20:12:26 +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
Lucas Jenss 362fcf28f0 Use do ... end for multiline block 2013-07-31 23:17:56 +02:00
Lucas Jenss a23e94ad48 Improve comment for url_placeholders method 2013-07-31 23:17:06 +02:00
Lucas Jenss cce58159ce Use symbols for all placeholders
See https://github.com/mojombo/jekyll/pull/944#discussion_r5443105
for a discussion.
2013-07-31 23:11:51 +02:00
MURAOKA Taro 8a155e0a50 use binary mode when writing file. 2013-07-30 21:35:02 +09:00
MURAOKA Taro d8bf10d761 disable reverse lookup 2013-07-30 21:28:27 +09:00
maul.esel b5d25427e5 Merge branch 'master' into minor-refactors 2013-07-28 21:21:50 +02:00
maul.esel 01922a10ac Convertible#to_liquid: allow an alternate attribute set to be passed 2013-07-28 21:18:54 +02:00
Parker Moore e973e59306 Remove redundant argument in Jekyll::Commands::New#scaffold_post_content 2013-07-26 16:25:39 +02:00
Lucas Jenss f5d0be9660 Move URL generation to own class instead of a module
As suggested by @parkr in #944
2013-07-25 22:44:27 +02:00
Lucas Jenss 41b2f0824e Merge branch 'master' of https://github.com/mojombo/jekyll into permalink-special-characters 2013-07-25 21:33:55 +02:00
Parker Moore 0db5dcf832 Release 1.1.2 2013-07-25 09:15:34 +02:00
Parker Moore fe10f21d8d Release 1.1.1 2013-07-24 22:42:03 +02:00
maul.esel 6c6dd173c7 Post + Page: extract real path retrieval into separate method (@parkr) 2013-07-24 16:30:24 +02:00
maul.esel d815e2b2a2 coding style preferences (@parkr) 2013-07-24 16:28:03 +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
maul.esel ba5db5ad5b refactor Include tag file validation
Split validation into a separate method, and give a more
descriptive error on symlinks.
2013-07-23 14:23:33 +02:00
maul.esel 86e007f970 remove no-longer needed LSI accessor
LSI has been moved to another class (Jekyll::RelatedPosts),
but this was left in Post.
2013-07-23 11:24:23 +02:00
maul.esel 75d6587d27 Move #to_liquid to Convertible 2013-07-22 16:34:01 +02:00
maul.esel 21de43090a Posts: move slug to title in a separate method 2013-07-22 16:23:40 +02:00
maul.esel 5efadd6674 Support missing kramdown coderay option 2013-07-22 16:02:50 +02:00
maul.esel 955f913f04 simplify Site#initialize 2013-07-22 16:02:50 +02:00
maul.esel fd907fa631 simplify coderay option handling 2013-07-22 16:02:50 +02:00
maul.esel 5d777eb9e9 With the move of path handling, Page#to_liquid can be simplified 2013-07-22 16:02:50 +02:00
maul.esel 08567b1091 move path handling in pages to the `path` method, as in posts 2013-07-22 16:02:50 +02:00
maul.esel f0e2468249 simplify some code with Hash#fetch 2013-07-22 16:02:42 +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
Wlodek Bzyl a880b7f99f Remove superfluous 'table' selector from main.css in 'jekyll new' site template.
Closes #1323
2013-07-19 16:01:32 +02:00
Lucas Jenss 2ac98a7358 Merge branch 'master' into permalink-special-characters
Conflicts:
	lib/jekyll/page.rb
	lib/jekyll/post.rb
2013-07-14 23:58:22 +02:00
Parker Moore d572e588e8 Release 1.1.0 2013-07-14 19:52:44 +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
maul.esel ef22ebd7f1 code improvements according to @parkr's suggestions 2013-07-05 14:13:40 +02: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 cb1a2d1818 Catch conversion errors. Constituent of #1105. 2013-06-30 16:38:35 +02:00
Parker Moore 36fc16b4a4 Default Markdown template parser for new sites to RedCarpet via _config.yml. Related: #1236. 2013-06-27 18:57:17 +02:00
Matt Rogers c1850a38f7 Merge pull request #1215 from sanandnarayan/folder_plus
removed cgi unescape in page destination
2013-06-25 06:19:41 -07:00
Matt Rogers fdebe492cc Merge pull request #1171 from zachgersh/new_empty
Added a --blank command which scaffolds empty files.
2013-06-24 22:25:25 -07:00
imathis 2b01b06ec8 Support passing Liquid variables to includes
Change the regex matching to allow Liquid variables and object fields
to be passed to the include. Use the render context to retrieve the
variable value. Also, relax syntax checks by allowing surrounding spaces
and dashes in parameter names.
2013-06-22 15:47:16 +02:00
maul.esel f8f6784305 move parameter parsing to render time 2013-06-22 15:30:10 +02:00
maul.esel 00ed567f99 move regex to the top 2013-06-22 15:07:10 +02:00
zachgersh 042c960df0 Moved md post into else block. Added _drafts blank dir. 2013-06-18 07:57:59 -07:00
zachgersh a3d53a74be Refactored per @parkr suggestions. Much cleaner. 2013-06-18 07:57:59 -07:00
zachgersh 16314ee4a2 New leaving empty layouts / posts dirs and empty index.html. 2013-06-18 07:57:58 -07:00
zachgersh a21031eae9 Added a --blank command which scaffolds empty files. 2013-06-18 07:57:58 -07:00
maul.esel bdd84f275e Ruby 1.8.7 only supports 1 param to Regexp.match() 2013-06-15 18:28:26 +02:00
maul.esel 99721ee8aa To satisfy Ruby 1.8.7, use look-ahead instead of look-behind 2013-06-15 18:19:52 +02:00
Anand Narayan 5c47014c90 removed cgi unescape in page destination 2013-06-15 18:38:14 +05:30
maul.esel 0fa03d2651 stupid Ruby 1.8.7 doesn't support named groups 2013-06-13 18:48:40 +02:00
maul.esel 639acea0a7 do parameter parsing with @imathis' incredible regex
This also introduces single-quote support.
2013-06-13 18:38:14 +02:00