Commit Graph

1380 Commits

Author SHA1 Message Date
Terry Schmidt 0371b69952 Set categor[y|ies] on post if they appear in site frontmatter defaults 2014-05-09 13:34:13 -05:00
Ben Balter bf3a20b2d7 allow json files in _data dir 2014-05-09 10:13:12 -04:00
Anatol Broder fb523722b5 Fruity variables 2014-05-09 09:21:24 +02:00
Anatol Broder df3c163eeb Use item_property 2014-05-09 08:53:16 +02:00
Anatol Broder d96f39360b Revert "Make it fail"
This reverts commit c89e7539b86a483a2f8b14dd766ad90da1eb9773.
2014-05-09 08:53:16 +02:00
Anatol Broder fd1778203d Make it fail 2014-05-09 08:53:16 +02:00
Anatol Broder 9ba89b9ab1 Try item_property 2014-05-09 08:53:15 +02:00
Anatol Broder ae7e485474 Add hash_property 2014-05-09 08:44:40 +02:00
Parker Moore 036823cd06 Bump to 💎 v2.0.3 2014-05-08 22:43:04 -04:00
Parker Moore 2d040c1aaa Use Jekyll.logger for --watch error message. 2014-05-08 22:27:55 -04:00
Parker Moore 81ff5ed7aa Save --watch from errors.
Fixes #2355.
2014-05-08 22:22:11 -04:00
Aaron Broder a5c1a01965 Added item_property to where filter 2014-05-08 11:35:51 -07:00
Parker Moore 348bcae763 If the input is a string but Time.parse can't parse it, maybe it's a UNIX timestamp.
Fixes #2339
2014-05-07 15:48:13 -04:00
Parker Moore f2f2ebfa4f Register subclasses of subclasses of Jekyll::Plugin
The Sass and SCSS converters are practically the same – only different in
the input syntax and file extension. As such, we've created
`Jekyll::Converters::Scss` which is a subclass of `Jekyll::Converter`, and
`Jekyll::Converters::Sass` which is a subclass of
`Jekyll::Converters::Scss`. When `Site#instantiate_classes` is called on
`Jekyll::Converter`, it only instantiates the `Scss` converter, not the
`Sass` converter. This change fixes that.

Fixes #2334.
2014-05-07 14:59:08 -04:00
Parker Moore 8ad4dd332a Don't fail if any of the path objects are nil.
Fixes #2325
2014-05-07 14:01:36 -04:00
Gabe Ortiz 21f84e1548 Update gist.rb comments only
Strictly updated the reference to Examples and Valid Syntax to be inline with jekyll/jekyll-help#32
2014-05-07 07:34:00 -04:00
Parker Moore ac666490d2 Release 2.0.2 2014-05-06 23:59:49 -04:00
Parker Moore 97e9fb29b0 Default baseurl to "" rather than to "/"
Also a fix for #2317
2014-05-06 23:54:56 -04:00
Parker Moore 0a0d7858c6 Release 2.0.1 2014-05-06 21:57:33 -04:00
Parker Moore 344906deb9 Release 2.0.0. 2014-05-06 20:11:44 -04:00
Matt Rogers 5c109ee8dc Merge pull request #2299 from penibelst/sort-nils 2014-05-06 16:49:40 -05:00
Anatol Broder 1e0d9f899b Follow Ruby Styleguide 2014-05-06 22:49:49 +02:00
Parker Moore b6cfb8aa4f Merge pull request #2309 from jekyll/remove-unreleased-notes 2014-05-06 16:30:15 -04:00
Parker Moore c2d3f9d5b5 Close the file descriptor in has_yaml_header?
Previous method caused a problem where the calling Dir.chdir to get the next
directory's entries would cause the infamous 'Too many open files - getcwd'
error. Fixes #2279.
2014-05-06 15:58:25 -04:00
Anatol Broder 7c1709fab4 Change nils argument to string 2014-05-06 21:36:13 +02:00
Parker Moore 00f21ee93c Add `output` to Document#to_liquid 2014-05-06 14:51:56 -04:00
Parker Moore 6c1bb76316 Merge pull request #2303 from jekyll/jbranchaud-adding_exclude_tests 2014-05-06 14:40:18 -04:00
Parker Moore a7776f8279 Set relative_permalinks to false to deprecate! 2014-05-06 13:04:12 -04:00
Parker Moore 2aa8908948 Stevenson now uses symbols instead of integers to set log level 2014-05-06 13:03:56 -04:00
Parker Moore 63e959e4e1 Use Jekyll.logger, never puts 2014-05-06 13:02:35 -04:00
Parker Moore fda3461c5a We deprecated relative permalinks in 2.0 2014-05-06 13:02:17 -04:00
Parker Moore 413de3a0ee Also exclude an entry if it starts with one of the items given in the exclude key. 2014-05-06 12:46:41 -04:00
Parker Moore c8a715d09b Merge pull request #2295 from jekyll/add-documents-listing 2014-05-06 12:28:58 -04:00
Parker Moore 3755437d08 Write test for site.documents. 2014-05-06 00:11:35 -04:00
Anatol Broder 19e704f408 Override the sort filter 2014-05-05 10:26:46 +02:00
Parker Moore fc98f06ed7 Refactor docs_to_write 2014-05-04 21:22:57 -04:00
Parker Moore 54b74fafba Add documents to site payload 2014-05-04 21:22:51 -04:00
Parker Moore a2169bf0c4 Have separate methods for all docs and just the docs that are being written. 2014-05-04 21:19:09 -04:00
TheTomThorogood f2849ac269 Add :short_year to url_placeholders 2014-05-05 00:12:07 +09:30
Parker Moore 3af22f12bf Set content-type to text/html with utf-8 charset.
Fixes #2289
2014-05-03 18:51:55 -04:00
Valery Tolstov 4ae8fefb95 Remove literal lang name from class, fix #2284
If code language is C classes for comment and language are the same
2014-05-03 20:23:28 +04:00
John Piasetzki 3e6a6ffb52 Update util functions
Cribbed from http://api.rubyonrails.org/classes/Hash.html#method-i-symbolize_keys
2014-04-28 02:06:41 -04:00
John Piasetzki cf81331b39 Revert back to an intialize more similar to the original 2014-04-27 23:21:00 -04:00
John Piasetzki 446ca8f73d Context is not used within any of the renders so no need to pass it 2014-04-27 23:21:00 -04:00
John Piasetzki d6bd735aff Refactor highlighting
Extract some of the common logic from the renderers.
2014-04-27 23:20:00 -04:00
Parker Moore 513e77635b Refactor 'jekyll serve' command. 2014-04-27 19:02:33 -04:00
Robin Dupret 3a610882f6 Avoid duplicated output using highlight tags
While using Rouge and an `highlight` tag, the output was duplicated
since the `output` variable in the Liquid tag definition was equal to
the highlighter's prefix value and the `<<` method changes its receiver.

