jekyll 1.5.1 → 2.0.0.alpha.1
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/CONTRIBUTING.markdown +6 -6
- data/History.markdown +99 -23
- data/README.markdown +7 -3
- data/Rakefile +5 -5
- data/bin/jekyll +101 -116
- data/features/embed_filters.feature +13 -0
- data/features/include_tag.feature +11 -0
- data/features/markdown.feature +3 -3
- data/features/site_configuration.feature +34 -3
- data/features/step_definitions/jekyll_steps.rb +47 -34
- data/features/support/env.rb +25 -28
- data/jekyll.gemspec +38 -18
- data/lib/jekyll.rb +7 -15
- data/lib/jekyll/commands/build.rb +2 -0
- data/lib/jekyll/commands/serve.rb +11 -1
- data/lib/jekyll/configuration.rb +22 -6
- data/lib/jekyll/converter.rb +16 -16
- data/lib/jekyll/converters/markdown.rb +30 -15
- data/lib/jekyll/converters/markdown/maruku_parser.rb +4 -5
- data/lib/jekyll/converters/markdown/redcarpet_parser.rb +34 -3
- data/lib/jekyll/converters/sass.rb +58 -0
- data/lib/jekyll/converters/textile.rb +2 -2
- data/lib/jekyll/convertible.rb +25 -6
- data/lib/jekyll/core_ext.rb +0 -35
- data/lib/jekyll/deprecator.rb +2 -2
- data/lib/jekyll/entry_filter.rb +61 -25
- data/lib/jekyll/excerpt.rb +8 -6
- data/lib/jekyll/filters.rb +46 -2
- data/lib/jekyll/layout_reader.rb +40 -0
- data/lib/jekyll/mime.types +19 -9
- data/lib/jekyll/page.rb +6 -4
- data/lib/jekyll/post.rb +11 -18
- data/lib/jekyll/site.rb +34 -32
- data/lib/jekyll/tags/highlight.rb +26 -4
- data/lib/jekyll/tags/include.rb +29 -17
- data/lib/jekyll/tags/post_url.rb +10 -1
- data/lib/jekyll/url.rb +0 -2
- data/lib/site_template/_config.yml +1 -1
- data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +1 -1
- data/lib/site_template/css/main.css +8 -1
- data/script/bootstrap +2 -0
- data/script/branding +11 -0
- data/script/cibuild +5 -0
- data/script/rebund +140 -0
- data/site/_config.yml +2 -2
- data/site/_data/docs.yml +44 -0
- data/site/{css → _includes/css}/gridism.css +0 -0
- data/site/_includes/css/normalize.css +1 -0
- data/site/{css → _includes/css}/pygments.css +2 -0
- data/site/{css → _includes/css}/style.css +10 -0
- data/site/_includes/docs_contents.html +4 -12
- data/site/_includes/docs_contents_mobile.html +4 -17
- data/site/_includes/docs_option.html +1 -1
- data/site/_includes/docs_ul.html +2 -2
- data/site/_includes/footer.html +1 -1
- data/site/_includes/top.html +1 -4
- data/site/_layouts/news_item.html +2 -2
- data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +4 -4
- data/site/_posts/2013-09-14-jekyll-1-2-1-released.markdown +1 -1
- data/site/_posts/2013-10-28-jekyll-1-3-0-rc1-released.markdown +1 -1
- data/site/_posts/2013-12-09-jekyll-1-4-1-released.markdown +20 -0
- data/site/_posts/2014-01-13-jekyll-1-4-3-released.markdown +1 -2
- data/site/css/screen.css +27 -0
- data/site/docs/assets.md +46 -0
- data/site/docs/configuration.md +18 -4
- data/site/docs/contributing.md +2 -2
- data/site/docs/datafiles.md +6 -6
- data/site/docs/deployment-methods.md +5 -0
- data/site/docs/extras.md +38 -2
- data/site/docs/frontmatter.md +2 -1
- data/site/docs/history.md +0 -22
- data/site/docs/installation.md +7 -7
- data/site/docs/migrations.md +1 -1
- data/site/docs/plugins.md +11 -2
- data/site/docs/posts.md +25 -4
- data/site/docs/sites.md +1 -1
- data/site/docs/structure.md +1 -1
- data/site/docs/templates.md +13 -8
- data/site/docs/troubleshooting.md +8 -5
- data/site/docs/usage.md +11 -0
- data/site/docs/variables.md +18 -0
- data/site/docs/windows.md +44 -0
- data/test/helper.rb +5 -8
- data/test/source/_includes/include.html +1 -0
- data/test/source/_includes/sig.markdown +2 -2
- data/test/source/_posts/2013-12-17-include-variable-filters.markdown +21 -0
- data/test/source/_posts/2013-12-20-properties.text +11 -0
- data/test/source/_sass/_grid.scss +1 -0
- data/test/source/css/main.scss +4 -0
- data/test/source/js/coffeescript.coffee +10 -0
- data/test/source/properties.html +8 -0
- data/test/source/unpublished.html +7 -0
- data/test/test_coffeescript.rb +49 -0
- data/test/test_configuration.rb +29 -18
- data/test/test_convertible.rb +7 -9
- data/test/test_core_ext.rb +0 -22
- data/test/test_entry_filter.rb +36 -2
- data/test/test_excerpt.rb +43 -1
- data/test/test_filters.rb +44 -5
- data/test/test_generated_site.rb +5 -1
- data/test/test_layout_reader.rb +17 -0
- data/test/test_page.rb +28 -10
- data/test/test_post.rb +32 -15
- data/test/test_redcarpet.rb +19 -3
- data/test/test_sass.rb +122 -0
- data/test/test_site.rb +56 -7
- data/test/test_tags.rb +102 -51
- metadata +154 -80
- data/site/_posts/2014-03-24-jekyll-1-5-0-released.markdown +0 -19
- data/site/_posts/2014-03-27-jekyll-1-5-1-released.markdown +0 -26
- data/site/css/normalize.css +0 -1
- data/test/source/_posts/2014-01-06-permalink-traversal.md +0 -5
- data/test/source/exploit.md +0 -5
- data/test/test_path_sanitization.rb +0 -18
data/site/css/screen.css
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
---
|
2
|
+
---
|
3
|
+
|
4
|
+
{% capture screen %}
|
5
|
+
/* *\
|
6
|
+
* $normalize.css *
|
7
|
+
\* */
|
8
|
+
{% include css/normalize.css %}
|
9
|
+
/* *\
|
10
|
+
* $gridism.css *
|
11
|
+
\* */
|
12
|
+
{% include css/gridism.css %}
|
13
|
+
/* *\
|
14
|
+
* $style.css *
|
15
|
+
\* */
|
16
|
+
{% include css/style.css %}
|
17
|
+
/* *\
|
18
|
+
* $pygments.css *
|
19
|
+
\* */
|
20
|
+
{% include css/pygments.css %}
|
21
|
+
{% endcapture %}
|
22
|
+
|
23
|
+
{% if site.GH_ENV %}
|
24
|
+
{{ screen | strip_newlines | remove: ' ' }}
|
25
|
+
{% else %}
|
26
|
+
{{ screen }}
|
27
|
+
{% endif %}
|
data/site/docs/assets.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
layout: docs
|
3
|
+
title: Assets
|
4
|
+
prev_section: datafiles
|
5
|
+
next_section: migrations
|
6
|
+
permalink: /docs/assets/
|
7
|
+
---
|
8
|
+
|
9
|
+
Jekyll provides built-in support for Sass and CoffeeScript. In order to use
|
10
|
+
them, create a file with the proper extension name (one of `.sass`, `.scss`,
|
11
|
+
or `.coffee`) and start the file with two lines of triple dashes, like this:
|
12
|
+
|
13
|
+
{% highlight sass %}
|
14
|
+
---
|
15
|
+
---
|
16
|
+
|
17
|
+
// start content
|
18
|
+
.my-definition
|
19
|
+
font-size: 1.2em
|
20
|
+
{% endhighlight %}
|
21
|
+
|
22
|
+
## Sass/SCSS
|
23
|
+
|
24
|
+
Jekyll allows you to customize your Sass conversion in certain ways.
|
25
|
+
|
26
|
+
If you are using Sass `@import` statements, you'll need to ensure that your
|
27
|
+
`sass_dir` is set to the base directory that contains your Sass files. You
|
28
|
+
can do that thusly:
|
29
|
+
|
30
|
+
{% highlight yaml %}
|
31
|
+
sass:
|
32
|
+
sass_dir: _sass
|
33
|
+
{% endhighlight %}
|
34
|
+
|
35
|
+
The Sass converter will default to `_sass`.
|
36
|
+
|
37
|
+
You may also specify the output style with the `style` option in your
|
38
|
+
`_config.yml` file:
|
39
|
+
|
40
|
+
{% highlight yaml %}
|
41
|
+
sass:
|
42
|
+
style: :compressed
|
43
|
+
{% endhighlight %}
|
44
|
+
|
45
|
+
These are passed to Sass, so any output style options Sass supports are valid
|
46
|
+
here, too.
|
data/site/docs/configuration.md
CHANGED
@@ -64,7 +64,11 @@ class="flag">flags</code> (specified on the command-line) that control them.
|
|
64
64
|
<tr class='setting'>
|
65
65
|
<td>
|
66
66
|
<p class='name'><strong>Exclude</strong></p>
|
67
|
-
<p class="description">
|
67
|
+
<p class="description">
|
68
|
+
Exclude directories and/or files from the
|
69
|
+
conversion. These exclusions are relative to the site's
|
70
|
+
source directory and cannot be outside the source directory.
|
71
|
+
</p>
|
68
72
|
</td>
|
69
73
|
<td class='align-center'>
|
70
74
|
<p><code class="option">exclude: [DIR, FILE, ...]</code></p>
|
@@ -288,14 +292,15 @@ encoding: nil
|
|
288
292
|
future: true
|
289
293
|
show_drafts: nil
|
290
294
|
limit_posts: 0
|
291
|
-
pygments
|
295
|
+
highlighter: pygments
|
292
296
|
|
293
297
|
relative_permalinks: true
|
294
298
|
|
295
299
|
permalink: date
|
296
300
|
paginate_path: 'page:num'
|
301
|
+
paginate: nil
|
297
302
|
|
298
|
-
markdown:
|
303
|
+
markdown: kramdown
|
299
304
|
markdown_ext: markdown,mkd,mkdn,md
|
300
305
|
textile_ext: textile
|
301
306
|
|
@@ -363,7 +368,7 @@ Jekyll handles two special Redcarpet extensions:
|
|
363
368
|
# ...ruby code
|
364
369
|
```
|
365
370
|
|
366
|
-
With both fenced code blocks and
|
371
|
+
With both fenced code blocks and highlighter enabled, this will statically highlight the code; without any syntax highlighter, it will add a `class="LANGUAGE"` attribute to the `<code>` element, which can be used as a hint by various JavaScript code highlighting libraries.
|
367
372
|
- `smart` --- This pseudo-extension turns on SmartyPants, which converts straight quotes to curly quotes and runs of hyphens to em (`---`) and en (`--`) dashes.
|
368
373
|
|
369
374
|
All other extensions retain their usual names from Redcarpet, and no renderer options aside from `smart` can be specified in Jekyll. [A list of available extensions can be found in the Redcarpet README file.][redcarpet_extensions] Make sure you're looking at the README for the right version of Redcarpet: Jekyll currently uses v2.2.x, and extensions like `footnotes` and `highlight` weren't added until after version 3.0.0. The most commonly used extensions are:
|
@@ -373,3 +378,12 @@ All other extensions retain their usual names from Redcarpet, and no renderer op
|
|
373
378
|
- `autolink`
|
374
379
|
|
375
380
|
[redcarpet_extensions]: https://github.com/vmg/redcarpet/blob/v2.2.2/README.markdown#and-its-like-really-simple-to-use
|
381
|
+
|
382
|
+
### Kramdown
|
383
|
+
|
384
|
+
In addition to the defaults mentioned above, you can also turn on recognition of Github Flavored Markdown by passing an `input` option with a value of "GFM".
|
385
|
+
|
386
|
+
For example, in your `_config.yml`:
|
387
|
+
|
388
|
+
kramdown:
|
389
|
+
input: GFM
|
data/site/docs/contributing.md
CHANGED
@@ -85,7 +85,7 @@ git checkout -b my_awesome_feature
|
|
85
85
|
git push origin my_awesome_feature
|
86
86
|
{% endhighlight %}
|
87
87
|
|
88
|
-
* Create a pull request against
|
88
|
+
* Create a pull request against jekyll/jekyll:master and describe what your
|
89
89
|
change does and the why you think it should be merged.
|
90
90
|
|
91
91
|
Updating Documentation
|
@@ -111,7 +111,7 @@ Gotchas
|
|
111
111
|
|
112
112
|
* If you want to bump the gem version, please put that in a separate commit.
|
113
113
|
This way, the maintainers can control when the gem gets released.
|
114
|
-
* Try to keep your patch(es) based from the latest commit on
|
114
|
+
* Try to keep your patch(es) based from the latest commit on jekyll/jekyll.
|
115
115
|
The easier it is to apply your work, the less work the maintainers have to do,
|
116
116
|
which is always a good thing.
|
117
117
|
* Please don't tag your GitHub issue with \[fix\], \[feature\], etc. The maintainers
|
data/site/docs/datafiles.md
CHANGED
@@ -2,25 +2,25 @@
|
|
2
2
|
layout: docs
|
3
3
|
title: Data Files
|
4
4
|
prev_section: variables
|
5
|
-
next_section:
|
5
|
+
next_section: assets
|
6
6
|
permalink: /docs/datafiles/
|
7
7
|
---
|
8
8
|
|
9
9
|
In addition to the [built-in variables](../variables/) available from Jekyll,
|
10
|
-
you can specify your own custom data that can be accessed via the [Liquid
|
10
|
+
you can specify your own custom data that can be accessed via the [Liquid
|
11
11
|
templating system](http://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/) files located in the
|
14
14
|
`_data` directory.
|
15
15
|
|
16
|
-
This powerful
|
17
|
-
set site specific options without changing `_config.yml`.
|
16
|
+
This powerful feature allows you to avoid repetition in your templates and to
|
17
|
+
set site specific options without changing `_config.yml`.
|
18
18
|
|
19
19
|
Plugins/themes can also leverage Data Files to set configuration variables.
|
20
20
|
|
21
21
|
## The Data Folder
|
22
22
|
|
23
|
-
As explained on the [directory structure](../structure/) page, the `_data`
|
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
25
|
your site. These files must be YAML files (using either the `.yml` or `.yaml`
|
26
26
|
extension) and they will be accessible via `site.data`.
|
@@ -103,6 +103,11 @@ dynamically scaling to almost unlimited traffic. This approach has the
|
|
103
103
|
benefit of being about the cheapest hosting option available for
|
104
104
|
low-volume blogs as you only pay for what you use.
|
105
105
|
|
106
|
+
## OpenShift
|
107
|
+
|
108
|
+
If you'd like to deploy your site to an OpenShift gear, there's [a cartridge
|
109
|
+
for that](https://github.com/openshift-cartridges/openshift-jekyll-cartridge).
|
110
|
+
|
106
111
|
<div class="note">
|
107
112
|
<h5>ProTip™: Use GitHub Pages for zero-hassle Jekyll hosting</h5>
|
108
113
|
<p>GitHub Pages are powered by Jekyll behind the scenes, so if you’re looking for a zero-hassle, zero-cost solution, GitHub Pages are a great way to <a href="../github-pages/">host your Jekyll-powered website for free</a>.</p>
|
data/site/docs/extras.md
CHANGED
@@ -16,7 +16,12 @@ Maruku comes with optional support for LaTeX to PNG rendering via blahtex
|
|
16
16
|
Maruku to not assume a fixed location for `dvips`, check out [Remi’s Maruku
|
17
17
|
fork](http://github.com/remi/maruku).
|
18
18
|
|
19
|
-
##
|
19
|
+
## Alternative Markdown Processors
|
20
|
+
|
21
|
+
While Jekyll defaults to using Maruku for Markdown conversion, you may use one
|
22
|
+
of the other three pre-defined markdown parsers or define your own.
|
23
|
+
|
24
|
+
### RDiscount
|
20
25
|
|
21
26
|
If you prefer to use [RDiscount](http://github.com/rtomayko/rdiscount) instead
|
22
27
|
of [Maruku](http://github.com/bhollis/maruku) for Markdown, just make sure you have
|
@@ -34,7 +39,7 @@ have Jekyll run with that option.
|
|
34
39
|
markdown: rdiscount
|
35
40
|
{% endhighlight %}
|
36
41
|
|
37
|
-
|
42
|
+
### Kramdown
|
38
43
|
|
39
44
|
You can also use [Kramdown](http://kramdown.rubyforge.org/) instead of Maruku
|
40
45
|
for Markdown. Make sure that Kramdown is installed:
|
@@ -54,3 +59,34 @@ Kramdown has various options for customizing the HTML output. The
|
|
54
59
|
[Configuration](/docs/configuration/) page lists the default options used by
|
55
60
|
Jekyll. A complete list of options is also available on the [Kramdown
|
56
61
|
website](http://kramdown.rubyforge.org/options.html).
|
62
|
+
|
63
|
+
### User-Defined
|
64
|
+
|
65
|
+
So, you're totally at odds with our four built-in markdown parsers, eh? No
|
66
|
+
sweat. You can define one as a plugin:
|
67
|
+
|
68
|
+
{% highlight ruby %}
|
69
|
+
require 'jekyll'
|
70
|
+
require 'some_renderer'
|
71
|
+
|
72
|
+
class Jekyll::Converters::Markdown::MyCustomParser
|
73
|
+
def initialize(config)
|
74
|
+
@site_config = config
|
75
|
+
end
|
76
|
+
|
77
|
+
def convert(content)
|
78
|
+
# (this _must_ return the resulting String after the rendering)
|
79
|
+
SomeRenderer.new(@site_config).to_html(content)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
{% endhighlight %}
|
83
|
+
|
84
|
+
Once you've got that setup, ask Jekyll to use your custom markdown parser in
|
85
|
+
your `_config.yml` file:
|
86
|
+
|
87
|
+
{% highlight yaml %}
|
88
|
+
markdown: MyCustomParser
|
89
|
+
{% endhighlight %}
|
90
|
+
|
91
|
+
(Note that this **is case-sensitive**, and is only the piece after
|
92
|
+
`Jekyll::Converters::Markdown`.) And there you are!
|
data/site/docs/frontmatter.md
CHANGED
@@ -30,7 +30,8 @@ relies on.
|
|
30
30
|
<p>
|
31
31
|
If you use UTF-8 encoding, make sure that no <code>BOM</code> header
|
32
32
|
characters exist in your files or very, very bad things will happen to
|
33
|
-
Jekyll. This is especially relevant if you’re running
|
33
|
+
Jekyll. This is especially relevant if you’re running
|
34
|
+
<a href="../windows/">Jekyll on Windows</a>.
|
34
35
|
</p>
|
35
36
|
</div>
|
36
37
|
|
data/site/docs/history.md
CHANGED
@@ -5,28 +5,6 @@ permalink: "/docs/history/"
|
|
5
5
|
prev_section: contributing
|
6
6
|
---
|
7
7
|
|
8
|
-
## 1.5.0 / 2014-03-24
|
9
|
-
|
10
|
-
### Minor Enhancements
|
11
|
-
|
12
|
-
- Loosen `safe_yaml` dependency to `~> 1.0` ([#2167]({{ site.repository }}/issues/2167))
|
13
|
-
- Bump `safe_yaml` dependency to `~> 1.0.0` ([#1942]({{ site.repository }}/issues/1942))
|
14
|
-
|
15
|
-
### Bug Fixes
|
16
|
-
|
17
|
-
- Fix issue where filesystem traversal restriction broke Windows ([#2167]({{ site.repository }}/issues/2167))
|
18
|
-
- Lock `maruku` at `0.7.0` ([#2167]({{ site.repository }}/issues/2167))
|
19
|
-
|
20
|
-
### Development Fixes
|
21
|
-
|
22
|
-
- Lock `cucmber` at `1.3.11` ([#2167]({{ site.repository }}/issues/2167))
|
23
|
-
|
24
|
-
## 1.4.3 / 2014-01-13
|
25
|
-
|
26
|
-
### Bug Fixes
|
27
|
-
|
28
|
-
- Patch show-stopping security vulnerabilities ([#1944]({{ site.repository }}/issues/1944))
|
29
|
-
|
30
8
|
## 1.4.2 / 2013-12-16
|
31
9
|
|
32
10
|
### Bug Fixes
|
data/site/docs/installation.md
CHANGED
@@ -23,10 +23,9 @@ you’ll need to make sure your system has before you start.
|
|
23
23
|
<div class="note info">
|
24
24
|
<h5>Running Jekyll on Windows</h5>
|
25
25
|
<p>
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
support installation on Windows platforms.
|
26
|
+
While Windows is not officially supported, it is possible to get it running
|
27
|
+
on Windows. Special instructions can be found on our
|
28
|
+
<a href="../windows/#installation">Windows-specific docs page</a>.
|
30
29
|
</p>
|
31
30
|
</div>
|
32
31
|
|
@@ -67,9 +66,10 @@ Check out [the extras page](../extras/) for more information.
|
|
67
66
|
<h5>ProTip™: Enable Syntax Highlighting</h5>
|
68
67
|
<p>
|
69
68
|
If you’re the kind of person who is using Jekyll, then chances are you’ll
|
70
|
-
want to enable syntax highlighting using Pygments
|
71
|
-
<a href="
|
72
|
-
|
69
|
+
want to enable syntax highlighting using <a href="http://pygments.org/">Pygments</a>
|
70
|
+
or <a href="https://github.com/jayferd/rouge">Rouge</a>. You should really
|
71
|
+
<a href="../templates/#code_snippet_highlighting">check out how to
|
72
|
+
do that</a> before you go any farther.
|
73
73
|
</p>
|
74
74
|
</div>
|
75
75
|
|
data/site/docs/migrations.md
CHANGED
data/site/docs/plugins.md
CHANGED
@@ -339,9 +339,9 @@ Liquid::Template.register_filter(Jekyll::AssetFilter)
|
|
339
339
|
<h5>ProTip™: Access the site object using Liquid</h5>
|
340
340
|
<p>
|
341
341
|
Jekyll lets you access the <code>site</code> object through the
|
342
|
-
<code>context.registers</code> feature of Liquid. For example, you can
|
342
|
+
<code>context.registers</code> feature of Liquid at <code>context.registers[:site]</code>. For example, you can
|
343
343
|
access the global configuration file <code>_config.yml</code> using
|
344
|
-
<code>context.registers.config</code>.
|
344
|
+
<code>context.registers[:site].config</code>.
|
345
345
|
</p>
|
346
346
|
</div>
|
347
347
|
|
@@ -422,6 +422,7 @@ You can find a few useful plugins at the following locations:
|
|
422
422
|
- [Monthly archive generator by Shigeya Suzuki](https://github.com/shigeya/jekyll-monthly-archive-plugin): Generator and template which renders monthly archive like MovableType style, based on the work by Ilkka Laukkanen and others above.
|
423
423
|
- [Category archive generator by Shigeya Suzuki](https://github.com/shigeya/jekyll-category-archive-plugin): Generator and template which renders category archive like MovableType style, based on Monthly archive generator.
|
424
424
|
- [Emoji for Jekyll](https://github.com/yihangho/emoji-for-jekyll): Seamlessly enable emoji for all posts and pages.
|
425
|
+
- [Compass integration for Jekyll](https://github.com/mscharley/jekyll-compass): Easily integrate Compass and Sass with your Jekyll website.
|
425
426
|
|
426
427
|
#### Converters
|
427
428
|
|
@@ -456,6 +457,7 @@ You can find a few useful plugins at the following locations:
|
|
456
457
|
- [pluralize](https://github.com/bdesham/pluralize): Easily combine a number and a word into a gramatically-correct amount like “1 minute” or “2 minute**s**”.
|
457
458
|
- [reading_time](https://github.com/bdesham/reading_time): Count words and estimate reading time for a piece of text, ignoring HTML elements that are unlikely to contain running text.
|
458
459
|
- [Table of Content Generator](https://github.com/dafi/jekyll-toc-generator): Generate the HTML code containing a table of content (TOC), the TOC can be customized in many way, for example you can decide which pages can be without TOC.
|
460
|
+
- [jekyll-humanize](https://github.com/23maverick23/jekyll-humanize): This is a port of the Django app humanize which adds a "human touch" to data. Each method represents a Fluid type filter that can be used in your Jekyll site templates. Given that Jekyll produces static sites, some of the original methods do not make logical sense to port (e.g. naturaltime).
|
459
461
|
|
460
462
|
#### Tags
|
461
463
|
|
@@ -495,6 +497,7 @@ You can find a few useful plugins at the following locations:
|
|
495
497
|
- [Jekyll Date Chart](https://github.com/GSI/jekyll_date_chart) by [GSI](https://github.com/GSI): Block that renders date line charts based on textile-formatted tables.
|
496
498
|
- [Jekyll Image Encode](https://github.com/GSI/jekyll_image_encode) by [GSI](https://github.com/GSI): Tag that renders base64 codes of images fetched from the web.
|
497
499
|
- [Jekyll Quick Man](https://github.com/GSI/jekyll_quick_man) by [GSI](https://github.com/GSI): Tag that renders pretty links to man page sources on the internet.
|
500
|
+
- [jekyll-font-awesome](https://gist.github.com/23maverick23/8532525): Quickly and easily add Font Awesome icons to your posts.
|
498
501
|
|
499
502
|
#### Collections
|
500
503
|
|
@@ -524,6 +527,12 @@ You can find a few useful plugins at the following locations:
|
|
524
527
|
- [grunt-jekyll](https://github.com/dannygarcia/grunt-jekyll): A straightforward [Grunt](http://gruntjs.com/) plugin for Jekyll.
|
525
528
|
- [jekyll-postfiles](https://github.com/indirect/jekyll-postfiles): Add `_postfiles` directory and {% raw %}`{{ postfile }}`{% endraw %} tag so the files a post refers to will always be right there inside your repo.
|
526
529
|
|
530
|
+
#### Editors
|
531
|
+
|
532
|
+
- [sublime-jekyll](https://github.com/23maverick23/sublime-jekyll): A Sublime Text package for Jekyll static sites. This package should help creating Jekyll sites and posts easier by providing access to key template tags and filters, as well as common completions and a current date/datetime command (for dating posts). You can install this package manually via GitHub, or via [Package Control](https://sublime.wbond.net/packages/Jekyll).
|
533
|
+
- [vim-jekyll](https://github.com/parkr/vim-jekyll): A vim plugin to generate
|
534
|
+
new posts and run `jekyll build` all without leaving vim.
|
535
|
+
|
527
536
|
<div class="note info">
|
528
537
|
<h5>Jekyll Plugins Wanted</h5>
|
529
538
|
<p>
|
data/site/docs/posts.md
CHANGED
@@ -43,7 +43,7 @@ file. For example, the following are examples of valid post filenames:
|
|
43
43
|
|
44
44
|
### Content Formats
|
45
45
|
|
46
|
-
All blog post files must begin with [YAML front-
|
46
|
+
All blog post files must begin with [YAML front-matter](../frontmatter/). After
|
47
47
|
that, it's simply a matter of deciding which format you prefer. Jekyll supports
|
48
48
|
two popular content markup formats:
|
49
49
|
[Markdown](http://daringfireball.net/projects/markdown/) and
|
@@ -52,6 +52,18 @@ of marking up different types of content within a post, so you should
|
|
52
52
|
familiarize yourself with these formats and decide which one best suits your
|
53
53
|
needs.
|
54
54
|
|
55
|
+
<div class="note info">
|
56
|
+
<h5>Be aware of character sets</h5>
|
57
|
+
<p>
|
58
|
+
Content processors can modify certain characters to make them look nicer.
|
59
|
+
For example, the <code>smart</code> extension in Redcarpet converts standard,
|
60
|
+
ASCII quotation characters to curly, Unicode ones. In order for the browser
|
61
|
+
to display those characters properly, define the charset meta value by
|
62
|
+
including <code><meta charset="utf-8"></code> in the
|
63
|
+
<code><head></code> of your layout.
|
64
|
+
</p>
|
65
|
+
</div>
|
66
|
+
|
55
67
|
## Including images and resources
|
56
68
|
|
57
69
|
Chances are, at some point, you'll want to include images, downloads, or other
|
@@ -126,21 +138,30 @@ posts:
|
|
126
138
|
{% raw %}{% for post in site.posts %}{% endraw %}
|
127
139
|
<li>
|
128
140
|
<a href="{% raw %}{{ post.url }}{% endraw %}">{% raw %}{{ post.title }}{% endraw %}</a>
|
129
|
-
|
141
|
+
{% raw %}{{ post.excerpt }}{% endraw %}
|
130
142
|
</li>
|
131
143
|
{% raw %}{% endfor %}{% endraw %}
|
132
144
|
</ul>
|
133
145
|
{% endhighlight %}
|
134
146
|
|
147
|
+
Because Jekyll grabs the first paragraph you will not need to wrap the excerpt in `p` tags,
|
148
|
+
which is already done for you. These tags can be removed with the following if you'd prefer:
|
149
|
+
|
150
|
+
{% highlight html %}
|
151
|
+
{% raw %}{{ post.excerpt | remove: '<p>' | remove: '</p>' }}{% endraw %}
|
152
|
+
{% endhighlight %}
|
153
|
+
|
135
154
|
If you don't like the automatically-generated post excerpt, it can be overridden by adding
|
136
155
|
`excerpt` to your post's YAML front-matter. Completely disable it by setting
|
137
156
|
your `excerpt_separator` to `""`.
|
138
157
|
|
158
|
+
Also, as with any output generated by Liquid tags, you can pass the `| strip_html` flag to remove any html tags in the output. This is particularly helpful if you wish to output a post excerpt as a `meta="description"` tag within the post `head`, or anywhere else having html tags along with the content is not desirable.
|
159
|
+
|
139
160
|
## Highlighting code snippets
|
140
161
|
|
141
162
|
Jekyll also has built-in support for syntax highlighting of code snippets using
|
142
|
-
Pygments, and including a code snippet in any post is easy. Just
|
143
|
-
dedicated Liquid tag as follows:
|
163
|
+
either Pygments or Rouge, and including a code snippet in any post is easy. Just
|
164
|
+
use the dedicated Liquid tag as follows:
|
144
165
|
|
145
166
|
{% highlight text %}
|
146
167
|
{% raw %}{% highlight ruby %}{% endraw %}
|
data/site/docs/sites.md
CHANGED
@@ -11,7 +11,7 @@ with. Below are some Jekyll-powered blogs which were hand-picked for
|
|
11
11
|
learning purposes.
|
12
12
|
|
13
13
|
- [Tom Preston-Werner](http://tom.preston-werner.com/)
|
14
|
-
([source](
|
14
|
+
([source](https://github.com/mojombo/mojombo.github.io))
|
15
15
|
- [Nick Quaranto](http://quaran.to/)
|
16
16
|
([source](https://github.com/qrush/qrush.github.com))
|
17
17
|
- [Roger Chapman](http://rogchap.com/)
|
data/site/docs/structure.md
CHANGED
@@ -113,7 +113,7 @@ An overview of what each of these does:
|
|
113
113
|
<td>
|
114
114
|
<p>
|
115
115
|
|
116
|
-
Your dynamic content, so to speak. The
|
116
|
+
Your dynamic content, so to speak. The naming convention of these files is
|
117
117
|
important, and must follow the format:
|
118
118
|
<code>YEAR-MONTH-DAY-title.MARKUP</code>.
|
119
119
|
The <a href="../permalinks/">permalinks</a> can be customized for each
|