Commit Graph

1121 Commits

Author SHA1 Message Date
Parker Moore 3ab9841272 Fix 1.8.7 syntax errors. 2013-10-28 14:03:34 -04:00
Matt Rogers f697d12027 Merge pull request #1651 from liufengyun/jsonify
support jsonify filter
2013-10-23 20:50:14 -07:00
Matt Rogers 2287eed0c6 Merge pull request #1589 from dchest/better-watch
Replace directory_watcher with listen.
2013-10-23 22:38:56 -05:00
Matt Rogers 23ad7fa4bd Merge pull request #1557 from mojombo/require-gems-plugins
Add `gems` for better plugin management
2013-10-23 07:39:43 -07:00
liufengyun f971aebfb1 support jsonify filter 2013-10-22 23:52:22 +08:00
Dmitry Chestnykh 12ba0a541c Update listen to ~> 2.0. 2013-10-18 11:04:54 +02:00
Matt Rogers 0e784596a5 Merge pull request #1543 from maul-esel/fix-coderay
Add tests for special handling of kramdown's coderay options
2013-10-17 06:35:43 -07:00
maul.esel c2aa26280c extract pages.any?... in own method 2013-10-17 15:17:58 +02:00
maul.esel f0aac30491 remove duplicated render code for posts and pages 2013-10-17 12:07:30 +02:00
maul.esel 7232948b62 simplify relative permalink deprecation 2013-10-17 12:06:21 +02:00
Matt Rogers 0761769dda Merge pull request #1615 from benbalter/downcase-lexers
Downcase lexers before passing to Pygments
2013-10-10 18:48:00 -07:00
Juan Ignacio Donoso 87ef39aeb0 Add support for use of folders inside _layout path, closes #1622 2013-10-08 14:19:12 -03:00
Ben Balter 844cc615e4 actually downcase lexer 2013-10-06 15:55:16 -04:00
Brice 9ff245dbdb clean up comments to be more concise/uniform 2013-10-05 13:20:30 -04:00
Ben Balter d5f137bc86 downcase lexers before passing to Pygments 2013-10-05 11:26:26 -04:00
Parker Moore 310688297b I guess we'll wait until v2.0 to switch to absolute permalinks. 2013-10-04 15:03:05 -04:00
Parker Moore bf1d9a79c4 Add support for gem-based plugins. 2013-10-04 14:45:28 -04:00
maul.esel b00849544b fix error with variable as file name 2013-10-04 19:12:29 +02:00
Matt Rogers fef96d95e1 Merge pull request #1495 from maul-esel/variable-include
Variable {% include %}
2013-10-04 05:42:27 -07:00
maul.esel 76ada8c672 output correct path in case of liquid error in layout
As with includes, an error in a layout was reported on the
page that used the layout. Fix this by passing on the path
of the layout that is rendered.
2013-10-04 00:07:50 +02:00
maul.esel 809ab5e355 Move catching of liquid errors in include tags
The previous code only caught render-time errors. This change
makes it catch parse-time errors as well, such as unknown tags.
2013-10-03 23:56:58 +02:00
Matt Rogers 92750c3cfd Add parenthesis to the call for super 2013-10-02 21:51:32 -05:00
maul.esel 7a4ea086a1 Output path in case of render error in included file
Fixes #1591.
2013-10-01 23:02:50 +02:00
maul.esel 623fa14b3c Include tag: provide path in case of render error 2013-10-01 22:54:39 +02:00
maul.esel 2138dfc0ac Fix code to allow dots in variables 2013-10-01 22:31:11 +02:00
maul.esel a93795bcc0 implement variable retrieval in include tag
Fixes #1464.
2013-10-01 22:28:45 +02:00
Matt Rogers 9d4f9169e9 Merge pull request #1514 from maul-esel/tag-errors
Consistent error handling in Liquid tags
2013-09-30 20:54:42 -07:00
Matt Rogers cb4d15561c Merge pull request #1003 from liufengyun/data-sources
support data sources
2013-09-30 20:47:57 -07:00
liufengyun 760cbc7f91 Autoload yaml files under _data directory
The jekyll engine will autoload all yaml files(ends with .yml or .yaml)
under _data. If there's a file members.yml under the directory, then user
can access contents of the file through site.members.
2013-10-01 11:23:33 +08:00
Dmitry Chestnykh 58cab6b050 Handle destinations outside of source. 2013-09-30 05:55:38 +02:00
Dmitry Chestnykh dfaf1f45cc Remove require 'pathname': already included. 2013-09-30 05:11:15 +02:00
Dmitry Chestnykh 8fe25a6958 Replace directory_watcher with listen.
Directory_watcher consumed ~25% CPU on big Jekyll projects (depending on
the number of watched files), since it polled for changes every second.