Therefore, we should simply define an empty string and append the prefix
if it is present.
2014-04-27 12:22:40 +02:00
Parker Moore 4e6d268ef3 Bump 💎 version. 2014-04-25 23:16:00 -04:00
Parker Moore 068d921ef6 Fix up docs for collections.
#2238.
2014-04-25 23:15:18 -04:00
Parker Moore 6225073095 Use the 'output' key instead of 'write' for writing out collections' document files. 2014-04-25 19:47:35 -04:00
Parker Moore c906dfdf71 TEST THE COLLECTIONS 2014-04-24 14:01:23 -04:00
Parker Moore dd4fe87f69 Use Hash.new instead of hash literal 2014-04-24 13:59:25 -04:00
Parker Moore fb39b41ffb NO MORE DATA COLLECTION I CAN'T HANDLE IT 2014-04-24 13:59:25 -04:00
Parker Moore b74c90dc20 Extract Collections metadata from site config 2014-04-24 13:59:24 -04:00
Parker Moore 0dc680df0b Always render collections, just don't always write them 2014-04-24 13:59:24 -04:00
Parker Moore 7be78de93a Don't read the collection if it's the data collection 2014-04-24 13:59:24 -04:00
Parker Moore f1a422dfff Don't pretend there is a collections setter 2014-04-24 13:59:24 -04:00
Parker Moore a27e5825b9 Nil-out `@collections` so `#collections` will re-compile 2014-04-24 13:59:24 -04:00
Parker Moore fd98d5b1e6 Fetch collection names agnostically regarding the data structure of config['collections'] 2014-04-24 13:59:24 -04:00
Parker Moore 330005d932 Reset the collections hash on #reset.
Fixes #2234.
2014-04-24 13:59:24 -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
Parker Moore 9db5a1a6ce Merge pull request #2205 from jekyll/maul-esel-frontmatter-defaults 2014-04-21 23:01:05 -04:00
Ben Balter 6f0bebdfda convert input to string before xml escaping 2014-04-18 16:54:48 -04:00
Parker Moore 571fb95cc1 Only read in 5 bytes when checking for YAML header.
#2211 #2210
2014-04-15 09:48:44 -04:00
Parker Moore 29fdc0946a Use +rb switches when reading in file for checking existence of YAML header.
Fixes #2228.
2014-04-15 09:46:53 -04:00
Parker Moore b0cf022983 Release 2.0.0.alpha.3 2014-04-14 23:17:32 -04:00
Parker Moore 5a6f1d42a9 Fix #filtered_entries so it returns a new Array if the directory doesn't exist 2014-04-14 23:03:19 -04:00
Parker Moore 696aea211a Don't gather any entries if the collection directory doesn't exist 2014-04-14 22:56:23 -04:00
Parker Moore a1af95c34e Clean up some code per @baweaver's suggestions. 2014-04-14 22:46:22 -04:00
Parker Moore ad7efb23e6 Code/docs cleanup, props @baweaver 2014-04-14 22:46:22 -04:00
Parker Moore af61451f87 Use #error instead of #warn when telling the user not to use a custom data source 2014-04-14 22:46:22 -04:00
Parker Moore 62551b5ff9 Include data in the array of collections 2014-04-14 22:46:22 -04:00
Parker Moore aa502348e5 Filter entries in the collection per EntryFilter#filter 2014-04-14 22:46:21 -04:00
Parker Moore 323ea0ef73 EntryFilter#special? should also check the base name of the entry 2014-04-14 22:46:21 -04:00
Parker Moore f0e68d7d86 Expose collections as site.<collection_name> in Liquid as array of docs. 2014-04-14 22:46:21 -04:00
Parker Moore 00ca09a2ea Add comments for Document 2014-04-14 22:46:21 -04:00
Parker Moore a307aff858 Do not render any asset files with Liquid. 2014-04-14 22:46:21 -04:00
Parker Moore 5ae1c34857 Add comments for Collection 2014-04-14 22:46:21 -04:00
Parker Moore be769dcf00 SANITIZE THE collection name plz. 2014-04-14 22:46:21 -04:00
Parker Moore 37a7236e20 Homagah it all renders I think. 2014-04-14 22:46:21 -04:00
Parker Moore a15a584136 Don't let that render get you down. 2014-04-14 22:46:21 -04:00
Parker Moore 75f49a751e OMG COLLECTIONS ARE RENDERING CALL THE POLICE 2014-04-14 22:46:21 -04:00
Parker Moore f082eca791 GUYS failing test for rendering 2014-04-14 22:45:20 -04:00
Parker Moore cefe99bed2 Sort the docs based on path 2014-04-14 22:44:29 -04:00
Parker Moore 90807ac6e7 DEM TESTS 2014-04-14 22:44:29 -04:00
Parker Moore 08162dbb50 Hey girl, i heard you like YAML. 2014-04-14 22:44:29 -04:00
Parker Moore 50b46d7bee OMG it's happening ~*Collections*~ 2014-04-14 22:44:29 -04:00
Parker Moore a77c92aebe Replace load-in of YAML data with Jekyll::Document logic.
COLLECTIONS IS COMING
2014-04-14 22:43:09 -04:00
Matt Rogers 6be33cf6ef Merge pull request #1492 from maul-esel/publishing 2014-04-14 20:17:01 -05:00
Parker Moore 4f66db6c38 Merge pull request #2211 from jekyll/pgp-key-header-frontmatter 2014-04-14 12:59:59 -04:00
Ben Balter b666ac787b Stricter start of line check via \A 2014-04-11 15:15:37 -04:00
Ben Balter 387cf2181a use regex to verify yaml existence 2014-04-11 08:00:40 -04:00
maul.esel 46a5ab99f9 Support "published: false" for pages
Fixes 1034.
2014-04-07 16:22:04 +02:00
maul.esel 3a330dc7fc Use Publisher instead of Post#published? 2014-04-07 16:20:13 +02:00
maul.esel 26663a6cf9 add the Publisher class to handle publishing logic 2014-04-07 16:17:51 +02:00
maul.esel 91e9ecfa63 Add an --unpublished option to render unpublished posts
Fixes #1337, #469.
2014-04-07 16:17:12 +02:00
Marcus Stollsteimer fec6b59950 Use File.exist? instead of deprecated File.exists? 2014-04-06 13:31:34 +02:00
Ben Balter 823c863a53 require newline after start of yaml header 2014-04-05 17:34:08 -04:00
Parker Moore 955dc38400 Deep merge data overrides into defaults. 2014-04-05 15:42:53 -04:00
Parker Moore 09c6ff4f9c Post#published is no longer a thing. 2014-04-04 15:34:42 -04:00
Parker Moore 6bd07501e8 Merge branch 'frontmatter-defaults' of git://github.com/maul-esel/jekyll into maul-esel-frontmatter-defaults
* 'frontmatter-defaults' of git://github.com/maul-esel/jekyll:
  move self.type to convertible
  oops, fix minor indentation quirk
  document frontmatter defaults precedence
  adjust frontmatter defaults precedence handling
  change cucumber feature to test for precedence too
  fix frontmatter defaults for custom paths
  more robust cucumber features
  fix slash handling for paths
  move cucumber features to own file
  fix minor docs quirk
  improve path checking, now using Pathname instead of regex
  Add site documentation for the new feature
  add inline code docs
  improve validation code
  fix for Ruby 1.8
  Add basic cucumber features for frontmatter defaults
  Retrieve frontmatter defaults when retrieved internally
  make frontmatter defaults available to liquid
  add a class `FrontmatterDefaults` for handling of frontmatter defaults
  Add a method to retrieve type to post, page and draft

