Commit Graph

1255 Commits

Author SHA1 Message Date
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