jekyll-docs 3.1.6 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-docs.rb +7 -13
- data/site/community/index.html +305 -0
- data/site/conduct/index.html +10 -0
- data/site/css/screen.css +1445 -0
- data/site/docs/assets/index.html +701 -0
- data/site/docs/collections/index.html +973 -0
- data/site/docs/conduct/index.html +718 -0
- data/site/docs/configuration/index.html +1337 -0
- data/site/docs/continuous-integration/index.html +846 -0
- data/site/docs/contributing/index.html +815 -0
- data/site/docs/datafiles/index.html +742 -0
- data/site/docs/deployment-methods/index.html +866 -0
- data/site/docs/drafts/index.html +615 -0
- data/site/docs/extras/index.html +656 -0
- data/site/docs/frontmatter/index.html +776 -0
- data/site/docs/github-pages/index.html +778 -0
- data/site/docs/history/index.html +3293 -0
- data/site/docs/home/index.html +627 -0
- data/site/docs/index.html +10 -0
- data/site/docs/installation/index.html +682 -0
- data/site/docs/migrations/index.html +627 -0
- data/site/docs/pages/index.html +698 -0
- data/site/docs/pagination/index.html +840 -0
- data/site/docs/permalinks/index.html +924 -0
- data/site/docs/plugins/index.html +1726 -0
- data/site/docs/posts/index.html +811 -0
- data/site/docs/quickstart/index.html +599 -0
- data/site/docs/resources/index.html +717 -0
- data/site/docs/sites/index.html +676 -0
- data/site/docs/static-files/index.html +655 -0
- data/site/docs/structure/index.html +794 -0
- data/site/docs/templates/index.html +1105 -0
- data/site/docs/themes/index.html +751 -0
- data/site/docs/troubleshooting/index.html +826 -0
- data/site/docs/upgrading/0-to-2/index.html +802 -0
- data/site/docs/upgrading/2-to-3/index.html +785 -0
- data/site/docs/upgrading/index.html +664 -0
- data/site/docs/usage/index.html +673 -0
- data/site/docs/variables/index.html +1013 -0
- data/site/docs/windows/index.html +775 -0
- data/site/feed.xml +222 -0
- data/site/github.html +10 -0
- data/site/help/index.html +246 -0
- data/site/img/article-footer.png +0 -0
- data/site/img/footer-logo.png +0 -0
- data/site/img/logo-2x.png +0 -0
- data/site/index.html +200 -16
- data/site/issues.html +10 -0
- data/site/news/2013/05/05/jekyll-1-0-0-released/index.html +524 -0
- data/site/news/2013/05/08/jekyll-1-0-1-released/index.html +524 -0
- data/site/news/2013/05/12/jekyll-1-0-2-released/index.html +525 -0
- data/site/news/2013/06/07/jekyll-1-0-3-released/index.html +522 -0
- data/site/news/2013/07/14/jekyll-1-1-0-released/index.html +524 -0
- data/site/news/2013/07/24/jekyll-1-1-1-released/index.html +523 -0
- data/site/news/2013/07/25/jekyll-1-0-4-released/index.html +519 -0
- data/site/news/2013/07/25/jekyll-1-1-2-released/index.html +519 -0
- data/site/news/2013/09/06/jekyll-1-2-0-released/index.html +526 -0
- data/site/news/2013/09/14/jekyll-1-2-1-released/index.html +520 -0
- data/site/news/2013/10/28/jekyll-1-3-0-rc1-released/index.html +518 -0
- data/site/news/2013/11/04/jekyll-1-3-0-released/index.html +553 -0
- data/site/news/2013/11/26/jekyll-1-3-1-released/index.html +522 -0
- data/site/news/2013/12/07/jekyll-1-4-0-released/index.html +537 -0
- data/site/news/2013/12/09/jekyll-1-4-1-released/index.html +519 -0
- data/site/news/2013/12/16/jekyll-1-4-2-released/index.html +518 -0
- data/site/news/2014/01/13/jekyll-1-4-3-released/index.html +527 -0
- data/site/news/2014/03/24/jekyll-1-5-0-released/index.html +518 -0
- data/site/news/2014/03/27/jekyll-1-5-1-released/index.html +523 -0
- data/site/news/2014/05/06/jekyll-turns-2-0-0/index.html +539 -0
- data/site/news/2014/05/08/jekyll-2-0-3-released/index.html +519 -0
- data/site/news/2014/06/04/jekyll-stickers-1-dollar-stickermule/index.html +521 -0
- data/site/news/2014/06/28/jekyll-turns-21-i-mean-2-1-0/index.html +536 -0
- data/site/news/2014/07/01/jekyll-2-1-1-released/index.html +533 -0
- data/site/news/2014/07/29/jekyll-2-2-0-released/index.html +522 -0
- data/site/news/2014/08/10/jekyll-2-3-0-released/index.html +542 -0
- data/site/news/2014/09/09/jekyll-2-4-0-released/index.html +528 -0
- data/site/news/2014/11/05/jekylls-midlife-crisis-jekyll-turns-2-5-0/index.html +551 -0
- data/site/news/2014/11/09/jekyll-2-5-1-released/index.html +529 -0
- data/site/news/2014/11/12/jekyll-2-5-2-released/index.html +519 -0
- data/site/news/2014/12/17/alfredxing-welcome-to-jekyll-core/index.html +526 -0
- data/site/news/2014/12/22/jekyll-2-5-3-released/index.html +521 -0
- data/site/news/2015/01/20/jekyll-meet-and-greet/index.html +522 -0
- data/site/news/2015/01/24/jekyll-3-0-0-beta1-released/index.html +542 -0
- data/site/news/2015/02/26/introducing-jekyll-talk/index.html +517 -0
- data/site/news/2015/10/26/jekyll-3-0-released/index.html +546 -0
- data/site/news/2015/11/17/jekyll-3-0-1-released/index.html +530 -0
- data/site/news/2016/01/20/jekyll-3-0-2-released/index.html +520 -0
- data/site/news/2016/01/24/jekyll-3-1-0-released/index.html +553 -0
- data/site/news/2016/01/28/jekyll-3-1-1-released/index.html +537 -0
- data/site/news/2016/02/08/jekyll-3-0-3-released/index.html +532 -0
- data/site/news/2016/02/19/jekyll-3-1-2-released/index.html +523 -0
- data/site/news/2016/03/10/making-it-easier-to-contribute-to-jekyll/index.html +519 -0
- data/site/news/2016/04/19/jekyll-3-0-4-released/index.html +525 -0
- data/site/news/2016/04/19/jekyll-3-1-3-released/index.html +521 -0
- data/site/news/2016/04/26/jekyll-3-0-5-released/index.html +526 -0
- data/site/news/2016/05/18/jekyll-3-1-4-released/index.html +530 -0
- data/site/news/2016/05/18/jekyll-3-1-5-released/index.html +518 -0
- data/site/news/2016/05/19/jekyll-3-1-6-released/index.html +520 -0
- data/site/news/2016/06/03/update-on-jekyll-s-google-summer-of-code-projects/index.html +521 -0
- data/site/news/2016/07/26/jekyll-3-2-0-released/index.html +630 -0
- data/site/news/index.html +2831 -10
- data/site/news/releases/index.html +2603 -10
- data/site/sitemap.xml +327 -0
- metadata +99 -111
- data/site/_config.yml +0 -25
- data/site/_data/docs.yml +0 -49
- data/site/_docs/assets.md +0 -94
- data/site/_docs/collections.md +0 -380
- data/site/_docs/conduct.md +0 -55
- data/site/_docs/configuration.md +0 -747
- data/site/_docs/continuous-integration.md +0 -221
- data/site/_docs/contributing.md +0 -124
- data/site/_docs/datafiles.md +0 -151
- data/site/_docs/deployment-methods.md +0 -213
- data/site/_docs/drafts.md +0 -20
- data/site/_docs/extras.md +0 -22
- data/site/_docs/frontmatter.md +0 -191
- data/site/_docs/github-pages.md +0 -133
- data/site/_docs/history.md +0 -2323
- data/site/_docs/index.md +0 -57
- data/site/_docs/installation.md +0 -106
- data/site/_docs/migrations.md +0 -9
- data/site/_docs/pages.md +0 -100
- data/site/_docs/pagination.md +0 -224
- data/site/_docs/permalinks.md +0 -308
- data/site/_docs/plugins.md +0 -903
- data/site/_docs/posts.md +0 -237
- data/site/_docs/quickstart.md +0 -26
- data/site/_docs/resources.md +0 -38
- data/site/_docs/sites.md +0 -23
- data/site/_docs/static_files.md +0 -52
- data/site/_docs/structure.md +0 -211
- data/site/_docs/templates.md +0 -451
- data/site/_docs/troubleshooting.md +0 -207
- data/site/_docs/upgrading.md +0 -10
- data/site/_docs/upgrading/0-to-2.md +0 -140
- data/site/_docs/upgrading/2-to-3.md +0 -126
- data/site/_docs/usage.md +0 -101
- data/site/_docs/variables.md +0 -390
- data/site/_docs/windows.md +0 -46
- data/site/_includes/analytics.html +0 -30
- data/site/_includes/anchor_links.html +0 -33
- data/site/_includes/docs_contents.html +0 -8
- data/site/_includes/docs_contents_mobile.html +0 -10
- data/site/_includes/docs_option.html +0 -11
- data/site/_includes/docs_ul.html +0 -17
- data/site/_includes/footer.html +0 -15
- data/site/_includes/header.html +0 -18
- data/site/_includes/news_contents.html +0 -33
- data/site/_includes/news_contents_mobile.html +0 -11
- data/site/_includes/news_item.html +0 -24
- data/site/_includes/primary-nav-items.html +0 -17
- data/site/_includes/section_nav.html +0 -39
- data/site/_includes/top.html +0 -17
- data/site/_layouts/default.html +0 -13
- data/site/_layouts/docs.html +0 -26
- data/site/_layouts/news.html +0 -19
- data/site/_layouts/news_item.html +0 -27
- data/site/_layouts/page.html +0 -18
- data/site/_posts/2013-05-06-jekyll-1-0-0-released.markdown +0 -23
- data/site/_posts/2013-05-08-jekyll-1-0-1-released.markdown +0 -27
- data/site/_posts/2013-05-12-jekyll-1-0-2-released.markdown +0 -28
- data/site/_posts/2013-06-07-jekyll-1-0-3-released.markdown +0 -25
- data/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown +0 -27
- data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +0 -31
- data/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown +0 -20
- data/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown +0 -20
- data/site/_posts/2013-09-06-jekyll-1-2-0-released.markdown +0 -23
- data/site/_posts/2013-09-14-jekyll-1-2-1-released.markdown +0 -19
- data/site/_posts/2013-10-28-jekyll-1-3-0-rc1-released.markdown +0 -17
- data/site/_posts/2013-11-04-jekyll-1-3-0-released.markdown +0 -43
- data/site/_posts/2013-11-26-jekyll-1-3-1-released.markdown +0 -21
- data/site/_posts/2013-12-07-jekyll-1-4-0-released.markdown +0 -30
- data/site/_posts/2013-12-09-jekyll-1-4-1-released.markdown +0 -18
- data/site/_posts/2013-12-16-jekyll-1-4-2-released.markdown +0 -18
- data/site/_posts/2014-01-13-jekyll-1-4-3-released.markdown +0 -26
- 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/_posts/2014-05-06-jekyll-turns-2-0-0.markdown +0 -31
- data/site/_posts/2014-05-08-jekyll-2-0-3-released.markdown +0 -18
- data/site/_posts/2014-06-04-jekyll-stickers-1-dollar-stickermule.markdown +0 -19
- data/site/_posts/2014-06-28-jekyll-turns-21-i-mean-2-1-0.markdown +0 -31
- data/site/_posts/2014-07-01-jekyll-2-1-1-released.markdown +0 -30
- data/site/_posts/2014-07-29-jekyll-2-2-0-released.markdown +0 -19
- data/site/_posts/2014-08-10-jekyll-2-3-0-released.markdown +0 -41
- data/site/_posts/2014-09-09-jekyll-2-4-0-released.markdown +0 -25
- data/site/_posts/2014-11-06-jekylls-midlife-crisis-jekyll-turns-2-5-0.markdown +0 -47
- data/site/_posts/2014-11-08-jekyll-2-5-1-released.markdown +0 -29
- data/site/_posts/2014-11-12-jekyll-2-5-2-released.markdown +0 -18
- data/site/_posts/2014-12-17-alfredxing-welcome-to-jekyll-core.md +0 -27
- data/site/_posts/2014-12-22-jekyll-2-5-3-released.markdown +0 -20
- data/site/_posts/2015-01-20-jekyll-meet-and-greet.markdown +0 -20
- data/site/_posts/2015-01-24-jekyll-3-0-0-beta1-released.markdown +0 -40
- data/site/_posts/2015-02-26-introducing-jekyll-talk.markdown +0 -15
- data/site/_posts/2015-10-26-jekyll-3-0-released.markdown +0 -35
- data/site/_posts/2015-11-17-jekyll-3-0-1-released.markdown +0 -25
- data/site/_posts/2016-01-20-jekyll-3-0-2-released.markdown +0 -19
- data/site/_posts/2016-01-24-jekyll-3-1-0-released.markdown +0 -50
- data/site/_posts/2016-01-28-jekyll-3-1-1-released.markdown +0 -33
- data/site/_posts/2016-02-08-jekyll-3-0-3-released.markdown +0 -32
- data/site/_posts/2016-02-19-jekyll-3-1-2-released.markdown +0 -20
- data/site/_sass/_font-awesome.scss +0 -25
- data/site/_sass/_gridism.scss +0 -124
- data/site/_sass/_mixins.scss +0 -38
- data/site/_sass/_normalize.scss +0 -1
- data/site/_sass/_pygments.scss +0 -78
- data/site/_sass/_style.scss +0 -1002
- data/site/css/screen.scss +0 -9
- data/site/help/index.md +0 -41
- data/site/redirects/github.html +0 -4
- data/site/redirects/issues.html +0 -4
@@ -1,213 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: docs
|
3
|
-
title: Deployment methods
|
4
|
-
permalink: /docs/deployment-methods/
|
5
|
-
---
|
6
|
-
|
7
|
-
Sites built using Jekyll can be deployed in a large number of ways due to the static nature of the generated output. A few of the most common deployment techniques are described below.
|
8
|
-
|
9
|
-
## Web hosting providers (FTP)
|
10
|
-
|
11
|
-
Just about any traditional web hosting provider will let you upload files to their servers over FTP. To upload a Jekyll site to a web host using FTP, simply run the `jekyll` command and copy the generated `_site` folder to the root folder of your hosting account. This is most likely to be the `httpdocs` or `public_html` folder on most hosting providers.
|
12
|
-
|
13
|
-
### FTP using Glynn
|
14
|
-
|
15
|
-
There is a project called [Glynn](https://github.com/dmathieu/glynn), which lets you easily generate your Jekyll powered website’s static files and
|
16
|
-
send them to your host through FTP.
|
17
|
-
|
18
|
-
## Self-managed web server
|
19
|
-
|
20
|
-
If you have direct access yourself to the deployment web server yourself, the process is essentially the same, except you might have other methods available to you (such as `scp`, or even direct filesystem access) for transferring the files. Just remember to make sure the contents of the generated `_site` folder get placed in the appropriate web root directory for your web server.
|
21
|
-
|
22
|
-
## Automated methods
|
23
|
-
|
24
|
-
There are also a number of ways to easily automate the deployment of a Jekyll site. If you’ve got another method that isn’t listed below, we’d love it if you [contributed](../contributing/) so that everyone else can benefit too.
|
25
|
-
|
26
|
-
### Git post-update hook
|
27
|
-
|
28
|
-
If you store your Jekyll site in [Git](http://git-scm.com/) (you are using version control, right?), it’s pretty easy to automate the
|
29
|
-
deployment process by setting up a post-update hook in your Git
|
30
|
-
repository, [like
|
31
|
-
this](http://web.archive.org/web/20091223025644/http://www.taknado.com/en/2009/03/26/deploying-a-jekyll-generated-site/).
|
32
|
-
|
33
|
-
### Git post-receive hook
|
34
|
-
|
35
|
-
To have a remote server handle the deploy for you every time you push changes using Git, you can create a user account which has all the public keys that are authorized to deploy in its `authorized_keys` file. With that in place, setting up the post-receive hook is done as follows:
|
36
|
-
|
37
|
-
{% highlight bash %}
|
38
|
-
laptop$ ssh deployer@example.com
|
39
|
-
server$ mkdir myrepo.git
|
40
|
-
server$ cd myrepo.git
|
41
|
-
server$ git --bare init
|
42
|
-
server$ cp hooks/post-receive.sample hooks/post-receive
|
43
|
-
server$ mkdir /var/www/myrepo
|
44
|
-
{% endhighlight %}
|
45
|
-
|
46
|
-
Next, add the following lines to hooks/post-receive and be sure Jekyll is
|
47
|
-
installed on the server:
|
48
|
-
|
49
|
-
{% highlight bash %}
|
50
|
-
GIT_REPO=$HOME/myrepo.git
|
51
|
-
TMP_GIT_CLONE=$HOME/tmp/myrepo
|
52
|
-
PUBLIC_WWW=/var/www/myrepo
|
53
|
-
|
54
|
-
git clone $GIT_REPO $TMP_GIT_CLONE
|
55
|
-
jekyll build -s $TMP_GIT_CLONE -d $PUBLIC_WWW
|
56
|
-
rm -Rf $TMP_GIT_CLONE
|
57
|
-
exit
|
58
|
-
{% endhighlight %}
|
59
|
-
|
60
|
-
Finally, run the following command on any users laptop that needs to be able to
|
61
|
-
deploy using this hook:
|
62
|
-
|
63
|
-
{% highlight bash %}
|
64
|
-
laptops$ git remote add deploy deployer@example.com:~/myrepo.git
|
65
|
-
{% endhighlight %}
|
66
|
-
|
67
|
-
Deploying is now as easy as telling nginx or Apache to look at
|
68
|
-
`/var/www/myrepo` and running the following:
|
69
|
-
|
70
|
-
{% highlight bash %}
|
71
|
-
laptops$ git push deploy master
|
72
|
-
{% endhighlight %}
|
73
|
-
|
74
|
-
### Jekyll-hook
|
75
|
-
|
76
|
-
You can also use jekyll-hook, a server that listens for webhook posts from
|
77
|
-
GitHub, generates a website with Jekyll, and moves it somewhere to be
|
78
|
-
published. Use this to run your own GitHub Pages-style web server.
|
79
|
-
|
80
|
-
This method is useful if you need to serve your websites behind a firewall,
|
81
|
-
need extra server-level features like HTTP basic authentication or want to
|
82
|
-
host your site directly on a CDN or file host like S3.
|
83
|
-
|
84
|
-
Setup steps are fully documented
|
85
|
-
[in the `jekyll-hook` repo](https://github.com/developmentseed/jekyll-hook).
|
86
|
-
|
87
|
-
### Static Publisher
|
88
|
-
|
89
|
-
[Static Publisher](https://github.com/static-publisher/static-publisher) is another automated deployment option with a server listening for webhook posts, though it's not tied to GitHub specifically. It has a one-click deploy to Heroku, it can watch multiple projects from one server, it has an easy to user admin interface and can publish to either S3 or to a git repository (e.g. gh-pages).
|
90
|
-
|
91
|
-
### Rake
|
92
|
-
|
93
|
-
Another way to deploy your Jekyll site is to use [Rake](https://github.com/ruby/rake), [HighLine](https://github.com/JEG2/highline), and
|
94
|
-
[Net::SSH](https://github.com/net-ssh/net-ssh). A more complex example of deploying Jekyll with Rake that deals with multiple branches can be found in [Git Ready](https://github.com/gitready/gitready/blob/cdfbc4ec5321ff8d18c3ce936e9c749dbbc4f190/Rakefile).
|
95
|
-
|
96
|
-
|
97
|
-
### scp
|
98
|
-
|
99
|
-
Once you’ve generated the `_site` directory, you can easily scp it using a `tasks/deploy` shell script similar to [this deploy script here](https://github.com/henrik/henrik.nyh.se/blob/master/script/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 this script from within Textmate.
|
100
|
-
|
101
|
-
### rsync
|
102
|
-
|
103
|
-
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/vitalyrepin/vrepinblog/blob/master/transfer.sh). You’d obviously need to change the values to reflect your site’s details.
|
104
|
-
|
105
|
-
Certificate-based authorization is another way to simplify the publishing
|
106
|
-
process. It makes sense to restrict rsync access only to the directory which it is supposed to sync. This can be done using rrsync.
|
107
|
-
|
108
|
-
#### Step 1: Install rrsync to your home folder (server-side)
|
109
|
-
|
110
|
-
If it is not already installed by your host, you can do it yourself:
|
111
|
-
|
112
|
-
- [Download rrsync](http://ftp.samba.org/pub/unpacked/rsync/support/rrsync)
|
113
|
-
- Place it in the `bin` subdirectory of your home folder (`~/bin`)
|
114
|
-
- Make it executable (`chmod +x`)
|
115
|
-
|
116
|
-
#### Step 2: Set up certificate-based SSH access (server side)
|
117
|
-
|
118
|
-
This [process](https://wiki.gentoo.org/wiki/SSH#Passwordless_Authentication) is
|
119
|
-
described in several places online. What is different from the typical approach
|
120
|
-
is to put the restriction to certificate-based authorization in
|
121
|
-
`~/.ssh/authorized_keys`. Then, launch `rrsync` and supply
|
122
|
-
it with the folder it shall have read-write access to:
|
123
|
-
|
124
|
-
{% highlight bash %}
|
125
|
-
command="$HOME/bin/rrsync <folder>",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa <cert>
|
126
|
-
{% endhighlight %}
|
127
|
-
|
128
|
-
`<folder>` is the path to your site. E.g., `~/public_html/you.org/blog-html/`.
|
129
|
-
|
130
|
-
#### Step 3: Rsync (client-side)
|
131
|
-
|
132
|
-
Add the `deploy` script to the site source folder:
|
133
|
-
|
134
|
-
{% highlight bash %}
|
135
|
-
#!/bin/sh
|
136
|
-
|
137
|
-
rsync -crvz --rsh=ssh -p2222' --delete-after --delete-excluded <folder> <user>@<site>:
|
138
|
-
{% endhighlight %}
|
139
|
-
|
140
|
-
Command line parameters are:
|
141
|
-
|
142
|
-
- `--rsh=ssh -p2222` — The port for SSH access. It is required if
|
143
|
-
your host uses a different port than the default (e.g, HostGator)
|
144
|
-
- `<folder>` — The name of the local output folder (defaults to `_site`)
|
145
|
-
- `<user>` — The username for your hosting account
|
146
|
-
- `<site>` — Your hosting server
|
147
|
-
|
148
|
-
Using this setup, you might run the following command:
|
149
|
-
|
150
|
-
{% highlight bash %}
|
151
|
-
rsync -crvz --rsh='ssh -p2222' --delete-after --delete-excluded _site/ hostuser@example.org:
|
152
|
-
{% endhighlight %}
|
153
|
-
|
154
|
-
Don't forget the column `:` after server name!
|
155
|
-
|
156
|
-
#### Step 4 (Optional): Exclude the transfer script from being copied to the output folder.
|
157
|
-
|
158
|
-
This step is recommended if you use these instructions to deploy your site. If
|
159
|
-
you put the `deploy` script in the root folder of your project, Jekyll will
|
160
|
-
copy it to the output folder. This behavior can be changed in `_config.yml`.
|
161
|
-
|
162
|
-
Just add the following line:
|
163
|
-
|
164
|
-
{% highlight yaml %}
|
165
|
-
# Do not copy these files to the output directory
|
166
|
-
exclude: ["deploy"]
|
167
|
-
{% endhighlight %}
|
168
|
-
|
169
|
-
Alternatively, you can use an `rsync-exclude.txt` file to control which files will be transferred to your server.
|
170
|
-
|
171
|
-
#### Done!
|
172
|
-
|
173
|
-
Now it's possible to publish your website simply by running the `deploy`
|
174
|
-
script. If your SSH certificate is [passphrase-protected](https://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html), you will be asked to enter it when the
|
175
|
-
script executes.
|
176
|
-
|
177
|
-
## Rack-Jekyll
|
178
|
-
|
179
|
-
[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/rtomayko/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).
|
180
|
-
|
181
|
-
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.
|
182
|
-
|
183
|
-
## Jekyll-Admin for Rails
|
184
|
-
|
185
|
-
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.
|
186
|
-
|
187
|
-
## Amazon S3
|
188
|
-
|
189
|
-
If you want to host your site in Amazon S3, you can do so by
|
190
|
-
using the [s3_website](https://github.com/laurilehmijoki/s3_website)
|
191
|
-
application. It will push your site to Amazon S3 where it can be served like
|
192
|
-
any web server,
|
193
|
-
dynamically scaling to almost unlimited traffic. This approach has the
|
194
|
-
benefit of being about the cheapest hosting option available for
|
195
|
-
low-volume blogs as you only pay for what you use.
|
196
|
-
|
197
|
-
## OpenShift
|
198
|
-
|
199
|
-
If you'd like to deploy your site to an OpenShift gear, there's [a cartridge
|
200
|
-
for that](https://github.com/openshift-cartridges/openshift-jekyll-cartridge).
|
201
|
-
|
202
|
-
<div class="note">
|
203
|
-
<h5>ProTip™: Use GitHub Pages for zero-hassle Jekyll hosting</h5>
|
204
|
-
<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>
|
205
|
-
</div>
|
206
|
-
|
207
|
-
## Kickster
|
208
|
-
|
209
|
-
Use [Kickster](http://kickster.nielsenramon.com/) for easy (automated) deploys to GitHub Pages when using unsupported plugins on GitHub Pages.
|
210
|
-
|
211
|
-
Kickster provides a basic Jekyll project setup packed with web best practises and useful optimization tools increasing your overall project quality. Kickster ships with automated and worry-free deployment scripts for GitHub Pages.
|
212
|
-
|
213
|
-
Setting up Kickster is very easy, just install the gem and you are good to go. More documentation can here found [here](https://github.com/nielsenramon/kickster#kickster). If you do not want to use the gem or start a new project you can just copy paste the deployment scripts for [Travis CI](https://github.com/nielsenramon/kickster/tree/master/snippets/travis) or [Circle CI](https://github.com/nielsenramon/kickster#automated-deployment-with-circle-ci).
|
data/site/_docs/drafts.md
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: docs
|
3
|
-
title: Working with drafts
|
4
|
-
permalink: /docs/drafts/
|
5
|
-
---
|
6
|
-
|
7
|
-
Drafts are posts without a date. They're posts you're still working on and
|
8
|
-
don't want to publish yet. To get up and running with drafts, create a
|
9
|
-
`_drafts` folder in your site's root (as described in the [site structure](/docs/structure/) section) and create your
|
10
|
-
first draft:
|
11
|
-
|
12
|
-
{% highlight text %}
|
13
|
-
|-- _drafts/
|
14
|
-
| |-- a-draft-post.md
|
15
|
-
{% endhighlight %}
|
16
|
-
|
17
|
-
To preview your site with drafts, simply run `jekyll serve` or `jekyll build`
|
18
|
-
with the `--drafts` switch. Each will be assigned the value modification time
|
19
|
-
of the draft file for its date, and thus you will see currently edited drafts
|
20
|
-
as the latest posts.
|
data/site/_docs/extras.md
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: docs
|
3
|
-
title: Extras
|
4
|
-
permalink: /docs/extras/
|
5
|
-
---
|
6
|
-
|
7
|
-
There are a number of (optional) extra features that Jekyll supports that you
|
8
|
-
may want to install, depending on how you plan to use Jekyll.
|
9
|
-
|
10
|
-
## Math Support
|
11
|
-
|
12
|
-
Kramdown comes with optional support for LaTeX to PNG rendering via [MathJax](http://www.mathjax.org/) within math blocks. See the Kramdown documentation on [math blocks](http://kramdown.gettalong.org/syntax.html#math-blocks) and [math support](http://kramdown.gettalong.org/converter/html.html#math-support) for more details. MathJax requires you to include JavaScript or CSS to render the LaTeX, e.g.
|
13
|
-
|
14
|
-
{% highlight html %}
|
15
|
-
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
|
16
|
-
{% endhighlight %}
|
17
|
-
|
18
|
-
For more information about getting started, check out [this excellent blog post](http://gastonsanchez.com/opinion/2014/02/16/Mathjax-with-jekyll/).
|
19
|
-
|
20
|
-
## Alternative Markdown Processors
|
21
|
-
|
22
|
-
See the Markdown section on the [configuration page](/docs/configuration/#markdown-options) for instructions on how to use and configure alternative Markdown processors, as well as how to create [custom processors](/docs/configuration/#custom-markdown-processors).
|
data/site/_docs/frontmatter.md
DELETED
@@ -1,191 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: docs
|
3
|
-
title: Front Matter
|
4
|
-
permalink: /docs/frontmatter/
|
5
|
-
---
|
6
|
-
|
7
|
-
The front matter is where Jekyll starts to get really cool. Any file that
|
8
|
-
contains a [YAML](http://yaml.org/) front matter block will be processed by
|
9
|
-
Jekyll as a special file. The front matter must be the first thing in the file
|
10
|
-
and must take the form of valid YAML set between triple-dashed lines. Here is a
|
11
|
-
basic example:
|
12
|
-
|
13
|
-
{% highlight yaml %}
|
14
|
-
---
|
15
|
-
layout: post
|
16
|
-
title: Blogging Like a Hacker
|
17
|
-
---
|
18
|
-
{% endhighlight %}
|
19
|
-
|
20
|
-
Between these triple-dashed lines, you can set predefined variables (see below
|
21
|
-
for a reference) or even create custom ones of your own. These variables will
|
22
|
-
then be available to you to access using Liquid tags both further down in the
|
23
|
-
file and also in any layouts or includes that the page or post in question
|
24
|
-
relies on.
|
25
|
-
|
26
|
-
<div class="note warning">
|
27
|
-
<h5>UTF-8 Character Encoding Warning</h5>
|
28
|
-
<p>
|
29
|
-
If you use UTF-8 encoding, make sure that no <code>BOM</code> header
|
30
|
-
characters exist in your files or very, very bad things will happen to
|
31
|
-
Jekyll. This is especially relevant if you’re running
|
32
|
-
<a href="../windows/">Jekyll on Windows</a>.
|
33
|
-
</p>
|
34
|
-
</div>
|
35
|
-
|
36
|
-
<div class="note">
|
37
|
-
<h5>ProTip™: Front Matter Variables Are Optional</h5>
|
38
|
-
<p>
|
39
|
-
If you want to use <a href="../variables/">Liquid tags and variables</a>
|
40
|
-
but don’t need anything in your front matter, just leave it empty! The set
|
41
|
-
of triple-dashed lines with nothing in between will still get Jekyll to
|
42
|
-
process your file. (This is useful for things like CSS and RSS feeds!)
|
43
|
-
</p>
|
44
|
-
</div>
|
45
|
-
|
46
|
-
## Predefined Global Variables
|
47
|
-
|
48
|
-
There are a number of predefined global variables that you can set in the
|
49
|
-
front matter of a page or post.
|
50
|
-
|
51
|
-
<div class="mobile-side-scroller">
|
52
|
-
<table>
|
53
|
-
<thead>
|
54
|
-
<tr>
|
55
|
-
<th>Variable</th>
|
56
|
-
<th>Description</th>
|
57
|
-
</tr>
|
58
|
-
</thead>
|
59
|
-
<tbody>
|
60
|
-
<tr>
|
61
|
-
<td>
|
62
|
-
<p><code>layout</code></p>
|
63
|
-
</td>
|
64
|
-
<td>
|
65
|
-
<p>
|
66
|
-
|
67
|
-
If set, this specifies the layout file to use. Use the layout file
|
68
|
-
name without the file extension. Layout files must be placed in the
|
69
|
-
<code>_layouts</code> directory.
|
70
|
-
|
71
|
-
</p>
|
72
|
-
</td>
|
73
|
-
</tr>
|
74
|
-
<tr>
|
75
|
-
<td>
|
76
|
-
<p><code>permalink</code></p>
|
77
|
-
</td>
|
78
|
-
<td>
|
79
|
-
<p>
|
80
|
-
|
81
|
-
If you need your processed blog post URLs to be something other than
|
82
|
-
the site-wide style (default <code>/year/month/day/title.html</code>), then you can set
|
83
|
-
this variable and it will be used as the final URL.
|
84
|
-
|
85
|
-
</p>
|
86
|
-
</td>
|
87
|
-
</tr>
|
88
|
-
<tr>
|
89
|
-
<td>
|
90
|
-
<p><code>published</code></p>
|
91
|
-
</td>
|
92
|
-
<td>
|
93
|
-
<p>
|
94
|
-
Set to false if you don’t want a specific post to show up when the
|
95
|
-
site is generated.
|
96
|
-
</p>
|
97
|
-
</td>
|
98
|
-
</tr>
|
99
|
-
<tr>
|
100
|
-
<td>
|
101
|
-
<p style="margin-bottom: 5px;"><code>category</code></p>
|
102
|
-
<p><code>categories</code></p>
|
103
|
-
</td>
|
104
|
-
<td>
|
105
|
-
<p>
|
106
|
-
|
107
|
-
Instead of placing posts inside of folders, you can specify one or
|
108
|
-
more categories that the post belongs to. When the site is generated
|
109
|
-
the post will act as though it had been set with these categories
|
110
|
-
normally. Categories (plural key) can be specified as a <a
|
111
|
-
href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list</a> or a
|
112
|
-
comma-separated string.
|
113
|
-
|
114
|
-
</p>
|
115
|
-
</td>
|
116
|
-
</tr>
|
117
|
-
<tr>
|
118
|
-
<td>
|
119
|
-
<p><code>tags</code></p>
|
120
|
-
</td>
|
121
|
-
<td>
|
122
|
-
<p>
|
123
|
-
|
124
|
-
Similar to categories, one or multiple tags can be added to a post.
|
125
|
-
Also like categories, tags can be specified as a YAML list or a
|
126
|
-
comma-separated string.
|
127
|
-
|
128
|
-
</p>
|
129
|
-
</td>
|
130
|
-
</tr>
|
131
|
-
</tbody>
|
132
|
-
</table>
|
133
|
-
</div>
|
134
|
-
|
135
|
-
|
136
|
-
## Custom Variables
|
137
|
-
|
138
|
-
Any variables in the front matter that are not predefined are mixed into the
|
139
|
-
data that is sent to the Liquid templating engine during the conversion. For
|
140
|
-
instance, if you set a title, you can use that in your layout to set the page
|
141
|
-
title:
|
142
|
-
|
143
|
-
{% highlight html %}
|
144
|
-
<!DOCTYPE HTML>
|
145
|
-
<html>
|
146
|
-
<head>
|
147
|
-
<title>{% raw %}{{ page.title }}{% endraw %}</title>
|
148
|
-
</head>
|
149
|
-
<body>
|
150
|
-
...
|
151
|
-
{% endhighlight %}
|
152
|
-
|
153
|
-
## Predefined Variables for Posts
|
154
|
-
|
155
|
-
These are available out-of-the-box to be used in the front matter for a post.
|
156
|
-
|
157
|
-
<div class="mobile-side-scroller">
|
158
|
-
<table>
|
159
|
-
<thead>
|
160
|
-
<tr>
|
161
|
-
<th>Variable</th>
|
162
|
-
<th>Description</th>
|
163
|
-
</tr>
|
164
|
-
</thead>
|
165
|
-
<tbody>
|
166
|
-
<tr>
|
167
|
-
<td>
|
168
|
-
<p><code>date</code></p>
|
169
|
-
</td>
|
170
|
-
<td>
|
171
|
-
<p>
|
172
|
-
A date here overrides the date from the name of the post. This can be
|
173
|
-
used to ensure correct sorting of posts. A date is specified in the
|
174
|
-
format <code>YYYY-MM-DD HH:MM:SS +/-TTTT</code>; hours, minutes, seconds, and timezone offset
|
175
|
-
are optional.
|
176
|
-
</p>
|
177
|
-
</td>
|
178
|
-
</tr>
|
179
|
-
</tbody>
|
180
|
-
</table>
|
181
|
-
</div>
|
182
|
-
|
183
|
-
<div class="note">
|
184
|
-
<h5>ProTip™: Don't repeat yourself</h5>
|
185
|
-
<p>
|
186
|
-
If you don't want to repeat your frequently used front matter variables
|
187
|
-
over and over, just define <a href="../configuration/#front-matter-defaults" title="Front Matter defaults">defaults</a>
|
188
|
-
for them and only override them where necessary (or not at all). This works
|
189
|
-
both for predefined and custom variables.
|
190
|
-
</p>
|
191
|
-
</div>
|
data/site/_docs/github-pages.md
DELETED
@@ -1,133 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: docs
|
3
|
-
title: GitHub Pages
|
4
|
-
permalink: /docs/github-pages/
|
5
|
-
---
|
6
|
-
|
7
|
-
[GitHub Pages](http://pages.github.com) are public web pages for users,
|
8
|
-
organizations, and repositories, that are freely hosted on GitHub's
|
9
|
-
`github.io` domain or on a custom domain name of your choice. GitHub Pages are
|
10
|
-
powered by Jekyll behind the scenes, so in addition to supporting regular HTML
|
11
|
-
content, they’re also a great way to host your Jekyll-powered website for free.
|
12
|
-
|
13
|
-
Never built a website with GitHub Pages before? [See this marvelous guide by
|
14
|
-
Jonathan McGlone to get you up and running](http://jmcglone.com/guides/github-pages/).
|
15
|
-
This guide will teach you what you need to know about Git, GitHub, and Jekyll to
|
16
|
-
create your very own website on GitHub Pages.
|
17
|
-
|
18
|
-
### Project Page URL Structure
|
19
|
-
|
20
|
-
Sometimes it's nice to preview your Jekyll site before you push your `gh-pages`
|
21
|
-
branch to GitHub. However, the subdirectory-like URL structure GitHub uses for
|
22
|
-
Project Pages complicates the proper resolution of URLs. In order to assure your
|
23
|
-
site builds properly, use `site.github.url` in your URL's.
|
24
|
-
|
25
|
-
{% highlight html %}
|
26
|
-
{% raw %}
|
27
|
-
<!-- Useful for styles with static names... -->
|
28
|
-
<link href="{{ site.github.url }}/path/to/css.css" rel="stylesheet">
|
29
|
-
<!-- and for documents/pages whose URL's can change... -->
|
30
|
-
<a href="{{ page.url | prepend: site.github.url }}">{{ page.title }}</a>
|
31
|
-
{% endraw %}
|
32
|
-
{% endhighlight %}
|
33
|
-
|
34
|
-
This way you can preview your site locally from the site root on localhost,
|
35
|
-
but when GitHub generates your pages from the gh-pages branch all the URLs
|
36
|
-
will resolve properly.
|
37
|
-
|
38
|
-
## Deploying Jekyll to GitHub Pages
|
39
|
-
|
40
|
-
GitHub Pages work by looking at certain branches of repositories on GitHub.
|
41
|
-
There are two basic types available: user/organization pages and project pages.
|
42
|
-
The way to deploy these two types of sites are nearly identical, except for a
|
43
|
-
few minor details.
|
44
|
-
|
45
|
-
<div class="note protip">
|
46
|
-
<h5>Use the <code>github-pages</code> gem</h5>
|
47
|
-
<p>
|
48
|
-
Our friends at GitHub have provided the
|
49
|
-
<a href="https://github.com/github/pages-gem">github-pages</a>
|
50
|
-
gem which is used to manage Jekyll and its dependencies on
|
51
|
-
GitHub Pages. Using it in your projects means that when you deploy
|
52
|
-
your site to GitHub Pages, you will not be caught by unexpected
|
53
|
-
differences between various versions of the gems. To use the
|
54
|
-
currently-deployed version of the gem in your project, add the
|
55
|
-
following to your <code>Gemfile</code>:
|
56
|
-
|
57
|
-
{% highlight ruby %}
|
58
|
-
source 'https://rubygems.org'
|
59
|
-
|
60
|
-
require 'json'
|
61
|
-
require 'open-uri'
|
62
|
-
versions = JSON.parse(open('https://pages.github.com/versions.json').read)
|
63
|
-
|
64
|
-
gem 'github-pages', versions['github-pages']
|
65
|
-
{% endhighlight %}
|
66
|
-
|
67
|
-
This will ensure that when you run <code>bundle install</code>, you
|
68
|
-
have the correct version of the <code>github-pages</code> gem.
|
69
|
-
|
70
|
-
If that fails, simplify it:
|
71
|
-
|
72
|
-
{% highlight ruby %}
|
73
|
-
source 'https://rubygems.org'
|
74
|
-
|
75
|
-
gem 'github-pages'
|
76
|
-
{% endhighlight %}
|
77
|
-
|
78
|
-
And be sure to run <code>bundle update</code> often.
|
79
|
-
</p>
|
80
|
-
</div>
|
81
|
-
|
82
|
-
### User and Organization Pages
|
83
|
-
|
84
|
-
User and organization pages live in a special GitHub repository dedicated to
|
85
|
-
only the GitHub Pages files. This repository must be named after the account
|
86
|
-
name. For example, [@mojombo’s user page
|
87
|
-
repository](https://github.com/mojombo/mojombo.github.io) has the name
|
88
|
-
`mojombo.github.io`.
|
89
|
-
|
90
|
-
Content from the `master` branch of your repository will be used to build and
|
91
|
-
publish the GitHub Pages site, so make sure your Jekyll site is stored there.
|
92
|
-
|
93
|
-
<div class="note info">
|
94
|
-
<h5>Custom domains do not affect repository names</h5>
|
95
|
-
<p>
|
96
|
-
GitHub Pages are initially configured to live under the
|
97
|
-
<code>username.github.io</code> subdomain, which is why repositories must
|
98
|
-
be named this way <strong>even if a custom domain is being used</strong>.
|
99
|
-
</p>
|
100
|
-
</div>
|
101
|
-
|
102
|
-
### Project Pages
|
103
|
-
|
104
|
-
Unlike user and organization Pages, Project Pages are kept in the same
|
105
|
-
repository as the project they are for, except that the website content is
|
106
|
-
stored in a specially named `gh-pages` branch. The content of this branch will
|
107
|
-
be rendered using Jekyll, and the output will become available under a subpath
|
108
|
-
of your user pages subdomain, such as `username.github.io/project` (unless a
|
109
|
-
custom domain is specified—see below).
|
110
|
-
|
111
|
-
The Jekyll project repository itself is a perfect example of this branch
|
112
|
-
structure—the [master branch]({{ site.repository }}) contains the
|
113
|
-
actual software project for Jekyll, however the Jekyll website (that you’re
|
114
|
-
looking at right now) is contained in the [gh-pages
|
115
|
-
branch]({{ site.repository }}/tree/gh-pages) of the same repository.
|
116
|
-
|
117
|
-
<div class="note warning">
|
118
|
-
<h5>Source Files Must be in the Root Directory</h5>
|
119
|
-
<p>
|
120
|
-
GitHub Pages <a href="https://help.github.com/articles/troubleshooting-github-pages-build-failures#source-setting">overrides</a> the <a href="http://jekyllrb.com/docs/configuration/#global-configuration">“Site Source”</a> configuration value, so if you locate your files anywhere other than the root directory, your site may not build correctly.
|
121
|
-
</p>
|
122
|
-
</div>
|
123
|
-
|
124
|
-
<div class="note">
|
125
|
-
<h5>GitHub Pages Documentation, Help, and Support</h5>
|
126
|
-
<p>
|
127
|
-
For more information about what you can do with GitHub Pages, as well as for
|
128
|
-
troubleshooting guides, you should check out <a
|
129
|
-
href="https://help.github.com/categories/github-pages-basics/">GitHub’s Pages Help
|
130
|
-
section</a>. If all else fails, you should contact <a
|
131
|
-
href="https://github.com/contact">GitHub Support</a>.
|
132
|
-
</p>
|
133
|
-
</div>
|