Conflicts:
	lib/jekyll.rb
	lib/jekyll/convertible.rb
	lib/jekyll/core_ext.rb
	lib/jekyll/page.rb
	lib/jekyll/post.rb
2014-04-04 15:32:27 -04:00
Parker Moore f3c54fcf50 Merge pull request #2189 from benhanzl/move_rouge_loading 2014-04-02 22:38:05 -04:00
Parker Moore 9ace48c835 Merge pull request #2197 from jekyll/plugin-manager 2014-04-02 22:15:40 -04:00
Parker Moore 1863057b7e Ok handle the plugins_path stuff in the PluginManager. 2014-04-02 22:06:38 -04:00
Parker Moore 4a4c8846f4 Fetching/determining the plugin path is beyond this it's kind of sad. 2014-04-02 21:59:15 -04:00
Parker Moore 8ccdee4035 STRIP ALL THE NEWLINES FROM HIGHLIGHTED CODE ok just the ones at the beginning and end 2014-04-02 14:37:22 -04:00
Parker Moore 2a3f0c0ec3 Strip content of the {% highlight %} block
A fix for #1801
2014-04-02 14:11:19 -04:00
Parker Moore 806f43cdbc Merge pull request #1568 from nitoyon/url-escape 2014-04-02 14:09:09 -04:00
Lincoln Mullen 52ac2b3850 Permit YAML blocks to end with three dots
The YAML spec permits blocks to end with three dots (...) in addition to
three dashes (---): http://www.yaml.org/spec/1.2/spec.html#id2760395. Some
programs that work with Jekyll (e.g., Pandoc) prefer the dots to dashes. This
commit permits the YAML metadata block to end with either dots or dashes. It
includes tests.

