jekyll 2.0.3 → 2.1.0
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.
- checksums.yaml +4 -4
- data/.travis.yml +2 -2
- data/CONTRIBUTING.markdown +2 -2
- data/History.markdown +86 -0
- data/README.markdown +5 -30
- data/Rakefile +4 -9
- data/docs/jp/CONTRIBUTING.jp.markdown +2 -2
- data/docs/jp/README.jp.markdown +1 -2
- data/features/collections.feature +40 -3
- data/features/data.feature +41 -1
- data/features/frontmatter_defaults.feature +57 -0
- data/features/post_data.feature +12 -0
- data/features/rendering.feature +34 -0
- data/features/step_definitions/jekyll_steps.rb +5 -1
- data/features/support/env.rb +0 -3
- data/jekyll.gemspec +6 -5
- data/lib/jekyll.rb +18 -1
- data/lib/jekyll/cleaner.rb +22 -2
- data/lib/jekyll/collection.rb +9 -2
- data/lib/jekyll/command.rb +20 -10
- data/lib/jekyll/commands/build.rb +10 -47
- data/lib/jekyll/commands/serve.rb +1 -0
- data/lib/jekyll/configuration.rb +13 -1
- data/lib/jekyll/converters/markdown/redcarpet_parser.rb +9 -2
- data/lib/jekyll/convertible.rb +31 -2
- data/lib/jekyll/deprecator.rb +1 -1
- data/lib/jekyll/document.rb +21 -3
- data/lib/jekyll/excerpt.rb +1 -1
- data/lib/jekyll/filters.rb +16 -12
- data/lib/jekyll/frontmatter_defaults.rb +3 -3
- data/lib/jekyll/log_adapter.rb +102 -0
- data/lib/jekyll/post.rb +5 -5
- data/lib/jekyll/renderer.rb +9 -5
- data/lib/jekyll/site.rb +38 -18
- data/lib/jekyll/static_file.rb +1 -0
- data/lib/jekyll/stevenson.rb +54 -98
- data/lib/jekyll/tags/highlight.rb +13 -5
- data/lib/jekyll/url.rb +2 -2
- data/lib/jekyll/utils.rb +15 -7
- data/lib/jekyll/version.rb +1 -1
- data/lib/site_template/_config.yml +2 -0
- data/lib/site_template/_includes/footer.html +8 -8
- data/lib/site_template/_includes/header.html +1 -1
- data/lib/site_template/css/main.css +7 -2
- data/lib/site_template/feed.xml +10 -1
- data/site/_config.yml +1 -0
- data/site/_data/docs.yml +1 -0
- data/site/_includes/anchor_links.html +28 -23
- data/site/_includes/css/font-awesome.css +3 -3
- data/site/_includes/css/style.css +4 -0
- data/site/_includes/news_contents.html +11 -1
- data/site/_includes/top.html +0 -1
- data/site/_layouts/default.html +1 -0
- data/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown +1 -1
- data/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown +1 -1
- data/site/_posts/2014-06-04-jekyll-stickers-1-dollar-stickermule.markdown +19 -0
- data/site/_posts/2014-06-28-jekyll-turns-21-i-mean-2-1-0.markdown +27 -0
- data/site/docs/collections.md +59 -1
- data/site/docs/configuration.md +91 -21
- data/site/docs/continuous-integration.md +177 -0
- data/site/docs/contributing.md +2 -2
- data/site/docs/datafiles.md +47 -3
- data/site/docs/deployment-methods.md +3 -3
- data/site/docs/extras.md +3 -5
- data/site/docs/history.md +86 -0
- data/site/docs/installation.md +3 -1
- data/site/docs/pagination.md +2 -1
- data/site/docs/permalinks.md +4 -4
- data/site/docs/plugins.md +6 -0
- data/site/docs/quickstart.md +0 -6
- data/site/docs/resources.md +1 -1
- data/site/docs/templates.md +1 -1
- data/site/docs/troubleshooting.md +1 -1
- data/site/docs/windows.md +2 -2
- data/site/fonts/FontAwesome.otf +0 -0
- data/site/fonts/fontawesome-webfont.eot +0 -0
- data/site/fonts/fontawesome-webfont.svg +469 -379
- data/site/fonts/fontawesome-webfont.ttf +0 -0
- data/site/fonts/fontawesome-webfont.woff +0 -0
- data/site/img/jekyll-sticker.jpg +0 -0
- data/test/helper.rb +0 -3
- data/test/source/_data/categories/dairy.yaml +6 -0
- data/test/source/_data/members.json +12 -0
- data/test/source/_methods/site/initialize.md +1 -2
- data/test/source/_posts/2009-01-27-no-category.textile +6 -0
- data/test/source/_slides/example-slide-1.html +4 -0
- data/test/source/_slides/example-slide-2.html +7 -0
- data/test/source/_with.dots/all.dots/2.4.0.md +5 -0
- data/test/source/_with.dots/file.with.dots.md +0 -0
- data/test/source/environment.html +5 -0
- data/test/test_cleaner.rb +77 -0
- data/test/test_collections.rb +52 -3
- data/test/test_command.rb +25 -28
- data/test/test_configuration.rb +10 -1
- data/test/test_document.rb +123 -0
- data/test/test_excerpt.rb +11 -0
- data/test/test_filters.rb +28 -2
- data/test/test_generated_site.rb +1 -1
- data/test/test_log_adapter.rb +59 -0
- data/test/test_post.rb +77 -0
- data/test/test_site.rb +51 -0
- data/test/test_tags.rb +11 -114
- data/test/test_utils.rb +2 -2
- metadata +76 -39
- data/lib/jekyll/generators/pagination.rb +0 -217
- data/lib/jekyll/tags/gist.rb +0 -47
- data/test/test_pager.rb +0 -118
data/site/docs/configuration.md
CHANGED
@@ -278,40 +278,111 @@ before your site is served.
|
|
278
278
|
|
279
279
|
## Frontmatter defaults
|
280
280
|
|
281
|
-
|
282
|
-
in your configuration. This way, you can for example set default layouts or define
|
283
|
-
defaults for your custom variables. Of course, any variable actually specified in
|
284
|
-
the front matter overrides the defaults.
|
281
|
+
Using [YAML front-matter](../frontmatter/) is one way that you can specify configuration in the pages and posts for your site. Setting things like a default layout, or customizing the title, or specifying a more precise date/time for the post can all be added to your page or post front-matter.
|
285
282
|
|
286
|
-
|
287
|
-
|
288
|
-
|
283
|
+
Often times, you will find that you are repeating a lot of configuration options. Setting the same layout in each file, adding the same category - or categories - to a post, etc. You can even add custom variables like author names, which might be the same for the majority of posts on your blog.
|
284
|
+
|
285
|
+
Instead of repeating this configuration each time you create a new post or page, Jekyll provides a way to set these defaults in the site configuration. To do this, you can specify site-wide defaults using the `defaults` key in the `_config.yml` file in your projects root directory.
|
286
|
+
|
287
|
+
The `defaults` key holds an array of scope/values pairs that define what defaults should be set for a particular file path, and optionally, a file type in that path.
|
288
|
+
|
289
|
+
Let's say that you want to add a default layout to all pages and posts in your site. You would add this to your `_config.yml` file:
|
289
290
|
|
290
|
-
For example:
|
291
291
|
{% highlight yaml %}
|
292
292
|
defaults:
|
293
293
|
-
|
294
294
|
scope:
|
295
|
-
path: "" # empty string
|
295
|
+
path: "" # an empty string here means all files in the project
|
296
296
|
values:
|
297
|
-
layout: "
|
297
|
+
layout: "default"
|
298
|
+
{% endhighlight %}
|
299
|
+
|
300
|
+
Here, we are scoping the `values` to any file that exists in the scopes path. Since the path is set as an empty string, it will apply to **all files** in your project. You probably don't want to set a layout on every file in your project - like css files, for example - so you can also specify a `type` value under the `scope` key.
|
301
|
+
|
302
|
+
{% highlight yaml %}
|
303
|
+
defaults:
|
304
|
+
-
|
305
|
+
scope:
|
306
|
+
path: "" # an empty string here means all files in the project
|
307
|
+
type: "post"
|
308
|
+
values:
|
309
|
+
layout: "default"
|
310
|
+
{% endhighlight %}
|
311
|
+
|
312
|
+
Now, this will only set the layout for files where the type is `post`.
|
313
|
+
The different types that are available to you are `page`, `post`, `draft` or any collection in your site. While `type` is optional, you must specify a value for `path` when creating a `scope/values` pair.
|
314
|
+
|
315
|
+
As mentioned earlier, you can set multiple scope/values pairs for `defaults`.
|
316
|
+
|
317
|
+
{% highlight yaml %}
|
318
|
+
defaults:
|
298
319
|
-
|
299
320
|
scope:
|
300
|
-
path: "
|
321
|
+
path: ""
|
301
322
|
type: "post"
|
302
323
|
values:
|
303
|
-
layout: "
|
304
|
-
|
324
|
+
layout: "my-site"
|
325
|
+
-
|
326
|
+
scope:
|
327
|
+
path: "projects"
|
328
|
+
type: "page"
|
329
|
+
values:
|
330
|
+
layout: "project" # overrides previous default layout
|
331
|
+
author: "Mr. Hyde"
|
332
|
+
category: "project"
|
333
|
+
{% endhighlight %}
|
334
|
+
|
335
|
+
With these defaults, all posts would use the `my-site` layout. Any html files that exist in the `projects/` folder will use the `project` layout, if it exists. Those files will also have the `page.author` [liquid variable](../variables/) set to `Mr. Hyde` as well as have the category for the page set to `project`.
|
336
|
+
|
337
|
+
{% highlight yaml %}
|
338
|
+
collections:
|
339
|
+
- my_collection:
|
340
|
+
output: true
|
341
|
+
|
342
|
+
defaults:
|
343
|
+
-
|
344
|
+
scope:
|
345
|
+
path: ""
|
346
|
+
type: "my_collection" # a collection in your site
|
347
|
+
values:
|
348
|
+
layout: "default"
|
305
349
|
{% endhighlight %}
|
306
350
|
|
307
|
-
|
308
|
-
who would default to the `meta-blog` layout and also have the `page.author` [liquid variable](../variables/) set to `Dr. Hyde` by default.
|
351
|
+
In this example the `layout` is set to `default` inside the [collection](../collections) with the name `my_collection`.
|
309
352
|
|
310
353
|
### Precedence
|
311
|
-
|
312
|
-
the
|
313
|
-
|
314
|
-
|
354
|
+
|
355
|
+
Jekyll will apply all of the configuration settings you specify in the `defaults` section of your `_config.yml` file. However, you can choose to override settings from other scope/values pair by specifying a more specific path for the scope.
|
356
|
+
|
357
|
+
You can see that in the last example above. First, we set the default layout to `my-site`. Then, using a more specific path, we set the default layout for files in the `projects/` path to `project`. This can be done with any value that you would set in the page or post front-matter.
|
358
|
+
|
359
|
+
Finally, if you set defaults in the site configuration by adding a `defaults` section to your `_config.yml` file, you can override those settings in a post or page file. All you need to do is specify the settings in the post or page front-matter. For example:
|
360
|
+
|
361
|
+
{% highlight yaml %}
|
362
|
+
# In _config.yml
|
363
|
+
...
|
364
|
+
defaults:
|
365
|
+
-
|
366
|
+
scope:
|
367
|
+
path: "projects"
|
368
|
+
type: "page"
|
369
|
+
values:
|
370
|
+
layout: "project"
|
371
|
+
author: "Mr. Hyde"
|
372
|
+
category: "project"
|
373
|
+
...
|
374
|
+
{% endhighlight %}
|
375
|
+
|
376
|
+
{% highlight yaml %}
|
377
|
+
# In projects/foo_project.md
|
378
|
+
---
|
379
|
+
author: "John Smith"
|
380
|
+
layout: "foobar"
|
381
|
+
---
|
382
|
+
The post text goes here...
|
383
|
+
{% endhighlight %}
|
384
|
+
|
385
|
+
The `projects/foo_project.md` would have the `layout` set to `foobar` instead of `project` and the `author` set to `John Smith` instead of `Mr. Hyde` when the site is built.
|
315
386
|
|
316
387
|
## Default Configuration
|
317
388
|
|
@@ -341,7 +412,7 @@ timezone: nil
|
|
341
412
|
encoding: nil
|
342
413
|
|
343
414
|
future: true
|
344
|
-
show_drafts:
|
415
|
+
show_drafts: false
|
345
416
|
limit_posts: 0
|
346
417
|
highlighter: pygments
|
347
418
|
|
@@ -363,7 +434,6 @@ server: false # deprecated
|
|
363
434
|
host: 0.0.0.0
|
364
435
|
port: 4000
|
365
436
|
baseurl: ""
|
366
|
-
url: http://localhost:4000
|
367
437
|
lsi: false
|
368
438
|
|
369
439
|
maruku:
|
@@ -0,0 +1,177 @@
|
|
1
|
+
---
|
2
|
+
layout: docs
|
3
|
+
title: Continuous Integration
|
4
|
+
prev_section: deployment-methods
|
5
|
+
next_section: troubleshooting
|
6
|
+
permalink: /docs/continuous-integration/
|
7
|
+
---
|
8
|
+
|
9
|
+
You can easily test your website build against one or more versions of Ruby.
|
10
|
+
The following guide will show you how to set up a free build environment on
|
11
|
+
[Travis][0], with [GitHub][1] integration for pull requests. Paid
|
12
|
+
alternatives exist for private repositories.
|
13
|
+
|
14
|
+
[0]: https://travis-ci.org/
|
15
|
+
[1]: https://github.com/
|
16
|
+
|
17
|
+
## 1. Enabling Travis and GitHub
|
18
|
+
|
19
|
+
Enabling Travis builds for your GitHub repository is pretty simple:
|
20
|
+
|
21
|
+
1. Go to your profile on travis-ci.org: https://travis-ci.org/profile/username
|
22
|
+
2. Find the repository for which you're interested in enabling builds.
|
23
|
+
3. Click the slider on the right so it says "ON" and is a dark grey.
|
24
|
+
4. Optionally configure the build by clicking on the wrench icon. Further
|
25
|
+
configuration happens in you `.travis.yml` file. More details on that
|
26
|
+
below.
|
27
|
+
|
28
|
+
## 2. The Test Script
|
29
|
+
|
30
|
+
The simplest test script simply runs `jekyll build` and ensures that Jekyll
|
31
|
+
doesn't fail to build the site. It doesn't check the resulting site, but it
|
32
|
+
does ensure things are built properly.
|
33
|
+
|
34
|
+
When testing Jekyll output, there is no better tool than [html-proofer][2].
|
35
|
+
This tool checks your resulting site to ensure all links and images exist.
|
36
|
+
Utilize it either with the convenient `htmlproof` command-line executable,
|
37
|
+
or write a Ruby script which utilizes the gem.
|
38
|
+
|
39
|
+
### The HTML Proofer Executable
|
40
|
+
|
41
|
+
{% highlight bash %}
|
42
|
+
#!/usr/bin/env bash
|
43
|
+
set -e # halt script on error
|
44
|
+
|
45
|
+
bundle exec jekyll build
|
46
|
+
bundle exec htmlproof ./_site
|
47
|
+
{% endhighlight %}
|
48
|
+
|
49
|
+
Some options can be specified via command-line switches. Check out the
|
50
|
+
`html-proofer` README for more information about these switches, or run
|
51
|
+
`htmlproof --help` locally.
|
52
|
+
|
53
|
+
### The HTML Proofer Library
|
54
|
+
|
55
|
+
You can also invoke `html-proofer` in Ruby scripts (e.g. in a Rakefile):
|
56
|
+
|
57
|
+
{% highlight ruby %}
|
58
|
+
#!/usr/bin/env ruby
|
59
|
+
|
60
|
+
require 'html/proofer'
|
61
|
+
HTML::Proofer.new("./_site").run
|
62
|
+
{% endhighlight %}
|
63
|
+
|
64
|
+
Options are given as a second argument to `.new`, and are encoded in a
|
65
|
+
symbol-keyed Ruby Hash. More information about the configuration options,
|
66
|
+
check out `html-proofer`'s README file.
|
67
|
+
|
68
|
+
[2]: https://github.com/gjtorikian/html-proofer
|
69
|
+
|
70
|
+
## 3. Configuring Your Travis Builds
|
71
|
+
|
72
|
+
This file is used to configure your Travis builds. Because Jekyll is built
|
73
|
+
with Ruby and requires RubyGems to install, we use the Ruby language build
|
74
|
+
environment. Below is a sample `.travis.yml` file, and what follows that is
|
75
|
+
an explanation of each line.
|
76
|
+
|
77
|
+
{% highlight yaml %}
|
78
|
+
language: ruby
|
79
|
+
rvm:
|
80
|
+
- 2.1
|
81
|
+
script: ./script/cibuild
|
82
|
+
|
83
|
+
# branch whitelist
|
84
|
+
branches:
|
85
|
+
only:
|
86
|
+
- gh-pages # test the gh-pages branch
|
87
|
+
- /pages-(.*)/ # test every branch which starts with "pages-"
|
88
|
+
|
89
|
+
env:
|
90
|
+
global:
|
91
|
+
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
|
92
|
+
{% endhighlight %}
|
93
|
+
|
94
|
+
Ok, now for an explanation of each line:
|
95
|
+
|
96
|
+
{% highlight yaml %}
|
97
|
+
language: ruby
|
98
|
+
{% endhighlight %}
|
99
|
+
|
100
|
+
This line tells Travis to use a Ruby build container. It gives your script
|
101
|
+
access to Bundler, RubyGems, and and Ruby runtime.
|
102
|
+
|
103
|
+
{% highlight yaml %}
|
104
|
+
rvm:
|
105
|
+
- 2.1
|
106
|
+
{% endhighlight %}
|
107
|
+
|
108
|
+
RVM is a popular Ruby Version Manager (like rbenv, chruby, etc). This
|
109
|
+
directive tells Travis the Ruby version to use when running your test
|
110
|
+
script.
|
111
|
+
|
112
|
+
{% highlight yaml %}
|
113
|
+
script: ./script/cibuild
|
114
|
+
{% endhighlight %}
|
115
|
+
|
116
|
+
Travis allows you to run any arbitrary shell script to test your site. One
|
117
|
+
convention is to put all scripts for your project in the `script`
|
118
|
+
directory, and to call your test script `cibuild`. This line is completely
|
119
|
+
customizable. If your script won't change much, you can write your test
|
120
|
+
incantation here directly:
|
121
|
+
|
122
|
+
{% highlight yaml %}
|
123
|
+
script: jekyll build && htmlproof ./_site
|
124
|
+
{% endhighlight %}
|
125
|
+
|
126
|
+
The `script` directive can be absolutely any valid shell command.
|
127
|
+
|
128
|
+
{% highlight yaml %}
|
129
|
+
# branch whitelist
|
130
|
+
branches:
|
131
|
+
only:
|
132
|
+
- gh-pages # test the gh-pages branch
|
133
|
+
- /pages-(.*)/ # test every branch which starts with "pages-"
|
134
|
+
{% endhighlight %}
|
135
|
+
|
136
|
+
You want to ensure the Travis builds for your site are being run only on
|
137
|
+
the branch or branches which contain your site. One means of ensuring this
|
138
|
+
isolation is including a branch whitelist in your Travis configuration
|
139
|
+
file. By specifying the `gh-pages` branch, you will ensure the associated
|
140
|
+
test script (discussed above) is only executed on site branches. If you use
|
141
|
+
a pull request flow for proposing changes, you may wish to enforce a
|
142
|
+
convention for your builds such that all branches containing edits are
|
143
|
+
prefixed, exemplified above with the `/pages-(.*)/` regular expression.
|
144
|
+
|
145
|
+
The `branches` directive is completely optional.
|
146
|
+
|
147
|
+
{% highlight yaml %}
|
148
|
+
env:
|
149
|
+
global:
|
150
|
+
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
|
151
|
+
{% endhighlight %}
|
152
|
+
|
153
|
+
Using `html-proofer`? You'll want this environment variable. Nokogiri, used
|
154
|
+
to parse HTML files in your compiled site, comes bundled with libraries
|
155
|
+
which it must compile each time it is installed. Luckily, you can
|
156
|
+
dramatically increase the install time of Nokogiri by setting the
|
157
|
+
environment variable `NOKOGIRI_USE_SYSTEM_LIBRARIES` to `true`.
|
158
|
+
|
159
|
+
## 4. Gotchas
|
160
|
+
|
161
|
+
### Exclude `vendor`
|
162
|
+
|
163
|
+
Travis bundles all gems in the `vendor` directory on its build servers,
|
164
|
+
which Jekyll will mistakenly read and explode on. To avoid this, exclude
|
165
|
+
`vendor` in your `_config.yml`:
|
166
|
+
|
167
|
+
{% highlight yaml %}
|
168
|
+
exclude: [vendor]
|
169
|
+
{% endhighlight %}
|
170
|
+
|
171
|
+
### Questions?
|
172
|
+
|
173
|
+
This entire guide is open-source. Go ahead and [edit it][3] if you have a
|
174
|
+
fix or [ask for help][4] if you run into trouble and need some help.
|
175
|
+
|
176
|
+
[3]: https://github.com/jekyll/jekyll/edit/master/site/docs/continuous-integration.md
|
177
|
+
[4]: https://github.com/jekyll/jekyll-help#how-do-i-ask-a-question
|
data/site/docs/contributing.md
CHANGED
@@ -11,8 +11,8 @@ following in mind:
|
|
11
11
|
|
12
12
|
* If you're creating a small fix or patch to an existing feature, just a simple
|
13
13
|
test will do. Please stay in the confines of the current test suite and use
|
14
|
-
[Shoulda](
|
15
|
-
[RR](
|
14
|
+
[Shoulda](https://github.com/thoughtbot/shoulda/tree/master) and
|
15
|
+
[RR](https://github.com/btakita/rr/tree/master).
|
16
16
|
* If it's a brand new feature, make sure to create a new
|
17
17
|
[Cucumber](https://github.com/cucumber/cucumber/) feature and reuse steps
|
18
18
|
where appropriate. Also, whipping up some documentation in your fork's `site`
|
data/site/docs/datafiles.md
CHANGED
@@ -8,9 +8,9 @@ permalink: /docs/datafiles/
|
|
8
8
|
|
9
9
|
In addition to the [built-in variables](../variables/) available from Jekyll,
|
10
10
|
you can specify your own custom data that can be accessed via the [Liquid
|
11
|
-
templating system](
|
11
|
+
templating system](https://wiki.github.com/shopify/liquid/liquid-for-designers).
|
12
12
|
|
13
|
-
Jekyll supports loading data from [YAML](http://yaml.org/) files located in the
|
13
|
+
Jekyll supports loading data from [YAML](http://yaml.org/) and [JSON](http://www.json.org/) files located in the
|
14
14
|
`_data` directory.
|
15
15
|
|
16
16
|
This powerful feature allows you to avoid repetition in your templates and to
|
@@ -22,7 +22,7 @@ Plugins/themes can also leverage Data Files to set configuration variables.
|
|
22
22
|
|
23
23
|
As explained on the [directory structure](../structure/) page, the `_data`
|
24
24
|
folder is where you can store additional data for Jekyll to use when generating
|
25
|
-
your site. These files must be YAML files (using either the `.yml` or `.
|
25
|
+
your site. These files must be YAML files (using either the `.yml`, `.yaml` or `.json`
|
26
26
|
extension) and they will be accessible via `site.data`.
|
27
27
|
|
28
28
|
## Example: List of members
|
@@ -61,3 +61,47 @@ You can now render the list of members in a template:
|
|
61
61
|
</ul>
|
62
62
|
{% endraw %}
|
63
63
|
{% endhighlight %}
|
64
|
+
|
65
|
+
## Example: Organizations
|
66
|
+
|
67
|
+
Data files can also be placed in sub-folders of the `_data` folder. Each folder level will be added to a variable's namespace. The example bellow shows how GitHub organizations could be defined separately in a file under the `orgs` folder:
|
68
|
+
|
69
|
+
In `_data/orgs/jekyll.yml`:
|
70
|
+
|
71
|
+
{% highlight yaml %}
|
72
|
+
username: jekyll
|
73
|
+
name: Jekyll
|
74
|
+
members:
|
75
|
+
- name: Tom Preston-Werner
|
76
|
+
github: mojombo
|
77
|
+
|
78
|
+
- name: Parker Moore
|
79
|
+
github: parkr
|
80
|
+
{% endhighlight %}
|
81
|
+
|
82
|
+
In `_data/orgs/doeorg.yml`:
|
83
|
+
|
84
|
+
{% highlight yaml %}
|
85
|
+
username: doeorg
|
86
|
+
name: Doe Org
|
87
|
+
members:
|
88
|
+
- name: John Doe
|
89
|
+
github: jdoe
|
90
|
+
{% endhighlight %}
|
91
|
+
|
92
|
+
The organizations can then be accessed via `site.data.orgs`, followed by the file name:
|
93
|
+
|
94
|
+
{% highlight html %}
|
95
|
+
{% raw %}
|
96
|
+
<ul>
|
97
|
+
{% for org in site.data.orgs %}
|
98
|
+
<li>
|
99
|
+
<a href="https://github.com/{{ org.username }}">
|
100
|
+
{{ org.name }}
|
101
|
+
</a>
|
102
|
+
({{ org.members | size }} members)
|
103
|
+
</li>
|
104
|
+
{% endfor %}
|
105
|
+
</ul>
|
106
|
+
{% endraw %}
|
107
|
+
{% endhighlight %}
|
@@ -80,19 +80,19 @@ Another way to deploy your Jekyll site is to use [Rake](https://github.com/jimwe
|
|
80
80
|
|
81
81
|
### rsync
|
82
82
|
|
83
|
-
Once you’ve generated the `_site` directory, you can easily rsync it using a `tasks/deploy` shell script similar to [this deploy script here](
|
83
|
+
Once you’ve generated the `_site` directory, you can easily rsync it using a `tasks/deploy` shell script similar to [this deploy script here](https://github.com/henrik/henrik.nyh.se/blob/master/tasks/deploy). You’d obviously need to change the values to reflect your site’s details. There is even [a matching TextMate command](http://gist.github.com/214959) that will help you run
|
84
84
|
this script from within Textmate.
|
85
85
|
|
86
86
|
|
87
87
|
## Rack-Jekyll
|
88
88
|
|
89
|
-
[Rack-Jekyll](
|
89
|
+
[Rack-Jekyll](https://github.com/adaoraul/rack-jekyll/) is an easy way to deploy your site on any Rack server such as Amazon EC2, Slicehost, Heroku, and so forth. It also can run with [shotgun](https://github.com/rtomakyo/shotgun/), [rackup](https://github.com/rack/rack), [mongrel](https://github.com/mongrel/mongrel), [unicorn](https://github.com/defunkt/unicorn/), and [others](https://github.com/adaoraul/rack-jekyll#readme).
|
90
90
|
|
91
91
|
Read [this post](http://blog.crowdint.com/2010/08/02/instant-blog-using-jekyll-and-heroku.html) on how to deploy to Heroku using Rack-Jekyll.
|
92
92
|
|
93
93
|
## Jekyll-Admin for Rails
|
94
94
|
|
95
|
-
If you want to maintain Jekyll inside your existing Rails app, [Jekyll-Admin](
|
95
|
+
If you want to maintain Jekyll inside your existing Rails app, [Jekyll-Admin](https://github.com/zkarpinski/Jekyll-Admin) contains drop in code to make this possible. See Jekyll-Admin’s [README](https://github.com/zkarpinski/Jekyll-Admin/blob/master/README) for more details.
|
96
96
|
|
97
97
|
## Amazon S3
|
98
98
|
|
data/site/docs/extras.md
CHANGED
@@ -12,9 +12,7 @@ may want to install, depending on how you plan to use Jekyll.
|
|
12
12
|
## LaTeX Support
|
13
13
|
|
14
14
|
Maruku comes with optional support for LaTeX to PNG rendering via blahtex
|
15
|
-
(Version 0.6) which must be in your `$PATH` along with `dvips`.
|
16
|
-
Maruku to not assume a fixed location for `dvips`, check out [Remi’s Maruku
|
17
|
-
fork](http://github.com/remi/maruku).
|
15
|
+
(Version 0.6) which must be in your `$PATH` along with `dvips`.
|
18
16
|
|
19
17
|
## Alternative Markdown Processors
|
20
18
|
|
@@ -23,8 +21,8 @@ of the other three pre-defined markdown parsers or define your own.
|
|
23
21
|
|
24
22
|
### RDiscount
|
25
23
|
|
26
|
-
If you prefer to use [RDiscount](
|
27
|
-
of [Maruku](
|
24
|
+
If you prefer to use [RDiscount](https://github.com/rtomayko/rdiscount) instead
|
25
|
+
of [Maruku](https://github.com/bhollis/maruku) for Markdown, just make sure you have
|
28
26
|
it installed:
|
29
27
|
|
30
28
|
{% highlight bash %}
|