jekyll 1.0.0.beta3 → 1.0.0.beta4

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of jekyll might be problematic. Click here for more details.

@@ -5,62 +5,83 @@ prev_section: deployment-methods
5
5
  next_section: troubleshooting
6
6
  ---
7
7
 
8
- Contributions to Jekyll are always welcome, however there’s a few things that you should keep in mind to improve your chances of having your changes merged in.
9
-
10
- ## Workflow
11
-
12
- Here’s the most typical way to get your change merged into the project:
13
-
14
- 1. Fork the project [on GitHub](https://github.com/mojombo/jekyll) and clone it down to your local machine.
15
- 2. Create a topic branch to contain your change.
16
- 3. Hack away, add tests. Not necessarily in that order.
17
- 4. Make sure all the existing tests still pass.
18
- 5. If necessary, rebase your commits into logical chunks, without errors.
19
- 6. Push the branch up to your fork on GitHub.
20
- 7. Create an issue on GitHub with a link to your branch.
8
+ So you've got an awesome idea to throw into Jekyll. Great! Please keep the
9
+ following in mind:
10
+
11
+ * If you're creating a small fix or patch to an existing feature, just a simple
12
+ test will do. Please stay in the confines of the current test suite and use
13
+ [Shoulda](http://github.com/thoughtbot/shoulda/tree/master) and
14
+ [RR](http://github.com/btakita/rr/tree/master).
15
+ * If it's a brand new feature, make sure to create a new
16
+ [Cucumber](https://github.com/cucumber/cucumber/) feature and reuse steps
17
+ where appropriate. Also, whipping up some documentation in your fork's wiki
18
+ would be appreciated, and once merged it will be transferred over to the main
19
+ wiki.
20
+ * If your contribution adds or changes any Jekyll behavior, make sure to update
21
+ the documentation. It lives in `site/_posts`. If the docs are missing
22
+ information, please feel free to add it in. Great docs make a great project!
23
+ * Please follow the [GitHub Ruby Styleguide](https://github.com/styleguide/ruby)
24
+ when modifying Ruby code.
21
25
 
22
26
  <div class="note warning">
23
27
  <h5>Contributions will not be accepted without tests</h5>
24
- <p>If you’re creating a small fix or patch to an existing feature, just
25
- a simple test will do.</p>
28
+ <p>
29
+ If you’re creating a small fix or patch to an existing feature, just
30
+ a simple test will do.
31
+ </p>
26
32
  </div>
27
33
 
28
- ## Tests
29
-
30
- We’re big on tests, so please be sure to include them. Please stay in the confines of the current test suite and use [Shoulda](https://github.com/thoughtbot/shoulda) and [RR](https://github.com/btakita/rr).
31
-
32
- ### Tests for brand-new features
34
+ Test Dependencies
35
+ -----------------
33
36
 
34
- If it’s a brand new feature, make sure to create a new [Cucumber](https://github.com/cucumber/cucumber/) feature and reuse steps where appropriate. Also, whipping up some documentation in your fork’s `gh-pages` branch would be appreciated, so the main website can be updated as soon as your new feature is merged.
35
-
36
- ### Test dependencies
37
-
38
- To run the test suite and build the gem you’ll need to install Jekyll’s dependencies. Jekyll uses Bundler, so a quick run of the bundle command and you’re all set!
37
+ To run the test suite and build the gem you'll need to install Jekyll's
38
+ dependencies. Jekyll uses Bundler, so a quick run of the `bundle` command and
39
+ you're all set!
39
40
 
40
41
  {% highlight bash %}
41
42
  $ bundle
42
43
  {% endhighlight %}
43
44
 
44
- Before you start, run the tests and make sure that they pass (to confirm
45
- your environment is configured properly):
45
+ Before you start, run the tests and make sure that they pass (to confirm your
46
+ environment is configured properly):
46
47
 
47
48
  {% highlight bash %}
48
49
  $ rake test
49
50
  $ rake features
50
51
  {% endhighlight %}
51
52
 
52
- ## Common Gotchas
53
+ Workflow
54
+ --------
55
+
56
+ Here's the most direct way to get your work merged into the project:
57
+
58
+ * Fork the project.
59
+ * Clone down your fork: `git clone git://github.com/<username>/jekyll.git`
60
+ * Create a topic branch to contain your change: `git checkout -b my_awesome_feature`
61
+ * Hack away, add tests. Not necessarily in that order.
62
+ * Make sure everything still passes by running `rake`.
63
+ * If necessary, rebase your commits into logical chunks, without errors.
64
+ * Push the branch up: `git push origin my_awesome_feature`
65
+ * Create a pull request against mojombo/jekyll and describe what your change
66
+ does and the why you think it should be merged.
67
+
68
+ Gotchas
69
+ -------
53
70
 
54
- - If you want to bump the gem version, please put that in a separate
55
- commit. This way, the maintainers can control when the gem gets released.
56
- - Try to keep your patch(es) based from [the latest commit on
57
- mojombo/jekyll](https://github.com/mojombo/jekyll/commits/master). The easier it is to apply your work, the less work
58
- the maintainers have to do, which is always a good thing.
59
- - Please dont tag your GitHub issue with labels like “fix” or “feature”.
60
- The maintainers actively read the issues and will label it once they come
61
- across it.
71
+ * If you want to bump the gem version, please put that in a separate commit.
72
+ This way, the maintainers can control when the gem gets released.
73
+ * Try to keep your patch(es) based from the latest commit on mojombo/jekyll.
74
+ The easier it is to apply your work, the less work the maintainers have to do,
75
+ which is always a good thing.
76
+ * Please don't tag your GitHub issue with \[fix\], \[feature\], etc. The maintainers
77
+ actively read the issues and will label it once they come across it.
62
78
 
63
79
  <div class="note">
64
80
  <h5>Let us know what could be better!</h5>
65
- <p>Both using and hacking on Jekyll should be fun, simple, and easy, so if for some reason you find it’s a pain, please <a href="https://github.com/mojombo/jekyll/issues/new">create an issue</a> on GitHub describing your experience so we can make it better.</p>
81
+ <p>
82
+ Both using and hacking on Jekyll should be fun, simple, and easy, so if for
83
+ some reason you find it’s a pain, please <a
84
+ href="https://github.com/mojombo/jekyll/issues/new">create an issue</a> on
85
+ GitHub describing your experience so we can make it better.
86
+ </p>
66
87
  </div>
@@ -5,99 +5,111 @@ prev_section: plugins
5
5
  next_section: github-pages
6
6
  ---
7
7
 
8
- There are a number of (optional) extra features that Jekyll supports that you may want to install, depending on how you plan to use Jekyll.
8
+ There are a number of (optional) extra features that Jekyll supports that you
9
+ may want to install, depending on how you plan to use Jekyll.
9
10
 
10
11
  ## Pygments
11
12
 
12
- If you want syntax highlighting via the `{{ "{% highlight " }}%}` tag in your
13
- posts, you’ll need to install [Pygments](http://pygments.org/).
13
+ If you want syntax highlighting via the `{% raw %}{% highlight %}{% endraw %}`
14
+ tag in your posts, you’ll need to install [Pygments](http://pygments.org/).
14
15
 
15
16
  ### Installing Pygments on OSX
16
17
 
17
- Mac OS X (Leopard onwards) come preinstalled with Python, so on just about any OS X machine you can install Pygments simply by running:
18
+ Mac OS X (Leopard onwards) comes preinstalled with Python, so on just about any
19
+ OS X machine you can install Pygments simply by running:
18
20
 
19
21
  {% highlight bash %}
20
- sudo easy_install Pygments
22
+ $ sudo easy_install Pygments
21
23
  {% endhighlight %}
22
24
 
23
25
  #### Installing Pygments using Homebrew
24
26
 
25
- Alternatively, you can install Pygments with [Homebrew](http://mxcl.github.com/homebrew/), an excellent package manager for OS X:
27
+ Alternatively, you can install Pygments with
28
+ [Homebrew](http://mxcl.github.com/homebrew/), an excellent package manager for
29
+ OS X:
30
+
26
31
  {% highlight bash %}
27
- brew install python
32
+ $ brew install python
28
33
  # export PATH="/usr/local/share/python:${PATH}"
29
- easy_install pip
30
- pip install --upgrade distribute
31
- pip install pygments
34
+ $ easy_install pip
35
+ $ pip install --upgrade distribute
36
+ $ pip install pygments
32
37
  {% endhighlight %}
33
38
 
34
- **ProTip™**: Homebrew doesn’t symlink the executables for you. For the Homebrew default Cellar location and Python 2.7, be sure to add `/usr/local/share/python` to your `PATH`. For more information, check out [the Homebrew wiki](https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python).
39
+ <div class="note">
40
+ <h5>Homebrew's executable paths</h5>
41
+ <p>
42
+ Homebrew doesn’t symlink the executables for you. For the Homebrew default
43
+ Cellar location and Python 2.7, be sure to add `/usr/local/share/python` to
44
+ your `PATH`. For more information, check out [the Homebrew
45
+ wiki](https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python).
46
+ </p>
47
+ </div>
35
48
 
36
49
  #### Installing Pygments using MacPorts
37
50
 
38
51
  If you use MacPorts, you can install Pygments by running:
39
52
 
40
53
  {% highlight bash %}
41
- sudo port install python25 py25-pygments
54
+ $ sudo port install python25 py25-pygments
42
55
  {% endhighlight %}
43
56
 
44
- Seriously though, you should check out [Homebrew](http://mxcl.github.com/homebrew/)—it’s awesome.
45
-
57
+ Seriously though, you should check out
58
+ [Homebrew](http://mxcl.github.com/homebrew/)—it’s awesome.
46
59
 
47
60
  ### Installing Pygments on Arch Linux
48
61
 
49
62
  You can install Pygments using the pacman package manager as follows:
50
63
 
51
64
  {% highlight bash %}
52
- sudo pacman -S python-pygments
65
+ $ sudo pacman -S python-pygments
53
66
  {% endhighlight %}
54
67
 
55
68
  Or to use python2 for Pygments:
69
+
56
70
  {% highlight bash %}
57
- sudo pacman -S python2-pygments
71
+ $ sudo pacman -S python2-pygments
58
72
  {% endhighlight %}
59
73
 
60
74
  ### Installing Pygments on Ubuntu and Debian
61
75
 
62
76
  {% highlight bash %}
63
- sudo apt-get install python-pygments
77
+ $ sudo apt-get install python-pygments
64
78
  {% endhighlight %}
65
79
 
66
80
  ### Installing Pygments on RedHat, Fedora, and CentOS
67
81
 
68
82
  {% highlight bash %}
69
- sudo yum install python-pygments
83
+ $ sudo yum install python-pygments
70
84
  {% endhighlight %}
71
85
 
72
86
  ### Installing Pygments on Gentoo
73
87
 
74
88
  {% highlight bash %}
75
- sudo emerge -av dev-python/pygments
89
+ $ sudo emerge -av dev-python/pygments
76
90
  {% endhighlight %}
77
91
 
78
92
  ## LaTeX Support
79
93
 
80
- Maruku comes with optional support for LaTeX to PNG rendering via
81
- blahtex (Version 0.6) which must be in your `$PATH` along with `dvips`. If you need Maruku to not assume a fixed location for `dvips`, check out [Remi’s Maruku fork](http://github.com/remi/maruku).
94
+ Maruku comes with optional support for LaTeX to PNG rendering via blahtex
95
+ (Version 0.6) which must be in your `$PATH` along with `dvips`. If you need
96
+ Maruku to not assume a fixed location for `dvips`, check out [Remi’s Maruku
97
+ fork](http://github.com/remi/maruku).
82
98
 
83
99
  ## RDiscount
84
100
 
85
- If you prefer to use [RDiscount](http://github.com/rtomayko/rdiscount) instead of [Maruku](http://maruku.rubyforge.org/) for markdown, just make sure you have it installed:
86
-
87
- {% highlight bash %}
88
- sudo gem install rdiscount
89
- {% endhighlight %}
90
-
91
- And then run Jekyll with the following option:
101
+ If you prefer to use [RDiscount](http://github.com/rtomayko/rdiscount) instead
102
+ of [Maruku](http://maruku.rubyforge.org/) for markdown, just make sure you have
103
+ it installed:
92
104
 
93
105
  {% highlight bash %}
94
- jekyll build --markdown rdiscount
106
+ $ sudo gem install rdiscount
95
107
  {% endhighlight %}
96
108
 
97
- Or, specify RDiscount as the markdown engine in your `_config.yml` file to have Jekyll run with that option by default (so you don’t have to specify the flag every time).
109
+ And then specify RDiscount as the Markdown engine in your `_config.yml` file to
110
+ have Jekyll run with that option.
98
111
 
99
112
  {% highlight bash %}
100
113
  # In _config.yml
101
114
  markdown: rdiscount
102
115
  {% endhighlight %}
103
-
@@ -5,7 +5,11 @@ prev_section: configuration
5
5
  next_section: posts
6
6
  ---
7
7
 
8
- The front-matter is where Jekyll starts to get really cool. Any files that contain a [YAML](http://yaml.org/) front matter block will be processed by Jekyll as special files. The front matter must be the first thing in the file and must take the form of sets of variables and values set between triple-dashed lines. Here is a basic example:
8
+ The front-matter is where Jekyll starts to get really cool. Any file that
9
+ contains a [YAML](http://yaml.org/) front matter block will be processed by
10
+ Jekyll as a special file. The front matter must be the first thing in the file
11
+ and must take the form of valid YAML set between triple-dashed lines. Here is a
12
+ basic example:
9
13
 
10
14
  {% highlight yaml %}
11
15
  ---
@@ -14,11 +18,19 @@ title: Blogging Like a Hacker
14
18
  ---
15
19
  {% endhighlight %}
16
20
 
17
- Between these triple-dashed lines, you can set predefined variables (see below for a reference) or even create custom ones of your own. These variables will then be available to you to access using Liquid tags both further down in the file and also in any layouts or includes that the page or post in question relies on.
21
+ Between these triple-dashed lines, you can set predefined variables (see below
22
+ for a reference) or even create custom ones of your own. These variables will
23
+ then be available to you to access using Liquid tags both further down in the
24
+ file and also in any layouts or includes that the page or post in question
25
+ relies on.
18
26
 
19
27
  <div class="note warning">
20
28
  <h5>UTF-8 Character Encoding Warning</h5>
21
- <p>If you use UTF-8 encoding, make sure that no <code>BOM</code> header characters exist in your files or very, very bad things will happen to Jekyll. This is especially relevant if you’re running Jekyll on Windows.</p>
29
+ <p>
30
+ If you use UTF-8 encoding, make sure that no <code>BOM</code> header
31
+ characters exist in your files or very, very bad things will happen to
32
+ Jekyll. This is especially relevant if you’re running Jekyll on Windows.
33
+ </p>
22
34
  </div>
23
35
 
24
36
  ## Predefined Global Variables
@@ -38,7 +50,13 @@ There are a number of predefined global variables that you can set in the front-
38
50
  <p><code>layout</code></p>
39
51
  </td>
40
52
  <td>
41
- <p>If set, this specifies the layout file to use. Use the layout file name without file extension. Layout files must be placed in the <code>_layouts</code> directory.</p>
53
+ <p>
54
+
55
+ If set, this specifies the layout file to use. Use the layout file
56
+ name without file extension. Layout files must be placed in the
57
+ <code>_layouts</code> directory.
58
+
59
+ </p>
42
60
  </td>
43
61
  </tr>
44
62
  <tr>
@@ -46,7 +64,13 @@ There are a number of predefined global variables that you can set in the front-
46
64
  <p><code>permalink</code></p>
47
65
  </td>
48
66
  <td>
49
- <p>If you need your processed URLs to be something other than the default <code>/year/month/day/title.html</code> then you can set this variable and it will be used as the final URL.</p>
67
+ <p>
68
+
69
+ If you need your processed blog post URLs to be something other than
70
+ the default <code>/year/month/day/title.html</code> then you can set
71
+ this variable and it will be used as the final URL.
72
+
73
+ </p>
50
74
  </td>
51
75
  </tr>
52
76
  <tr>
@@ -54,7 +78,10 @@ There are a number of predefined global variables that you can set in the front-
54
78
  <p><code>published</code></p>
55
79
  </td>
56
80
  <td>
57
- <p>Set to false if you don’t want a post to show up when the site is generated.</p>
81
+ <p>
82
+ Set to false if you don’t want a specific post to show up when the
83
+ site is generated.
84
+ </p>
58
85
  </td>
59
86
  </tr>
60
87
  <tr>
@@ -63,7 +90,16 @@ There are a number of predefined global variables that you can set in the front-
63
90
  <p><code>categories</code></p>
64
91
  </td>
65
92
  <td>
66
- <p>Instead of placing posts inside of folders, you can specify one or more categories that the post belongs to. When the site is generated the post will act as though it had been set with these categories normally. Categories (plural key) can be specified as a <a href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list</a> or a space-separated string.</p>
93
+ <p>
94
+
95
+ Instead of placing posts inside of folders, you can specify one or
96
+ more categories that the post belongs to. When the site is generated
97
+ the post will act as though it had been set with these categories
98
+ normally. Categories (plural key) can be specified as a <a
99
+ href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list</a> or a
100
+ space-separated string.
101
+
102
+ </p>
67
103
  </td>
68
104
  </tr>
69
105
  <tr>
@@ -71,7 +107,13 @@ There are a number of predefined global variables that you can set in the front-
71
107
  <p><code>tags</code></p>
72
108
  </td>
73
109
  <td>
74
- <p>Similar to categories, one or multiple tags can be added to a post. Also like categories, tags can be specified as a YAML list or a space-separated string.</p>
110
+ <p>
111
+
112
+ Similar to categories, one or multiple tags can be added to a post.
113
+ Also like categories, tags can be specified as a YAML list or a space-
114
+ separated string.
115
+
116
+ </p>
75
117
  </td>
76
118
  </tr>
77
119
  </tbody>
@@ -80,16 +122,16 @@ There are a number of predefined global variables that you can set in the front-
80
122
 
81
123
  ## Custom Variables
82
124
 
83
- Any variables in the front matter that are not predefined are mixed into
84
- the data that is sent to the Liquid templating engine during the
85
- conversion. For instance, if you set a title, you can use that in your
86
- layout to set the page title:
125
+ Any variables in the front matter that are not predefined are mixed into the
126
+ data that is sent to the Liquid templating engine during the conversion. For
127
+ instance, if you set a title, you can use that in your layout to set the page
128
+ title:
87
129
 
88
130
  {% highlight html %}
89
131
  <!DOCTYPE HTML>
90
132
  <html>
91
133
  <head>
92
- <title>{{ "{{ page.title " }}}}</title>
134
+ <title>{% raw %}{{ page.title }}{% endraw %}</title>
93
135
  </head>
94
136
  <body>
95
137
  ...
@@ -97,8 +139,7 @@ layout to set the page title:
97
139
 
98
140
  ## Predefined Variables for Posts
99
141
 
100
- These are available out-of-the-box to be used in the front-matter for a
101
- post.
142
+ These are available out-of-the-box to be used in the front-matter for a post.
102
143
 
103
144
  <table>
104
145
  <thead>
@@ -113,7 +154,10 @@ post.
113
154
  <p><code>date</code></p>
114
155
  </td>
115
156
  <td>
116
- <p>A date here overrides the date from the name of the post. This can be used to ensure correct sorting of posts.</p>
157
+ <p>
158
+ A date here overrides the date from the name of the post. This can be
159
+ used to ensure correct sorting of posts.
160
+ </p>
117
161
  </td>
118
162
  </tr>
119
163
  </tbody>
@@ -5,30 +5,61 @@ prev_section: extras
5
5
  next_section: deployment-methods
6
6
  ---
7
7
 
8
- [GitHub Pages](https://pages.github.com) are public web pages for users, organizations, and repositories, that are freely hosted on [GitHub](https://github.com/). GitHub Pages are powered by Jekyll behind the scenes, so in addition to supporting regular HTML content, they’re also a great way to host your Jekyll-powered website for free.
8
+ [GitHub Pages](https://pages.github.com) are public web pages for users,
9
+ organizations, and repositories, that are freely hosted on GitHub's
10
+ [github.io]() domain or on a custom domain name of your choice. GitHub Pages are
11
+ powered by Jekyll behind the scenes, so in addition to supporting regular HTML
12
+ content, they’re also a great way to host your Jekyll-powered website for free.
9
13
 
10
14
  ## Deploying Jekyll to GitHub Pages
11
15
 
12
- GitHub Pages work by looking at certain branches of repositories on GitHub. There are two basic types of Pages available, user/organization Pages and project Pages. The way to deploy these two types of pages are nearly identical, except for a few minor details.
16
+ GitHub Pages work by looking at certain branches of repositories on GitHub.
17
+ There are two basic types available: user/organization pages and project pages.
18
+ The way to deploy these two types of sites are nearly identical, except for a
19
+ few minor details.
13
20
 
14
21
  ### User and Organization Pages
15
22
 
16
- User and organization Pages live in a special GitHub repository dedicated to only the Pages files. This repository must be named after the account name. For example, [@mojombo’s user page repository](https://github.com/mojombo/mojombo.github.com) has the name `mojombo.github.com`.
23
+ User and organization pages live in a special GitHub repository dedicated to
24
+ only the GitHub Pages files. This repository must be named after the account
25
+ name. For example, [@mojombo’s user page
26
+ repository](https://github.com/mojombo/mojombo.github.io) has the name
27
+ `mojombo.github.io`.
17
28
 
18
- Content from the `master` branch of your repository will be used to build and publish the GitHub Pages site, so make sure your Jekyll site is stored there.
29
+ Content from the `master` branch of your repository will be used to build and
30
+ publish the GitHub Pages site, so make sure your Jekyll site is stored there.
19
31
 
20
32
  <div class="note info">
21
33
  <h5>Custom domains do not affect repository names</h5>
22
- <p>GitHub Pages are initially configured to live under the `username.github.com` subdomain, which is why repositories must be named this way <strong>even if a custom domain is being used</strong>.</p>
34
+ <p>
35
+ GitHub Pages are initially configured to live under the
36
+ <code>username.github.io</code> subdomain, which is why repositories must
37
+ be named this way <strong>even if a custom domain is being used</strong>.
38
+ </p>
23
39
  </div>
24
40
 
25
41
  ### Project Pages
26
42
 
27
- Unlike user and organization Pages, Project Pages are kept in the same repository as the project they are for, except that the website content is stored in a specially named `gh-pages` branch. The content of this branch will be used to rendered using Jekyll, and the output will become available under a subpath of your user pages subdomain, such as `username.github.com/project` (unless a custom domain is specified—see below).
43
+ Unlike user and organization Pages, Project Pages are kept in the same
44
+ repository as the project they are for, except that the website content is
45
+ stored in a specially named `gh-pages` branch. The content of this branch will
46
+ be rendered using Jekyll, and the output will become available under a subpath
47
+ of your user pages subdomain, such as `username.github.io/project` (unless a
48
+ custom domain is specified—see below).
28
49
 
29
- The Jekyll project repository itself is a perfect example of this branch structure—the [master branch](https://github.com/mojombo/jekyll) contains the actual software project for Jekyll, however the Jekyll website (that you’re looking at right now) is contained in the [gh-pages branch](https://github.com/mojombo/jekyll/tree/gh-pages) of the same repository.
50
+ The Jekyll project repository itself is a perfect example of this branch
51
+ structure—the [master branch](https://github.com/mojombo/jekyll) contains the
52
+ actual software project for Jekyll, however the Jekyll website (that you’re
53
+ looking at right now) is contained in the [gh-pages
54
+ branch](https://github.com/mojombo/jekyll/tree/gh-pages) of the same repository.
30
55
 
31
56
  <div class="note">
32
57
  <h5>GitHub Pages Documentation, Help, and Support</h5>
33
- <p>For more information about what you can do with GitHub Pages, as well as for troubleshooting guides, you should check out <a href="https://help.github.com/categories/20/articles">GitHub’s Pages Help section</a>. If all else fails, you should contact <a href="https://github.com/contact">GitHub Support</a>.</p>
58
+ <p>
59
+ For more information about what you can do with GitHub Pages, as well as for
60
+ troubleshooting guides, you should check out <a
61
+ href="https://help.github.com/categories/20/articles">GitHub’s Pages Help
62
+ section</a>. If all else fails, you should contact <a
63
+ href="https://github.com/contact">GitHub Support</a>.
64
+ </p>
34
65
  </div>