Signed-off-by: Parker Moore <parkrmoore@gmail.com>
2014-04-02 14:06:22 -04:00
Parker Moore f418ea5fc3 Extract plugin management into its own class. 2014-04-01 18:10:51 -04:00
Ben Hanzl f2ed30dff5 Move rouge loading 2014-03-31 19:48:18 -04:00
maul.esel 8c0e5d8d98 remove duplicate code for tags and categories
Previously the `Site#tags` and `Site#categories` actually had the
same structure as a hash returned by `Site#post_attr_hash()`, but
maintained separately. Remove this duplicated infrastructure. For
backwards-compatibility for plugins, provide aliases for them.
2014-03-31 01:02:08 +02:00
Parker Moore e277855eee Merge pull request #2165 from Zequez/master 2014-03-30 00:19:03 -04:00
Fabian Rodriguez 302bc46914 rename variable inside block 2014-03-27 19:53:28 -03:00
Fabian Rodriguez adcfde14ed align 'end' with 'def' 2014-03-27 19:52:52 -03:00
Fabian Rodriguez 4c5dfa1391 remove unused variables 2014-03-27 19:49:41 -03:00
Parker Moore 859a615e93 Bump 💎 version to 2.0.0.alpha.2 and release. 2014-03-26 14:04:59 -04:00
Zequez 5745eb9be8 Added option to force watch to use polling 2014-03-23 01:09:00 -07:00
Daniel Schauenberg 81e4e1d8f4 add support for unpublished drafts
I keep all my ideas for blog posts as drafts in my draft folder. However I'm
only really working on a couple at once. This let's me mark drafts that I'm
not working on right now as unpublished so they don't clutter the site while
I'm checking on the other drafts.
2014-03-22 19:52:10 -04:00
nitoyon c56ce248c9 Move URL escape to Jekyll::URL 2014-03-21 16:59:25 +00:00
nitoyon e3e1c11509 Fix Page#url escape
Post#url wasn't escaped at all.

For example, when we have a page named 'a#b.html',
we expect its url to be 'a%23b.html',
but it was actually 'a#b.html'.

We now use Jekyll::URL.escape_path and Jekyll::URL.unescape_path.
2014-03-21 16:57:41 +00:00
nitoyon eebb6414bf Fix Post#url escape
Post#url was escaped using CGI.escape.
When file name contains a space character, its url points to
non-existing URL.

For example, when we have a post named '2014-01-02-foo bar.md',
we expect its url to be '/2014/01/02/foo%20bar.html',
but it was actually '/2014/01/02/foo+bar.html'.