Listen is easier on CPU, as it uses directory change notifications
provided by OS (currently OS X and Linux), falling back to polling when
they are not available.
2013-09-30 04:33:04 +02:00
Parker Moore 924285695c Print server address when launching a server.
Related to: https://github.com/mojombo/jekyll/issues/1583
2013-09-28 19:18:36 -04:00
Parker Moore 27347596ad Merge pull request #1449 from shigeya/config-encoding-and-yaml-opts
Adding "encoding" configuration (4th version)
2013-09-23 19:30:44 -07:00
Parker Moore c78c4159c0 Merge pull request #1571 from mojombo/non-destructive-array-concat
Use + instead of Array#concat
2013-09-23 07:16:41 -07:00
Edward Ball 943acc4395 Remove overly specific css from site template 2013-09-23 13:23:54 +01:00
Parker Moore a88a63da2d Don't use destructive Array#concat for Liquid Attribute arrays 2013-09-22 18:26:34 -04:00
maul.esel 1829c2734a 'gist' tag: switch to ArgumentError exception class
SyntaxError is reserved for Ruby's internal use.

Adjust the tests, including the call to liquid to
make it rethrow ArgumentErrors.
2013-09-19 23:23:04 +02:00
maul.esel 9409a3d034 raise exceptions in include tag 2013-09-19 14:32:15 +02:00
maul.esel 72c3bba56a Change error handling in 'post_url' tag: raise exception 2013-09-19 14:24:22 +02:00
maul.esel 06fb31544f Change error handling for gist tag: raise exception 2013-09-19 14:24:22 +02: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
Shigeya Suzuki 97e052df63 Pass encoding parameter as string, not an object 2013-09-19 12:21:26 +09:00
Shigeya Suzuki 8b892ed735 read_yaml to accept optional parameter to override defaults 2013-09-19 12:21:25 +09:00
MURAOKA Taro 4cb24f4b87 consider a case of "site" is unavailable in Convertible 2013-09-19 12:21:25 +09:00
MURAOKA Taro f4c2383d3c write document for config.encoding 2013-09-19 12:21:25 +09:00
MURAOKA Taro 8a28d80690 add encoding for configuration 2013-09-19 12:21:25 +09:00
Matt Rogers 793eb96a77 Merge pull request #1490 from penibelst/allow-include-read-override
Extract include tag read file in a method
2013-09-18 19:34:45 -07:00
Anatol Broder ec85c49de3 Change exception type 2013-09-17 22:11:56 +02:00
Anatol Broder 7cec996f90 Validate the entire markup as soon as possible 2013-09-17 21:41:11 +02:00
Anatol Broder 25519b38f6 Validate file name as soon as possible 2013-09-17 20:57:01 +02:00
Anatol Broder 8017548bd0 Rename variable 2013-09-17 20:46:01 +02:00
Anatol Broder 7f62e69837 Remove obvious comment 2013-09-17 20:36:33 +02:00
Anatol Broder e5f99e2798 Remove return 2013-09-17 20:35:18 +02:00
Anatol Broder 3e2ab58d56 Fix unruby paradigm 2013-09-17 20:34:04 +02:00
Anatol Broder a42e57f274 Rename constants 2013-09-17 20:14:41 +02:00
Matt Rogers de49342324 Merge pull request #1556 from maul-esel/dest-match
Fix up matching against source and destination when the two locations are similar.
2013-09-16 18:34:22 -07:00
Matt Rogers 454e038fad Require 'pathname' 2013-09-16 20:29:57 -05:00
Anatol Broder 3dadc94ce4 Don’t repeat yourself 2013-09-16 23:16:41 +02:00
maul.esel bec4a07c12 Fix handling of source-dest matching being too aggressive
Fixes #1130.
2013-09-16 14:41:20 +02:00
Anatol Broder 891ea8f604 People can symlink it if they want in unsafe mode 2013-09-16 08:37:07 +02:00
Anatol Broder 081b974114 Resolve conflict 2013-09-16 08:19:56 +02:00
Anatol Broder 79f50b0568 Resolve conflict 2013-09-16 08:15:10 +02:00
Parker Moore 6f053fbc8c Update gemspec & version to v1.2.1 2013-09-14 20:59:06 -04:00
maul.esel 29d0841e97 #to_sym is called by #symbolize_keys 2013-09-13 14:06:16 +02:00
Parker Moore 4b8bb68e56 Cleanup newlines in Commands::Serve 2013-09-12 14:05:16 -04:00
Parker Moore c926596be7 Print better messages for detached server. Mute output on detach. 2013-09-12 14:02:52 -04:00
Ishibashi Hideto 421e58ad59 a patch for the issue: [Liquid doesn't render my partial · Issue #1519 · mojombo/jekyll](https://github.com/mojombo/jekyll/issues/1519) 2013-09-10 23:12:15 +09:00
Matt Rogers d8e0f009d2 Merge pull request #1363 from koron/stop-reverse-lookup
disable reverse lookup
2013-09-06 20:37:31 -07:00
Parker Moore afe1291f0c Update Jekyll::VERSION 2013-09-06 22:23:31 -04:00
Matt Rogers 3212aac4bc Merge pull request #1481 from mojombo/pathawks-patch-1
Expose Jekyll version to templates: `jekyll.version`
2013-09-05 13:24:37 -07:00
maul.esel 09ed340835 Fix include tag to avoid NameError 2013-09-02 14:25:13 +02:00
Parker Moore b7e34175d0 Put version under 'jekyll' namespace. 2013-08-30 18:54:03 -04:00
Parker Moore 20f44be87f Merge branch 'patch-1' of git://github.com/pathawks/jekyll into pathawks-patch-1
* 'patch-1' of git://github.com/pathawks/jekyll:
  Use proper Ruby syntax for constant
  Expose Jekyll version to templates
2013-08-30 18:50:58 -04:00
Matt Rogers a9e2a74ea6 Merge pull request #1341 from maul-esel/minor-refactors
Minor refactors
2013-08-29 20:21:08 -07:00
Parker Moore 0d890e4b70 Merge pull request #944 from x3ro/permalink-special-characters
WIP - Improve permalink generation for URLs with special characters
2013-08-28 15:02:20 -07:00
Parker Moore 8ea336945c Merge pull request #1429 from maul-esel/refactor-cleanup
Refactor `Site#cleanup` into Jekyll::Site::Cleaner class
2013-08-26 14:01:53 -07:00
Matt Rogers 4fa4ad2232 Merge pull request #1443 from ddavison/detachment
Detachment
2013-08-24 20:16:42 -07:00
ddavison b163bf637e final mods 2013-08-24 21:31:05 -04:00
maul.esel 4c015fc5ff move Jekyll::Cleaner to Jekyll::Site::Cleaner 2013-08-23 20:42:27 +02:00
maul.esel dbd368f6ee remove no longer necessary condition 2013-08-23 20:41:13 +02:00
ddavison 9681f3a776 adding default configuration to false 2013-08-21 21:00:18 +00:00
ddavison 4e52869f0f adding detachment functionality 2013-08-21 20:53:01 +00:00
Frederic ROS bca28056ef Fix a misleading typo 2013-08-21 14:53:10 +02:00
maul.esel d28858a9e9 put the Cleaner instance in a `Site#site_cleaner` method 2013-08-19 20:15:54 +02:00
maul.esel 0b3005b3b4 make obsolete_files a method (@mattr-) 2013-08-19 20:01:36 +02:00
Matt Rogers 820f526569 Merge pull request #1389 from mojombo/doctor-conflicting-permalinks
Implement URL conflict checking in `jekyll-doctor`.
2013-08-18 08:57:49 -07:00
maul.esel 506cdc5179 include: more helpful error message for symlinks 2013-08-18 17:08:42 +02:00
maul.esel 5d7dba476c change site_cleaner to use attr_accessor 2013-08-17 22:33:01 +02:00
Parker Moore 8b8fa4da4e Use Doctor#healthy? and ensure _all_ items are checked before process quits. 2013-08-17 15:16:14 -04:00
maul.esel 5da13d2b66 Refactor `Site#cleanup`
Move the cleanup logic out into a separate class,
`Jekyll::Cleaner`.
2013-08-17 17:14:08 +02:00
maul.esel 95719fa4ce improve error handling in include tag
* Reduce condition to one-liner
* Remove `self`
* Implicit return value
* Explicit error message for symlinks
2013-08-17 16:24:06 +02:00
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