We now define Jekyll::URL.escape_path and Jekyll::URL.unescape_path,
and use them to escape and unescape Post#url
2014-03-21 16:57:40 +00:00
Parker Moore 1b8205245e Went with @stomar's suggestion 2014-03-19 00:49:50 -04:00
Parker Moore 63e977721a Add a message and error out when Pygments returns nil. 2014-03-19 00:48:35 -04:00
Parker Moore d80471c0a3 Merge pull request #994 from stephenmcd/master 2014-03-17 17:45:49 -04:00
Stephen McDonald de9ce3437d Protect against nil @lang before fixing for css class names. 2014-03-18 08:41:49 +11:00
Parker Moore e746b3bd5f Initialize each command in its own class so we can be *magical*. 2014-03-13 14:07:05 -04:00
XhmikosR 553338636b Trim trailing spaces and convert tabs to spaces. 2014-03-11 07:44:01 +02:00
Parker Moore 7787d64bce Rename those Utils functions. 2014-03-04 15:52:05 -05:00
Parker Moore 5e8643d855 Add Utils.stringify_hash_keys 2014-03-04 15:44:53 -05:00
Parker Moore e2af1b547b Extract core extensions into a Utils module
Fixes #2111
2014-03-03 22:13:03 -05:00
Parker Moore 9ffb984f37 Sass support should be shipped outside core. 2014-02-28 21:12:00 -05:00
Parker Moore d7598ee9d2 Ensure inputted code is a string. 2014-02-24 17:42:46 -05:00
Parker Moore 77f26d5681 Upgrade to guard/listen 2.x 2014-02-24 17:10:43 -05:00
Parker Moore 8a0d036b87 Greatly simplify Jekyll's gemspec. 2014-02-24 16:15:51 -05:00
Parker Moore 57d07469d3 Sanitize paths uniformly, in a Windows-friendly way.
Fixes kinda a #1948 thing.
Related to #1946.
2014-02-23 20:05:23 -05:00
Corey Ward f1c4e247a5 Remove unnecessary references to `self` 2014-02-21 16:27:21 -06:00
Parker Moore e0166682da Sort the static files by relative path before sending to liquid 2014-02-19 14:02:03 -05:00
Parker Moore e3dd908d55 Add StaticFile#to_liquid['extname'] :) 2014-02-19 13:55:58 -05:00
Parker Moore b5a398bdff Add StaticFile#to_liquid and StaticFile#relative_path 2014-02-19 13:35:13 -05:00
Parker Moore 949aa3fc32 Test fetching of static files 2014-02-19 13:16:21 -05:00
Parker Moore 6e40338f9e Expose site.static_files to Liquid 2014-02-19 13:04:33 -05:00
Parker Moore 6a6e66bf9e Merge pull request #2058 from jekyll/layouts-relative-to-config 2014-02-18 01:53:15 -05:00
Matt Rogers b68229aa2c Make LayoutReader#layout_directory public.
Since it's being used in a test, let's go ahead and expose it instead of
dealing with using Object#send to send the message along.
2014-02-17 22:13:29 -06:00
Parker Moore e5bcddfbe0 Merge pull request #2041 from anthonyjsmith/webrick_index_xml 2014-02-17 16:23:25 -05:00
Parker Moore 1a879a04ab Add tests for determining source dir 2014-02-16 23:19:03 -05:00
Parker Moore 47babef79a Make the layouts: config key relative to CWD or to Source
Fixes #1576.
2014-02-16 22:42:38 -05:00
Parker Moore ab0ebadee3 Merge master into security-vuln-patches 2014-02-16 22:02:03 -05:00
Parker Moore 264dfc164d When an include cannot be found, only print file path relative to source. 2014-02-16 22:00:33 -05:00
Parker Moore fb8e562123 Merge pull request #2042 from anthonyjsmith/draft-path 2014-02-16 21:36:00 -05:00
Zlatan Vasović 699066ef85 Add `.mkdown` as valid Markdown extension
GitHub Linguist recognizes `.mkdown` as Markdown, so Jekyll should support it as Jekyll is used on GitHub pages.
2014-02-15 22:01:37 +01:00
Anthony Smith 86208d8c33 Add index.xml to WEBrick DirectoryIndex
Resolves #2040
2014-02-13 23:12:36 +00:00
Matt Rogers ac7bed335a Merge pull request #1976 from jekyll/fix-pagination-issue
Relative posts should never fail to build, even if @dir or @name is nil
2014-02-13 12:39:23 -06:00
Parker Moore c58c5b8782 Default to using the UTF-8 encoding when reading files.
Fixes #2029.
2014-02-11 17:48:52 -05:00
Anthony Smith 18279558da Update #relative_path for _drafts and add tests.
Resolves #2019. Add new tests for drafts. Also check path variable in
test for posts.
2014-02-11 12:48:34 +00:00
Parker Moore dd3018ce02 Merge pull request #1988 from jekyll/maruku-to-kramdown 2014-02-08 17:07:54 -05:00
Parker Moore 22f2001ff5 Set default markdown converter to Kramdown
- Update default markdown converter in docs for configuration
- Update tests so they are in line with Kramdown output
- Add deprecation message to when config is built
2014-02-08 13:17:46 -05:00
Parker Moore 1176fc6f57 Give File.join the strings from the array 2014-02-08 00:38:59 -05:00
Matt Rogers & Persa Zula c36a6d3e0d Wrap the LayoutReader in the Jekyll module 2014-02-06 23:07:38 -06:00
Matt Rogers & Persa Zula 833b40095f Rename `with` to `within`
Thanks @parkr
2014-02-06 23:07:11 -06:00
Matt Rogers & Persa Zula fd92820b03 Remove Site#read_layouts 2014-02-06 22:46:09 -06:00
Matt Rogers 70ecef0094 Sort methods from most important to least important
This idea is based on the concept of a newspaper. The most important
things such as the headlines and the major details of the story at the
top. This translates to code in that the public API and the more
important private methods are at the top of the file. The more detailed
information (or methods, in the code) are further down, so that if
you've gotten all you need out of the code up to a certain point, you
don't need to keep reading anymore.
2014-02-06 22:22:06 -06:00
Matt Rogers c5b81d580b Refactor the LayoutReader class 2014-02-06 22:22:06 -06:00
Matt Rogers f581940c71 Create a LayoutReader class to read layouts 2014-02-06 22:22:06 -06:00
Parker Moore f638fb1784 Merge master into security-vuln-patches 2014-02-06 17:21:54 -05:00
Matt Rogers 5edb4c6bfd Merge pull request #1982 from dtao/safe-yaml-no-clobber 2014-01-31 06:48:16 -08:00
Parker Moore baabe7eb7e DRY up code, props @tamouse 2014-01-30 22:03:10 -05:00
Aziz Shamim 509e2181de sync mime types to GitHub 2014-01-26 12:15:15 -06:00
John Firebaugh 4a769dbf5f Optimize Post#{next,previous}
Use object equality for comparisons rather than Comparable#==,
which in turn uses Post#<=>, which is slow.

This yielded a 3x performance improvement for `jekyll build`
on a large site (1m6.467s -> 0m19.532s).
2014-01-24 17:17:41 -08:00
Matt Rogers 5b7a53b543 Merge pull request #1932 from jekyll/sass 2014-01-24 15:18:06 -08:00
Parker Moore c9a3c40f83 fixes based on @mattr-'s notes 2014-01-24 12:19:19 -05:00
Parker Moore 774bf96c61 Merge master into sass 2014-01-24 12:17:35 -05:00
Dan Tao 4f0b1bdf6d switched from YAML.safe_load* to SafeYAML.load* 2014-01-23 17:25:17 -08:00
Matt Rogers 98857832cd Merge pull request #1931 from liufengyun/published 2014-01-22 05:38:04 -08:00
Parker Moore 606c525099 Relative posts should never fail to build, even if @dir or @name is nil
Fixes https://github.com/jekyll/jekyll/issues/1963
2014-01-21 23:50:20 -05:00
liufengyun 22e1e5f28c make sure pages with published being false are not generated 2014-01-19 09:52:19 +08:00
Jens Nazarenus 4c140efba8 fix full path leak to source directory when using include tag 2014-01-15 21:36:35 +01:00
Ben Balter e3be74e376 sanity check for pages permalink traversal
Signed-off-by: Parker Moore <parkrmoore@gmail.com>
2014-01-13 22:21:30 -08:00
Andy Lindeman a8dd34420b Prevents disclosure of file existence
Signed-off-by: Parker Moore <parkrmoore@gmail.com>
2014-01-13 22:21:30 -08:00
Ben Balter c84cb5c007 escape relative post permalinks, cleanup
Signed-off-by: Parker Moore <parkrmoore@gmail.com>
2014-01-13 22:21:30 -08:00
Ben Balter a799e41b70 patch symlink vuln and properly test
Signed-off-by: Parker Moore <parkrmoore@gmail.com>
2014-01-13 22:21:30 -08:00
Ben Balter 323d14845f rebreak tests, move sanitization closer to write
Signed-off-by: Parker Moore <parkrmoore@gmail.com>
2014-01-13 22:21:30 -08:00
Ben Balter 9b3068c15d url escape before sanitizing
Signed-off-by: Parker Moore <parkrmoore@gmail.com>
2014-01-13 22:21:30 -08:00
Parker Moore 4afe39e461 Allow caching in unsafe mode, but disable in safe mode. 2014-01-12 21:36:08 -08:00
Parker Moore 4784d1de18 Build Sass configuration options. 2014-01-12 21:30:30 -08:00
Parker Moore 22d4e2aa90 Consolidate into one master 'Sass' converter. 2014-01-12 21:30:29 -08:00
Parker Moore daa0b76484 Allow users to specify options for Sass. 2014-01-12 21:30:29 -08:00
Parker Moore 4da7223831 Fixes for Sass/SCSS converters. 2014-01-12 21:30:29 -08:00
Parker Moore 824a84ef2a Add support for Sass and SCSS. 2014-01-12 21:30:29 -08:00
Matt Rogers 6f394e82b5 Rename read_things to read_content. 2014-01-11 15:29:22 -06:00
Matt Rogers d96165e3c4 Merge pull request #1916 from jekyll/gitignore-excludes 2014-01-11 10:37:31 -08:00
Parker Moore 5a52986db0 Use 'Forwardable' module to pass along some attribute calls to @post 2014-01-10 22:54:06 -08:00
Parker Moore 331c7adc08 Move #glob_include? from core_ext to entry_filter 2014-01-08 20:24:21 -08:00
Parker Moore 3d67cdc150 Cast to string before duplicating. 2014-01-05 11:02:03 -08:00
Parker Moore 35868807c1 Ensure leading slashes in path matching. 2014-01-05 10:54:52 -08:00
Parker Moore 42fc5e9ee7 Excludes should be relative to the site source 2014-01-05 10:45:42 -08:00
Matt Rogers 883e16acde Merge pull request #1910 from pborreli/typos 2014-01-04 08:12:20 -08:00
Matt Rogers a33e86630d Merge pull request #1899 from soimort/preview-404 2014-01-04 08:04:20 -08:00
Pascal Borreli bdda3a8ef6 Fixed typos 2014-01-04 14:17:38 +00:00
Parker Moore 6ca731c13b Use idiomatic #is_a? method instead of #class == 2014-01-03 21:23:02 -08:00
Ben Balter 39e4d6b3ba add where filter to filter arrays of objects 2014-01-03 21:23:02 -08:00
Mort Yao 99b36c7c30 Routing 404 errors to custom 404 page for development server 2014-01-03 03:23:46 +01:00
Ahmed Hazem fdcf1f4526 Add --quiet flag 2014-01-01 18:50:27 +02:00
Matt Rogers 012387396a Merge pull request #1859 from robin850/rouge 2013-12-30 22:45:07 -06:00
Matt Rogers a2fd8ba7c3 Merge pull request #1849 from afeld/sort-attributes 2013-12-30 20:31:45 -08:00
Parker Moore 791c6d815d Merge pull request #1825 from arika/smallfix_post_url_tag_behavior_for_invalid_names 2013-12-25 22:32:50 -08:00
Parker Moore 1a3a607fcf Merge pull request #1831 from jekyll/default-maruku-fenced-code-blocks 2013-12-25 22:14:23 -08:00
Parker Moore 6e8f31f406 Merge pull request #1841 from jens-na/include-variable-liquid-filters 2013-12-25 22:11:33 -08:00
Parker Moore ebaa484294 Merge pull request #1866 from colindean/patch-2 2013-12-25 22:06:34 -08:00
Parker Moore ab95cca434 Add TomDoc for Jekyll::Converters::Markdown#allowed_custom_class? 2013-12-26 00:33:34 -05:00
Parker Moore 7b9984699c Fix error in exception message in Markdown Converter [ci skip] 2013-12-26 00:14:24 -05:00
Parker Moore 60b43104ee Extract checks for acceptable custom markdown processors to method.
We should probably write more about what it does and how it works in a TomDoc block above.
@envygeeks, want to give that a shot?
2013-12-26 00:02:56 -05:00
Jordon Bedwell a206dc1a8f Use downcase. 2013-12-25 23:55:20 -05:00
Parker Moore c70350e275 Merge branch 'steal-envygeeks-custom-markdown-processors' of git://github.com/gjtorikian/jekyll into gjtorikian-steal-envygeeks-custom-markdown-processors
* 'steal-envygeeks-custom-markdown-processors' of git://github.com/gjtorikian/jekyll:
  Depend on Jekyll.logger.error, not $stderr
  Allow custom Markdown processors.
  New is implied by `raise`, 2nd is the message.
  Use $stderr, not STDERR, $stderr points to STDERR.
2013-12-25 23:52:50 -05:00
Garen Torikian 31bebf0f9e Depend on Jekyll.logger.error, not $stderr 2013-12-25 19:36:49 -06:00
Jordon c759a7a75f Allow custom Markdown processors. 2013-12-25 19:36:25 -06:00
Jordon 626d54a812 New is implied by `raise`, 2nd is the message. 2013-12-25 19:36:25 -06:00
Jordon 4d017b4fed Use $stderr, not STDERR, $stderr points to STDERR. 2013-12-25 19:36:25 -06:00
Robin Dupret 036cbda2f6 Require at least 1.3.0 for Rouge
Rouge 1.3.0 introduced a `rouge_formatter` helper which is handy to
overwrite the formatter default when using the Redcarpet plugin so let's
require this version at the very least.

An abort statement will be thrown when the installed version is not
correct.
2013-12-25 18:06:29 +01:00
Parker Moore 9d5785cead Merge pull request #1847 from schneems/schneems/better-bat-time-error 2013-12-24 11:05:34 -08:00
Colin Dean 88686e759e Add `path` to required methods
The error messages in this module call `#path`, but the module does not require the `path` method to be implemented. This change documents that classes which include `Convertible` must define `path`.

See #1846 for discussion.
2013-12-23 12:56:02 -05:00
Robin Dupret 3ca2cb0119 Fix various typos and improve the doc 2013-12-23 13:03:29 +01:00
Robin Dupret cab9047de1 Set the wrap option to false when using Rouge
Since Rouge yields the pre tag with a class attribute but we don't want
it, we should set the wrap parameter to false when instantiating a new
formatter object.

Also use Rouge::Formatter#format instead of #render which is deprecated
and will be removed in the near future.
2013-12-23 13:03:24 +01:00
Aidan Feldman fa8618879d Merge remote-tracking branch 'upstream/master' into sort-attributes 2013-12-22 19:31:56 -05:00
Robin Dupret bd442680ea Rely on the Redcarpet plugin instead of hard-coding
To avoid code duplication and have to keep tracking of the API change of
Rouge, let's rely on the Redcarpet plugin and customize the output on
our needs.
2013-12-22 18:45:46 +01:00
Robin Dupret 4bf716c2ad Set highlighter to pygments when upgrading
In case you are upgrading from 1.4.2 to 2.0 and the pygments option is
set to true, then the highlighter option will be set to pygments
automatically.
2013-12-22 18:45:46 +01:00
Robin Dupret 0831d2b0f8 Add support for the Rouge syntax highlighter
By setting the `highlighter` setting to `rouge` you can now easily
highlight your code with it instead of relying on Pygments. However,
Jekyll doesn't depend on Rouge explicitly, you will need to install it
or add it to your Gemfile.

The documentation has been updated accordingly.
2013-12-22 18:45:40 +01:00
Robin Dupret 92064134d6 Rename the pygments option to highlighter
Rename the pygments configuration option to highlighter to allow
different highlighters in the future. For now, the allowed values are
`pygments` and `null`.

It's now more straightforward to plug another syntax highlighter.
2013-12-22 12:45:15 +01:00
Aidan Feldman 2bfafb3b33 make non-data properties/methods accessible to Liquid
per https://github.com/jekyll/jekyll/pull/1849/files#r8490593
2013-12-22 03:38:32 -05:00
Aidan Feldman c2b750448e allow data attribute access by Liquid on Convertible items 2013-12-19 17:14:51 -05:00
Jens Nazarenus 10ee83d680 edited raise message when validating included file 2013-12-19 18:23:21 +01:00
Aidan Feldman 3c1d45f45f Sort pages by name by default
The order that files are returned differs across operating systems, so
ensure that they're being sorted after the fact.
2013-12-19 01:02:25 -05:00
schneems 22017d085b Better error message when time is not parseable
Give the full path of the file that cannot be parsed so the user can locate it easier. Follow up the error message with helpful instructions: they can resolve the error by fixing the date or excluding the file or directory from being processed.
2013-12-18 16:14:21 -06:00
Jens Nazarenus 43ef9a2e4f variables in include tag with filters 2013-12-17 23:51:52 +01:00
akira yamada ecab2eb473 made error description more helpful 2013-12-17 10:57:12 +09:00
Parker Moore 1ebce26881 Default Maruku fenced_code_blocks to ON.
Extends https://github.com/jekyll/jekyll/pull/1799
2013-12-15 16:08:21 -05:00
akira yamada 9d259fe315 added error description for invalid post name 2013-12-15 17:18:11 +09:00
akira yamada a5545d5bad post_url tag raises ArgumentError for invalid name
Using post_url tag with invalid name raises TypeError.

It should raise ArgumentError and should display detail of the error to
fix the error.
2013-12-14 22:30:22 +09:00
Matt Rogers 39b6fe732f Merge pull request #1780 from mojombo/kill-1-8 2013-12-11 06:08:10 -08:00
Matt Rogers a7d4ee8bfb Merge pull request #1799 from konklone/maruku_fenced_code_blocks 2013-12-10 20:30:44 -08:00
Parker Moore a70726e554 Merge pull request #1788 from mojombo/group-by-filter-2 2013-12-10 08:48:44 -08:00
Eric Mill afe9387578 condensing code slightly 2013-12-10 11:04:04 -05:00
Matt Rogers ed82098162 Merge pull request #1796 from mojombo/fix-fetching-things
Reject nil entries in Site#read_things
2013-12-09 18:23:19 -08:00
Christoph Schiessl 695e5bbc40 move EntryFilter class from global namespace into Jekyll module 2013-12-09 23:06:27 +01:00
Parker Moore 063111737c Refactor data/[] fetching of item property. 2013-12-09 12:59:43 -05:00
Parker Moore bf9cf5340d Reject nil entries in Site#read_things 2013-12-09 12:46:57 -05:00
Eric Mill 14418f74ae in-progress patch for maruku and fenced code blocks 2013-12-08 22:37:46 -05:00
Parker Moore 381ab4e71b Implement group_by Liquid filter & tests. 2013-12-08 01:16:48 -05: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