-
Use the github-pages
gem
-
- Our friends at GitHub have provided the
- github-pages
- gem which is used to manage Jekyll and its dependencies on
- GitHub Pages. Using it in your projects means that when you deploy
- your site to GitHub Pages, you will not be caught by unexpected
- differences between various versions of the gems. To use the
- currently-deployed version of the gem in your project, add the
- following to your Gemfile
:
+
+
+
+
+##### Use the `github-pages` gem
+
+Our friends at GitHub have provided the
+[github-pages](https://github.com/github/pages-gem)
+gem which is used to manage Jekyll and its dependencies on
+GitHub Pages. Using it in your projects means that when you deploy
+your site to GitHub Pages, you will not be caught by unexpected
+differences between various versions of the gems. To use the
+currently-deployed version of the gem in your project, add the
+following to your `Gemfile`:
+
+
+
+
```ruby
source 'https://rubygems.org'
@@ -63,22 +70,28 @@ versions = JSON.parse(open('https://pages.github.com/versions.json').read)
gem 'github-pages', versions['github-pages']
```
+
- This will ensure that when you run
bundle install
, you
- have the correct version of the
github-pages
gem.
+This will ensure that when you run `bundle install`, you
+have the correct version of the `github-pages` gem.
- If that fails, simplify it:
+If that fails, simplify it:
+
+
+
+
```ruby
source 'https://rubygems.org'
gem 'github-pages'
```
+
- And be sure to run
bundle update
often.
+And be sure to run `bundle update` often.
- If you like to install
pages-gem
on Windows you can find instructions by Jens Willmer on
how to install github-pages gem on Windows (x64).
-
+If you like to install `pages-gem` on Windows you can find instructions by Jens Willmer on
+[how to install github-pages gem on Windows (x64)]("https://jwillmer.de/blog/tutorial/how-to-install-jekyll-and-pages-gem-on-windows-10-x46#github-pages-and-plugins").
@@ -95,8 +108,7 @@ gem 'github-pages'
User and organization pages live in a special GitHub repository dedicated to
only the GitHub Pages files. This repository must be named after the account
-name. For example, [@mojombo’s user page
-repository](https://github.com/mojombo/mojombo.github.io) has the name
+name. For example, [@mojombo’s user page repository](https://github.com/mojombo/mojombo.github.io) has the name
`mojombo.github.io`.
Content from the `master` branch of your repository will be used to build and
@@ -115,21 +127,28 @@ publish the GitHub Pages site, so make sure your Jekyll site is stored there.
Unlike user and organization Pages, Project Pages are kept in the same
repository as the project they are for, except that the website content is
-stored in a specially named `gh-pages` branch. The content of this branch will
-be rendered using Jekyll, and the output will become available under a subpath
-of your user pages subdomain, such as `username.github.io/project` (unless a
-custom domain is specified—see below).
+stored in a specially named `gh-pages` branch or in a `docs` folder on the
+`master` branch. The content will be rendered using Jekyll, and the output
+will become available under a subpath of your user pages subdomain, such as
+`username.github.io/project` (unless a custom domain is specified).
-The Jekyll project repository itself is a perfect example of this branch
-structure—the [master branch]({{ site.repository }}) contains the
-actual software project for Jekyll, however the Jekyll website (that you’re
-looking at right now) is contained in the [gh-pages
-branch]({{ site.repository }}/tree/gh-pages) of the same repository.
+The Jekyll project repository itself is a perfect example: the
+[master branch]({{ site.repository }}) contains the actual software project
+for Jekyll, however the Jekyll website (that you’re looking at right now) is
+contained in the [docs folder]({{ site.repository }}/tree/master/docs) of the
+same repository.
+
+Please refer to GitHub official documentation on
+[user, organization and projets pages](https://help.github.com/articles/user-organization-and-project-pages/)
+to see more detailed examples.
Source Files Must be in the Root Directory
-GitHub Pages overrides the “Site Source” configuration value, so if you locate your files anywhere other than the root directory, your site may not build correctly.
+ GitHub Pages overrides
+ the “Site Source”
+ configuration value, so if you locate your files anywhere other than the
+ root directory, your site may not build correctly.
@@ -137,9 +156,8 @@ GitHub Pages
GitHub’s Pages Help
- section. If all else fails, you should contact
GitHub Support.
+ troubleshooting guides, you should check out
+
GitHub’s Pages Help section.
+ If all else fails, you should contact
GitHub Support.
diff --git a/docs/_docs/history.md b/docs/_docs/history.md
index b272bd53..5d07eb40 100644
--- a/docs/_docs/history.md
+++ b/docs/_docs/history.md
@@ -5,6 +5,66 @@ permalink: "/docs/history/"
note: This file is autogenerated. Edit /History.markdown instead.
---
+## 3.3.1 / 2016-11-14
+{: #v3-3-1}
+
+### Minor Enhancements
+{: #minor-enhancements-v3-3-1}
+
+- Collapse `gsub` for performance ([#5494]({{ site.repository }}/issues/5494))
+- URL: warn if key doesn't exist in url drop ([#5524]({{ site.repository }}/issues/5524))
+
+### Bug Fixes
+{: #bug-fixes-v3-3-1}
+
+- Fix typo in `theme_template` README ([#5472]({{ site.repository }}/issues/5472))
+- Do not swallow all exceptions on render ([#5495]({{ site.repository }}/issues/5495))
+- Site template: fixed `_config.yml` comment typo ([#5511]({{ site.repository }}/issues/5511))
+- `jekyll new-theme` should specify Jekyll as a runtime dependency for the theme ([#5457]({{ site.repository }}/issues/5457))
+- Be much more specific about ignoring specific vendored directories. ([#5564]({{ site.repository }}/issues/5564))
+- Only warn about auto-regeneration bug on Bash On Windows. ([#5464]({{ site.repository }}/issues/5464))
+- Allow permalink template to have underscores ([#5572]({{ site.repository }}/issues/5572))
+
+### Site Enhancements
+{: #site-enhancements-v3-3-1}
+
+- Documentation: `link` Liquid tag ([#5449]({{ site.repository }}/issues/5449))
+- Updating install instruction link for Jekyll 3 on Windows ([#5475]({{ site.repository }}/issues/5475))
+- Update normalize.css to v5.0.0 ([#5471]({{ site.repository }}/issues/5471))
+- Add jekyll-data to the list of plugins ([#5491]({{ site.repository }}/issues/5491))
+- Add info about checking version + updating ([#5497]({{ site.repository }}/issues/5497))
+- Add jekyll-include-absolute-plugin to list of third-party plugins ([#5492]({{ site.repository }}/issues/5492))
+- Remove jekyll-hook from deployment methods ([#5502]({{ site.repository }}/issues/5502))
+- Update deployment-methods.md ([#5504]({{ site.repository }}/issues/5504))
+- Ubuntu users should install ruby2.3-dev ([#5512]({{ site.repository }}/issues/5512))
+- Remove Glynn as deployment option ([#5519]({{ site.repository }}/issues/5519))
+- Fix broken forum link ([#5466]({{ site.repository }}/issues/5466))
+- Move documentation to docs folder ([#5459]({{ site.repository }}/issues/5459))
+- Fix broken links in CONTRIBUTING ([#5533]({{ site.repository }}/issues/5533))
+- Update documentation on jekyllrb.com ([#5540]({{ site.repository }}/issues/5540))
+- Fix HTML rendering ([#5536]({{ site.repository }}/issues/5536))
+- Remove outdated deployment information ([#5557]({{ site.repository }}/issues/5557))
+- no more invalid US-ASCII on lines 30 and 97 ([#5520]({{ site.repository }}/issues/5520))
+- Add permalinks to docs in '/maintaining/' ([#5532]({{ site.repository }}/issues/5532))
+- Add jekyll-pinboard to list of third-party plugins ([#5514]({{ site.repository }}/issues/5514))
+- Fix formatting in 2-to-3.md ([#5507]({{ site.repository }}/issues/5507))
+- Add two plugins to the plugins page ([#5493]({{ site.repository }}/issues/5493))
+- Use site.baseurl before link and post_url tags ([#5559]({{ site.repository }}/issues/5559))
+- Fix link to jekyll-pinboard plugin ([#5570]({{ site.repository }}/issues/5570))
+- mention `docs` folder as a way to deploy on GitHub Pages ([#5571]({{ site.repository }}/issues/5571))
+
+### Development Fixes
+{: #development-fixes-v3-3-1}
+
+- fix rubocop errors on testing with Rubocop 0.44 ([#5489]({{ site.repository }}/issues/5489))
+- script/test: add missing whitespace ([#5479]({{ site.repository }}/issues/5479))
+- Restrict Rubocop version ([#5496]({{ site.repository }}/issues/5496))
+- include a hashbang for all benchmark scripts & make them executable ([#5505]({{ site.repository }}/issues/5505))
+- Update source in script/proof ([#5538]({{ site.repository }}/issues/5538))
+- Collections.feature: conditional steps to have it pass on Windows ([#5546]({{ site.repository }}/issues/5546))
+- Fix tests to get script/test to pass on Windows ([#5526]({{ site.repository }}/issues/5526))
+
+
## 3.3.0 / 2016-10-06
{: #v3-3-0}
diff --git a/docs/_docs/installation.md b/docs/_docs/installation.md
index ee27f15f..54dfd9fc 100644
--- a/docs/_docs/installation.md
+++ b/docs/_docs/installation.md
@@ -34,7 +34,7 @@ earlier, for CoffeeScript support).
## Install with RubyGems
The best way to install Jekyll is via
-[RubyGems](http://rubygems.org/pages/download). At the terminal prompt,
+[RubyGems](https://rubygems.org/pages/download). At the terminal prompt,
simply run the following command to install Jekyll:
```sh
diff --git a/docs/_docs/maintaining/avoiding-burnout.md b/docs/_docs/maintaining/avoiding-burnout.md
index 72e46e1a..86c5530b 100644
--- a/docs/_docs/maintaining/avoiding-burnout.md
+++ b/docs/_docs/maintaining/avoiding-burnout.md
@@ -29,4 +29,4 @@ Jekyll gets a lot of feature requests, non-reproducible bug reports, usage quest
Thanks to https://gist.github.com/ryanflorence/124070e7c4b3839d4573 which influenced this document.
-Thanks to [Homebrew's "Avoiding Burnout" document](https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/Maintainers-Avoiding-Burnout.md) for providing a perfect base for this document.
+Thanks to [Homebrew's "Avoiding Burnout" document](https://github.com/Homebrew/brew/blob/master/docs/Maintainers-Avoiding-Burnout.md) for providing a perfect base for this document.
diff --git a/docs/_docs/maintaining/becoming-a-maintainer.md b/docs/_docs/maintaining/becoming-a-maintainer.md
index 61b19e2c..a303d940 100644
--- a/docs/_docs/maintaining/becoming-a-maintainer.md
+++ b/docs/_docs/maintaining/becoming-a-maintainer.md
@@ -15,7 +15,7 @@ You want to maintain Jekyll? Use it often. Do weird things with it. Do normal th
## 2. Help Triage Issues
-Watch the repository you're interested in. Join [an Affinity Team](https://teams.jekyllrb.com) and receive mentions regarding a particular interest area of the project. When you receive a notification for an issue that has not been triaged by a maintainer, dive in. Can you reproduce the issue? Can you determine the fix? [More tips on Triaging an Issue in our maintainer guide](triaging-an-issue.md). Every maintainer loves an issue that is resolved before they get to it. :smiley:
+Watch the repository you're interested in. Join [an Affinity Team](https://teams.jekyllrb.com) and receive mentions regarding a particular interest area of the project. When you receive a notification for an issue that has not been triaged by a maintainer, dive in. Can you reproduce the issue? Can you determine the fix? [More tips on Triaging an Issue in our maintainer guide](../triaging-an-issue). Every maintainer loves an issue that is resolved before they get to it. :smiley:
## 3. Write Documentation
@@ -27,7 +27,7 @@ As a maintainer, you will be reviewing pull requests which update code. You shou
## 5. Review Pull Requests
-Start by reviewing one pull request a week. Leave detailed comments and [follow our guide for reviewing pull requests](reviewing-a-pull-request.md).
+Start by reviewing one pull request a week. Leave detailed comments and [follow our guide for reviewing pull requests](../reviewing-a-pull-request).
## 6. Ask!
diff --git a/docs/_docs/maintaining/merging-a-pull-request.md b/docs/_docs/maintaining/merging-a-pull-request.md
index e5c5eacf..9d6c82c4 100644
--- a/docs/_docs/maintaining/merging-a-pull-request.md
+++ b/docs/_docs/maintaining/merging-a-pull-request.md
@@ -11,7 +11,7 @@ permalink: /docs/maintaining/merging-a-pull-request/
All pull requests should be subject to code review. Code review is a [foundational value](https://blog.fullstory.com/what-we-learned-from-google-code-reviews-arent-just-for-catching-bugs-b125a13aa292) of good engineering teams. Besides providing validation of correctness, it promotes a sense of community and gives other maintainers understanding of all parts of the code base. In short, code review is crucial to a healthy open source project.
-**Read our guide for [Reviewing a pull request](reviewing-a-pull-request.md) before merging.** Notably, the change must have tests if for code, and at least two maintainers must give it an OK.
+**Read our guide for [Reviewing a pull request](../reviewing-a-pull-request) before merging.** Notably, the change must have tests if for code, and at least two maintainers must give it an OK.
## Merging
diff --git a/docs/_docs/maintaining/reviewing-a-pull-request.md b/docs/_docs/maintaining/reviewing-a-pull-request.md
index 3185a19e..fef21d7a 100644
--- a/docs/_docs/maintaining/reviewing-a-pull-request.md
+++ b/docs/_docs/maintaining/reviewing-a-pull-request.md
@@ -9,7 +9,7 @@ permalink: /docs/maintaining/reviewing-a-pull-request/
## Respond Kindly
-Above all else, please review a pull request kindly. Our community can only be strong if we make it a welcoming and inclusive environment. To further promote this, the Jekyll community is governed by a [Code of Conduct](../CONDUCT.markdown) by which all community members must abide.
+Above all else, please review a pull request kindly. Our community can only be strong if we make it a welcoming and inclusive environment. To further promote this, the Jekyll community is governed by a [Code of Conduct](/docs/conduct/) by which all community members must abide.
Use emoji liberally :heart: :tada: :sparkles: :confetti_ball: and feel free to be emotive!! Contributions keep this project moving forward and we're always happy to receive them, even if the pull request isn't ultimately merged.
diff --git a/docs/_docs/maintaining/special-labels.md b/docs/_docs/maintaining/special-labels.md
index 7a32a1fa..7f0ff12e 100644
--- a/docs/_docs/maintaining/special-labels.md
+++ b/docs/_docs/maintaining/special-labels.md
@@ -19,4 +19,4 @@ These labels are used to indicate that the Git state of a pull request must chan
## `stale`
-This label is automatically added and removed by @jekyllbot based on activity on an issue or pull request. The rules for this label are laid out in [Triaging an Issue: Staleness and automatic closure](triaging-an-issue.md#staleness-and-automatic-closure).
+This label is automatically added and removed by @jekyllbot based on activity on an issue or pull request. The rules for this label are laid out in [Triaging an Issue: Staleness and automatic closure](../triaging-an-issue/#staleness-and-automatic-closure).
diff --git a/docs/_docs/permalinks.md b/docs/_docs/permalinks.md
index 254c5d6d..b8fd5ec6 100644
--- a/docs/_docs/permalinks.md
+++ b/docs/_docs/permalinks.md
@@ -4,17 +4,54 @@ title: Permalinks
permalink: /docs/permalinks/
---
-Jekyll supports a flexible way to build your site’s URLs. You can specify the
-permalinks for your site through the [Configuration](../configuration/) or in
-the [YAML Front Matter](../frontmatter/) for each post. You’re free to choose
-one of the built-in styles to create your links or craft your own. The default
-style is `date`.
+Permalinks refer to the URLs (excluding the domain name or directory folder) for your pages, posts, or collections.
+Jekyll supports a flexible way to build permalinks, allowing you to leverage various template variables or choose built-in permalink styles (such as `date`) that automatically use a template-variable pattern.
-Permalinks are constructed by creating a template URL where dynamic elements
-are represented by colon-prefixed keywords. For example, the default `date`
-permalink is defined according to the format `/:categories/:year/:month/:day/:title.html`.
+You construct permalinks by creating a template URL where dynamic elements are represented by colon-prefixed keywords. The default template permalink is `/:categories/:year/:month/:day/:title.html`. Each of the colon-prefixed keywords is a template variable.
-## Template variables
+## Where to configure permalinks
+
+You can configure your site's permalinks through the [Configuration]({% link _docs/configuration.md %}) file or in the [Front Matter]({% link _docs/frontmatter.md %}) for each post, page, or collection.
+
+Setting permalink styles in your configuration file applies the setting globally in your project. You configure permalinks in your `_config.yml` file like this:
+
+```yaml
+permalink: /:categories/:year/:month/:day/:title.html
+```
+
+If you don't specify any permalink setting, Jekyll uses the above pattern as the default.
+
+The permalink can also be set using a built-in permalink style:
+
+```yaml
+permalink: date
+```
+
+`date` is the same as `:categories/:year/:month/:day/:title.html`, the default. See [Built-in Permalink Styles](#builtinpermalinkstyles) below for more options.
+
+Setting the permalink in your post, page, or collection's front matter overrides any global settings. Here's an example:
+
+```yaml
+---
+title: My page title
+permalink: /mypageurl/
+---
+```
+
+Even if your configuration file specifies the `date` style, the URL for this page would be `http://somedomain.com/mypageurl/`.
+
+When you use permalinks that omit the `.html` file extension (called "pretty URLs") Jekyll builds the file as index.html placed inside a folder with the page's name. For example:
+
+```
+├── mypageurl
+│ └── index.html
+```
+
+With a URL such as `/mypageurl/`, servers automatically load the index.html file inside the folder, so users can simply navigate to `http://somedomain.com/mypageurl/` to get to `mypageurl/index.html`.
+
+## Template variables for permalinks {#template-variables}
+
+The following table lists the template variables available for permalinks. You can use these variables in the `permalink` property in your config file.
-## Built-in permalink styles
+Note that all template variables relating to time or categories are available to posts only.
-While you can specify a custom permalink style using [template variables](#template-variables),
-Jekyll also provides the following built-in styles for convenience.
+## Built-in permalink styles {#builtinpermalinkstyles}
+
+Although you can specify a custom permalink pattern using [template variables](#template-variables), Jekyll also provides the following built-in styles for convenience.
-## Pages and collections
+Rather than typing `permalink: /:categories/:year/:month/:day/:title/`, you can just type `permalink: date`.
-The `permalink` configuration setting specifies the permalink style used for
-posts. Pages and collections each have their own default permalink style; the
-default style for pages is `/:path/:basename` and the default for collections is
-`/:collection/:path`.
+
+
Specifying permalinks through the YAML Front Matter
+
Built-in permalink styles are not recognized in YAML Front Matter. As a result, permalink: pretty
will not work.
+
-These styles are modified to match the suffix style specified in the post
-permalink setting. For example, a permalink style of `pretty`, which contains a
-trailing slash, will update page permalinks to also contain a trailing slash:
-`/:path/:basename/`. A permalink style of `date`, which contains a trailing
-file extension, will update page permalinks to also contain a file extension:
-`/:path/:basename:output_ext`. The same is true for any custom permalink style.
+## Permalink style examples with posts {#permalink-style-examples}
-The permalink for an individual page or collection document can always be
-overridden in the [YAML Front Matter](../frontmatter/) for the page or document.
-Additionally, permalinks for a given collection can be customized [in the
-collections configuration](../collections/).
-
-## Permalink style examples
+Here are a few examples to clarify how permalink styles get applied with posts.
Given a post named: `/2009-04-29-slap-chop.md`
@@ -260,7 +288,7 @@ Given a post named: `/2009-04-29-slap-chop.md`
/:year/:month/:title
- See extensionless permalinks for details.
+ See Extensionless permalinks with no trailing slashes for details.
|
/2009/04/slap-chop
@@ -270,24 +298,58 @@ Given a post named: `/2009-04-29-slap-chop.md`
-## Extensionless permalinks
+## Permalink settings for pages and collections {#pages-and-collections}
-Jekyll supports permalinks that contain neither a trailing slash nor a file
-extension, but this requires additional support from the web server to properly
-serve. When using extensionless permalinks, output files written to disk will
-still have the proper file extension (typically `.html`), so the web server
-must be able to map requests without file extensions to these files.
+The permalink setting in your configuration file specifies the permalink style used for posts, pages, and collections. However, because pages and collections don't have time or categories, these aspects of the permalink style are ignored with pages and collections.
-Both [GitHub Pages](../github-pages/) and the Jekyll's built-in WEBrick server
-handle these requests properly without any additional work.
+For example:
+
+* A permalink style of `/:categories/:year/:month/:day/:title.html` for posts becomes `/:title.html` for pages and collections.
+* A permalink style of `pretty` (or `/:categories/:year/:month/:day/:title/`), which omits the file extension and contains a trailing slash, will update page and collection permalinks to also omit the file extension and contain a trailing slash: `/:title/`.
+* A permalink style of `date`, which contains a trailing file extension, will update page permalinks to also contain a trailing file extension: `/:title.html`. But no time or category information will be included.
+
+## Permalinks and default paths
+
+The path to the post or page in the built site differs for posts, pages, and collections:
+
+### Posts
+
+The subfolders into which you may have organized your posts inside the `_posts` directory will not be part of the permalink.
+
+If you use a permalink style that omits the `.html` file extension, each post is rendered as an `index.html` file inside a folder with the post's name (for example, `categoryname/2016/12/01/mypostname/index.html`).
+
+### Pages
+
+Unlike posts, pages by default mimic the source directory structure exactly. (The only exception is if your page has a `permalink` declared its front matter — in that case, the structure honors the permalink setting instead of the source folder structure.)
+
+As with posts, if you use a permalink style that omits the `.html` file extension, each page is rendered as an `index.html` file inserted inside a folder with the page's name (for example, `mypage/index.html`).
+
+### Collections
+
+By default, collections follow a similar structure in the `_site` folder as pages, except that the path is prefaced by the collection name. For example: `collectionname/mypage.html`. For permalink settings that omit the file extension, the path would be `collection_name/mypage/index.html`.
+
+Collections have their own way of setting permalinks. Additionally, collections have unique template variables available available (such as `path` and `output_ext`). See the [Configuring permalinks for collections]( ../collections#permalinks ) in Collections for more information.
+
+## Flattening pages in \_site on build
+
+If you want to flatten your pages (pull them out of subfolders) in the `_site` directory when your site builds (similar to posts), add the `permalink` property to the front matter of each page, with no path specified:
+
+```
+---
+title: My page
+permalink: mypageurl.html
+---
+```
+
+## Extensionless permalinks with no trailing slashes {#extensionless-permalinks}
+
+Jekyll supports permalinks that contain neither a trailing slash nor a file extension, but this requires additional support from the web server to properly serve. When using these types of permalinks, output files written to disk will still have the proper file extension (typically `.html`), so the web server must be able to map requests without file extensions to these files.
+
+Both [GitHub Pages](../github-pages/) and the Jekyll's built-in WEBrick server handle these requests properly without any additional work.
### Apache
-The Apache web server has very extensive support for content negotiation and can
-handle extensionless URLs by setting the [multiviews][] option in your
-`httpd.conf` or `.htaccess` file:
-
-[multiviews]: https://httpd.apache.org/docs/current/content-negotiation.html#multiviews
+The Apache web server has extensive support for content negotiation and can handle extensionless URLs by setting the [multiviews](https://httpd.apache.org/docs/current/content-negotiation.html#multiviews) option in your `httpd.conf` or `.htaccess` file:
{% highlight apache %}
Options +MultiViews
@@ -295,13 +357,12 @@ Options +MultiViews
### Nginx
-The [try_files][] directive allows you to specify a list of files to search for
-to process a request. The following configuration will instruct nginx to search
-for a file with an `.html` extension if an exact match for the requested URI is
-not found.
-
-[try_files]: http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files
+The [try_files](http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files) directive allows you to specify a list of files to search for to process a request. The following configuration will instruct nginx to search for a file with an `.html` extension if an exact match for the requested URI is not found.
{% highlight nginx %}
try_files $uri $uri.html $uri/ =404;
{% endhighlight %}
+
+## Linking without regard to permalink styles
+
+You can create links in your topics to other posts, pages, or collection items in a way that is valid no matter what permalink configuration you choose. By using the `link` tag, if you change your permalinks, your links won't break. See [Linking to pages](../templates#link) in Templates for more details.
diff --git a/docs/_docs/plugins.md b/docs/_docs/plugins.md
index 6e5bbf23..775dabbf 100644
--- a/docs/_docs/plugins.md
+++ b/docs/_docs/plugins.md
@@ -783,7 +783,7 @@ LESS.js files during generation.
#### Filters
-- [Truncate HTML](https://github.com/MattHall/truncatehtml) by [Matt Hall](http://codebeef.com): A Jekyll filter that truncates HTML while preserving markup structure.
+- [Truncate HTML](https://github.com/MattHall/truncatehtml) by [Matt Hall](https://codebeef.com/): A Jekyll filter that truncates HTML while preserving markup structure.
- [Domain Name Filter by Lawrence Woodman](https://github.com/LawrenceWoodman/domain_name-liquid_filter): Filters the input text so that just the domain name is left.
- [Summarize Filter by Mathieu Arnold](https://gist.github.com/731597): Remove markup after a `` tag.
- [i18n_filter](https://github.com/gacha/gacha.id.lv/blob/master/_plugins/i18n_filter.rb): Liquid filter to use I18n localization.
@@ -804,6 +804,7 @@ LESS.js files during generation.
- [jekyll-roman](https://github.com/paulrobertlloyd/jekyll-roman): A liquid filter for Jekyll that converts numbers into Roman numerals.
- [jekyll-typogrify](https://github.com/myles/jekyll-typogrify): A Jekyll plugin that brings the functions of [typogruby](http://avdgaag.github.io/typogruby/).
- [Jekyll Email Protect](https://github.com/vwochnik/jekyll-email-protect): Email protection liquid filter for Jekyll
+- [Jekyll Uglify Filter](https://github.com/mattg/jekyll-uglify-filter): A Liquid filter that runs your JavaScript through UglifyJS.
#### Tags
@@ -833,7 +834,7 @@ LESS.js files during generation.
- [Jekyll-devonly_tag](https://gist.github.com/2403522): A block tag for including markup only during development.
- [JekyllGalleryTag](https://github.com/redwallhp/JekyllGalleryTag) by [redwallhp](https://github.com/redwallhp): Generates thumbnails from a directory of images and displays them in a grid.
- [Youku and Tudou Embed](https://gist.github.com/Yexiaoxing/5891929): Liquid plugin for embedding Youku and Tudou videos.
-- [Jekyll-swfobject](https://github.com/sectore/jekyll-swfobject): Liquid plugin for embedding Adobe Flash files (.swf) using [SWFObject](http://code.google.com/p/swfobject/).
+- [Jekyll-swfobject](https://github.com/sectore/jekyll-swfobject): Liquid plugin for embedding Adobe Flash files (.swf) using [SWFObject](https://github.com/swfobject/swfobject).
- [Jekyll Picture Tag](https://github.com/robwierzbowski/jekyll-picture-tag): Easy responsive images for Jekyll. Based on the proposed [` `](https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element) element, polyfilled with Scott Jehl’s [Picturefill](https://github.com/scottjehl/picturefill).
- [Jekyll Image Tag](https://github.com/robwierzbowski/jekyll-image-tag): Better images for Jekyll. Save image presets, generate resized images, and add classes, alt text, and other attributes.
- [Jekyll Responsive Image](https://github.com/wildlyinaccurate/jekyll-responsive-image): Responsive images for Jekyll. Automatically resizes images, supports all responsive methods (``, `srcset`, Imager.js, etc), super-flexible configuration.
@@ -843,14 +844,14 @@ LESS.js files during generation.
- [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.
- [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.
- [jekyll-font-awesome](https://gist.github.com/23maverick23/8532525): Quickly and easily add Font Awesome icons to your posts.
-- [Lychee Gallery Tag](https://gist.github.com/tobru/9171700) by [tobru](https://github.com/tobru): Include [Lychee](http://lychee.electerious.com/) albums into a post. For an introduction, see [Jekyll meets Lychee - A Liquid Tag plugin](https://tobrunet.ch/articles/jekyll-meets-lychee-a-liquid-tag-plugin/)
+- [Lychee Gallery Tag](https://gist.github.com/tobru/9171700) by [tobru](https://github.com/tobru): Include [Lychee](https://lychee.electerious.com/) albums into a post. For an introduction, see [Jekyll meets Lychee - A Liquid Tag plugin](https://tobrunet.ch/articles/jekyll-meets-lychee-a-liquid-tag-plugin/)
- [Image Set/Gallery Tag](https://github.com/callmeed/jekyll-image-set) by [callmeed](https://github.com/callmeed): Renders HTML for an image gallery from a folder in your Jekyll site. Just pass it a folder name and class/tag options.
- [jekyll_figure](https://github.com/lmullen/jekyll_figure): Generate figures and captions with links to the figure in a variety of formats
- [Jekyll GitHub Sample Tag](https://github.com/bwillis/jekyll-github-sample): A liquid tag to include a sample of a github repo file in your Jekyll site.
- [Jekyll Project Version Tag](https://github.com/rob-murray/jekyll-version-plugin): A Liquid tag plugin that renders a version identifier for your Jekyll site sourced from the git repository containing your code.
-- [Piwigo Gallery](https://github.com/AlessandroLorenzi/piwigo_gallery) by [Alessandro Lorenzi](http://www.alorenzi.eu/): Jekyll plugin to generate thumbnails from a Piwigo gallery and display them with a Liquid tag
+- [Piwigo Gallery](https://github.com/AlessandroLorenzi/piwigo_gallery) by [Alessandro Lorenzi](http://blog.alorenzi.eu/): Jekyll plugin to generate thumbnails from a Piwigo gallery and display them with a Liquid tag
- [mathml.rb](https://github.com/tmthrgd/jekyll-plugins) by Tom Thorogood: A plugin to convert TeX mathematics into MathML for display.
-- [webmention_io.rb](https://github.com/aarongustafson/jekyll-webmention_io) by [Aaron Gustafson](http://aaron-gustafson.com/): A plugin to enable [webmention](http://indiewebcamp.com/webmention) integration using [Webmention.io](http://webmention.io). Includes an optional JavaScript for updating webmentions automatically between publishes and, if available, in realtime using WebSockets.
+- [webmention_io.rb](https://github.com/aarongustafson/jekyll-webmention_io) by [Aaron Gustafson](http://aaron-gustafson.com/): A plugin to enable [webmention](https://indieweb.org/webmention) integration using [Webmention.io](https://webmention.io/). Includes an optional JavaScript for updating webmentions automatically between publishes and, if available, in realtime using WebSockets.
- [Jekyll 500px Embed](https://github.com/lkorth/jekyll-500px-embed) by Luke Korth. A Liquid tag plugin that embeds [500px](https://500px.com/) photos.
- [inline\_highlight](https://github.com/bdesham/inline_highlight): A tag for inline syntax highlighting.
- [jekyll-mermaid](https://github.com/jasonbellamy/jekyll-mermaid): Simplify the creation of mermaid diagrams and flowcharts in your posts and pages.
@@ -867,11 +868,12 @@ LESS.js files during generation.
- [Jekyll Maps](https://github.com/ayastreb/jekyll-maps) by [Anatoliy Yastreb](https://github.com/ayastreb): A Jekyll plugin to easily embed maps with filterable locations.
- [Jekyll Cloudinary](https://nhoizey.github.io/jekyll-cloudinary/) by [Nicolas Hoizey](https://nicolas-hoizey.com/): a Jekyll plugin adding a Liquid tag to ease the use of Cloudinary for responsive images in your Markdown/Kramdown posts.
- [jekyll-include-absolute-plugin](https://github.com/tnhu/jekyll-include-absolute-plugin) by [Tan Nhu](https://github.com/tnhu): A Jekyll plugin to include a file from its path relative to Jekyll's source folder.
+- [Jekyll Download Tag](https://github.com/mattg/jekyll-download-tag): A Liquid tag that acts like `include`, but for external resources.
#### Collections
- [Jekyll Plugins by Recursive Design](https://github.com/recurser/jekyll-plugins): Plugins to generate Project pages from GitHub readmes, a Category page, and a Sitemap generator.
-- [Company website and blog plugins](https://github.com/flatterline/jekyll-plugins) by Flatterline, a [Ruby on Rails development company](http://flatterline.com/): Portfolio/project page generator, team/individual page generator, an author bio liquid tag for use on posts, and a few other smaller plugins.
+- [Company website and blog plugins](https://github.com/flatterline/jekyll-plugins) by Flatterline, a Ruby on Rails development company: Portfolio/project page generator, team/individual page generator, an author bio liquid tag for use on posts, and a few other smaller plugins.
- [Jekyll plugins by Aucor](https://github.com/aucor/jekyll-plugins): Plugins for trimming unwanted newlines/whitespace and sorting pages by weight attribute.
#### Other
@@ -890,7 +892,7 @@ LESS.js files during generation.
- [Jekyll-tagging](https://github.com/pattex/jekyll-tagging): Jekyll plugin to automatically generate a tag cloud and tag pages.
- [Jekyll-scholar](https://github.com/inukshuk/jekyll-scholar): Jekyll extensions for the blogging scholar.
- [Jekyll-asset_bundler](https://github.com/moshen/jekyll-asset_bundler): Bundles and minifies JavaScript and CSS.
-- [Jekyll-assets](http://ixti.net/jekyll-assets/) by [ixti](https://github.com/ixti): Rails-alike assets pipeline (write assets in CoffeeScript, Sass, LESS etc; specify dependencies for automatic bundling using simple declarative comments in assets; minify and compress; use JST templates; cache bust; and many-many more).
+- [Jekyll-assets](http://jekyll.github.io/jekyll-assets/) by [ixti](https://github.com/ixti): Rails-alike assets pipeline (write assets in CoffeeScript, Sass, LESS etc; specify dependencies for automatic bundling using simple declarative comments in assets; minify and compress; use JST templates; cache bust; and many-many more).
- [JAPR](https://github.com/kitsched/japr): Jekyll Asset Pipeline Reborn - Powerful asset pipeline for Jekyll that collects, converts and compresses JavaScript and CSS assets.
- [File compressor](https://gist.github.com/2758691) by [mytharcher](https://github.com/mytharcher): Compress HTML and JavaScript files on site build.
- [Jekyll-minibundle](https://github.com/tkareine/jekyll-minibundle): Asset bundling and cache busting using external minification tool of your choice. No gem dependencies.
@@ -914,6 +916,9 @@ LESS.js files during generation.
- [Jekyll-Spotify](https://github.com/MertcanGokgoz/Jekyll-Spotify): Easily output Spotify Embed Player for jekyll
- [jekyll-menus](https://github.com/forestryio/jekyll-menus): Hugo style menus for your Jekyll site... recursive menus included.
- [jekyll-data](https://github.com/ashmaroli/jekyll-data): Read data files within Jekyll Theme Gems.
+- [jekyll-pinboard](https://github.com/snaptortoise/jekyll-pinboard-plugin): Access your Pinboard bookmarks within your Jekyll theme.
+- [jekyll-migrate-permalink](https://github.com/mpchadwick/jekyll-migrate-permalink): Adds a `migrate-permalink` sub-command to help deal with side effects of changing your permalink.
+- [Jekyll-Post](https://github.com/robcrocombe/jekyll-post): A CLI tool to easily draft, edit, and publish Jekyll posts.
#### Editors
diff --git a/docs/_docs/quickstart.md b/docs/_docs/quickstart.md
index 969b5384..d15a9eb1 100644
--- a/docs/_docs/quickstart.md
+++ b/docs/_docs/quickstart.md
@@ -4,25 +4,42 @@ title: Quick-start guide
permalink: /docs/quickstart/
---
-For the impatient, here's how to get a boilerplate Jekyll site up and running.
+If you already have [Ruby](https://www.ruby-lang.org/en/downloads/) and [RubyGems](https://rubygems.org/pages/download) installed (see Jekyll's [requirements](/docs/installation/#requirements/)), you can create a new Jekyll site by doing the following:
```sh
+# Install Jekyll and Bundler gems through RubyGems
~ $ gem install jekyll bundler
+
+# Create a new Jekyll site at ./myblog
~ $ jekyll new myblog
+
+# Change into your new directory
~ $ cd myblog
+
+# Build the site on the preview server
~/myblog $ bundle exec jekyll serve
-# => Now browse to http://localhost:4000
+
+# Now browse to http://localhost:4000
```
-The `jekyll new` command now automatically initiates `bundle install` and installs the dependencies required. To skip this, pass `--skip-bundle` option like so `jekyll new myblog --skip-bundle`.
+## About Bundler
-If you wish to install jekyll into an existing directory, you can do so by running `jekyll new .` from within the directory instead of creating a new one. If the existing directory isn't empty, you'll also have to pass the `--force` option like so `jekyll new . --force`.
+`gem install jekyll bundler` installs the [jekyll](https://rubygems.org/gems/jekyll/) and [bundler](https://rubygems.org/gems/bundler) gems through [RubyGems](https://rubygems.org/). You need only to install the gems one time — not every time you create a new Jekyll project. Here are some additional details:
-That's nothing, though. The real magic happens when you start creating blog
-posts, using the front matter to control templates and layouts, and taking
-advantage of all the awesome configuration options Jekyll makes available.
+* `bundler` is a gem that manages other Ruby gems. It makes sure your gems and gem versions are compatible, and that you have all necessary dependencies each gem requires.
+* The `Gemfile` and `Gemfile.lock` files inform Bundler about the gem requirements in your site. If your site doesn't have these Gemfiles, you can omit `bundle exec` and just run `jekyll serve`.
-If you're running into problems, ensure you have all the [requirements
-installed][Installation].
+* When you run `bundle exec jekyll serve`, Bundler uses the gems and versions as specified in `Gemfile.lock` to ensure your Jekyll site builds with no compatibility or dependency conflicts.
-[Installation]: /docs/installation/
+## Options for creating a new site with Jekyll
+
+`jekyll new ` installs a new Jekyll site at the path specified (relative to current directory). In this case, Jekyll will be installed in a directory called `myblog`. Here are some additional details:
+
+* To install the Jekyll site into the directory you're currently in, run `jekyll new .` If the existing directory isn't empty, you can pass the `--force` option with `jekyll new . --force`.
+* `jekyll new` automatically initiates `bundle install` to install the dependencies required. (If you don't want Bundler to install the gems, use `jekyll new myblog --skip-bundle`.)
+* By default, the Jekyll site installed by `jekyll new` uses a gem-based theme called [Minima](https://github.com/jekyll/minima). With [gem-based themes](../themes), some of the directories and files are stored in the theme-gem, hidden from your immediate view.
+* To learn about other parameters you can include with `jekyll new`, type `jekyll new --help`.
+
+## Next steps
+
+Building a Jekyll site with the default theme is just the first step. The real magic happens when you start creating blog posts, using the front matter to control templates and layouts, and taking advantage of all the awesome configuration options Jekyll makes available.
diff --git a/docs/_docs/resources.md b/docs/_docs/resources.md
index e17035ad..2042b1a6 100644
--- a/docs/_docs/resources.md
+++ b/docs/_docs/resources.md
@@ -9,19 +9,19 @@ Jekyll’s growing use is producing a wide variety of tutorials, frameworks, ext
### Useful Guides
- [Jekyll Tips](http://jekyll.tips) is a set of resources created by [CloudCannon](https://cloudcannon.com) to help folks get up and running with Jekyll. They cover all skill levels, and even include some great video tutorials.
-- [Jekyll Cheatsheet](http://cheat.jekyll.tips) is a single-page resource for Jekyll filters, variables, and the like.
+- [Jekyll Cheatsheet](http://jekyll.tips/jekyll-cheat-sheet/) is a single-page resource for Jekyll filters, variables, and the like.
- [“Creating and Hosting a Personal Site on GitHub”](http://jmcglone.com/guides/github-pages/)
-- [‘Build A Blog With Jekyll And GitHub Pages’ on Smashing Magazine](http://www.smashingmagazine.com/2014/08/01/build-blog-jekyll-github-pages/)
+- [‘Build A Blog With Jekyll And GitHub Pages’ on Smashing Magazine](https://www.smashingmagazine.com/2014/08/01/build-blog-jekyll-github-pages/)
- Publishing to GitHub Pages? [Check out our documentation page for just that purpose](/docs/github-pages/).
-- [Blogging with Git, Emacs and Jekyll](http://metajack.im/2009/01/23/blogging-with-git-emacs-and-jekyll/)
+- [Blogging with Git, Emacs and Jekyll](https://metajack.im/2009/01/23/blogging-with-git-emacs-and-jekyll/)
- [Tips for working with GitHub Pages Integration](https://gist.github.com/jedschneider/2890453)
### Integrations
- Use a saas service as a backend for forms (contact forms, hiring forms, etc.)
- - [Formspree (also open source)](http://formspree.io/)
+ - [Formspree (also open source)](https://formspree.io/)
- [FormKeep](https://formkeep.com/guides/contact-form-jekyll?utm_source=github&utm_medium=jekyll-docs&utm_campaign=contact-form-jekyll)
- - [Simple Form](http://getsimpleform.com/)
+ - [Simple Form](https://getsimpleform.com/)
- [Formingo](https://www.formingo.co/guides/jekyll?utm_source=github&utm_medium=jekyll-docs&utm_campaign=Jekyll%20Documentation)
- [Jekyll Bootstrap](http://jekyllbootstrap.com), 0 to Blog in 3 minutes. Provides detailed explanations, examples, and helper-code to make getting started with Jekyll easier.
- [Integrating Twitter with Jekyll](http://www.justkez.com/integrating-twitter-with-jekyll/)
diff --git a/docs/_docs/sites.md b/docs/_docs/sites.md
index 61fbba13..28e464ba 100644
--- a/docs/_docs/sites.md
+++ b/docs/_docs/sites.md
@@ -10,9 +10,9 @@ learning purposes.
- [Tom Preston-Werner](http://tom.preston-werner.com/)
([source](https://github.com/mojombo/mojombo.github.io))
-- [GitHub Official Teaching Materials](http://training.github.com)
+- [GitHub Official Teaching Materials](https://services.github.com/training/)
([source](https://github.com/github/training-kit))
-- [Rasmus Andersson](http://rsms.me/)
+- [Rasmus Andersson](https://rsms.me/)
([source](https://github.com/rsms/rsms.github.com))
If you would like to explore more examples, you can find a list of sites
diff --git a/docs/_docs/static_files.md b/docs/_docs/static_files.md
index 19d45089..55a72747 100644
--- a/docs/_docs/static_files.md
+++ b/docs/_docs/static_files.md
@@ -26,7 +26,7 @@ following metadata:
file.path
|
- The relative path to the file, e.g /assets/img/image.jpg
+ The relative path to the file, e.g. /assets/img/image.jpg
|
|
@@ -34,7 +34,7 @@ following metadata:
file.modified_time
|
- The `Time` the file was last modified, e.g 2016-04-01 16:35:26 +0200
+ The `Time` the file was last modified, e.g. 2016-04-01 16:35:26 +0200
|
diff --git a/docs/_docs/structure.md b/docs/_docs/structure.md
index b21cb1b2..bdfaab59 100644
--- a/docs/_docs/structure.md
+++ b/docs/_docs/structure.md
@@ -17,6 +17,8 @@ A basic Jekyll site usually looks something like this:
```sh
.
├── _config.yml
+├── _data
+| └── members.yml
├── _drafts
| ├── begin-with-the-crazy-ideas.md
| └── on-simplicity-in-technology.md
@@ -29,13 +31,25 @@ A basic Jekyll site usually looks something like this:
├── _posts
| ├── 2007-10-29-why-every-programmer-should-play-nethack.md
| └── 2009-04-26-barcamp-boston-4-roundup.md
-├── _data
-| └── members.yml
+├── _sass
+| ├── _base.scss
+| └── _layout.scss
├── _site
├── .jekyll-metadata
-└── index.html
+└── index.html # can also be an 'index.md' with valid YAML Frontmatter
```
+
+
Directory structure of Jekyll sites using gem-based themes
+
+ Starting Jekyll 3.2, a new Jekyll project bootstrapped with jekyll new
uses gem-based themes to define the look of the site. This results in a lighter default directory structure : _layouts
, _includes
and _sass
are stored in the theme-gem, by default.
+
+
+
+ minima is the current default theme, and bundle show minima
will show you where minima theme's files are stored on your computer.
+
+
+
An overview of what each of these does:
@@ -53,11 +67,9 @@ An overview of what each of these does:
-
Stores configuration data. Many of
these options can be specified from the command line executable but
it’s easier to specify them here so you don’t have to remember them.
-
|
@@ -67,11 +79,9 @@ An overview of what each of these does:
-
Drafts are unpublished posts. The format of these files is without a
date: title.MARKUP . Learn how to
work with drafts.
-
|
@@ -81,13 +91,11 @@ An overview of what each of these does:
-
These are the partials that can be mixed and matched by your layouts
and posts to facilitate reuse. The liquid tag
{% raw %}{% include file.ext %}{% endraw %}
can be used to include the partial in
_includes/file.ext .
-
|
@@ -97,14 +105,12 @@ An overview of what each of these does:
-
These are the templates that wrap posts. Layouts are chosen on a
post-by-post basis in the
YAML Front Matter,
which is described in the next section. The liquid tag
{% raw %}{{ content }}{% endraw %}
is used to inject content into the web page.
-
|
@@ -114,14 +120,12 @@ An overview of what each of these does:
-
Your dynamic content, so to speak. The naming convention of these
files is important, and must follow the format:
YEAR-MONTH-DAY-title.MARKUP .
The permalinks can be customized for
each post, but the date and markup language are determined solely by
the file name.
-
|
@@ -131,15 +135,25 @@ An overview of what each of these does:
-
Well-formatted site data should be placed here. The Jekyll engine
- will autoload all YAML files in this directory (using either the
- .yml , .yaml , .json or
- .csv formats and extensions) and they will be
+ will autoload all data files (using either the .yml ,
+ .yaml , .json or .csv
+ formats and extensions) in this directory, and they will be
accessible via `site.data`. If there's a file
members.yml under the directory, then you can access
contents of the file through site.data.members .
-
+
+ |
+
+
+
+ _sass
+ |
+
+
+ These are sass partials that can be imported into your main.scss
+ which will then be processed into a single stylesheet
+ main.css that defines the styles to be used by your site.
|
@@ -149,11 +163,9 @@ An overview of what each of these does:
-
This is where the generated site will be placed (by default) once
Jekyll is done transforming it. It’s probably a good idea to add this
to your .gitignore file.
-
|
@@ -163,29 +175,26 @@ An overview of what each of these does:
-
This helps Jekyll keep track of which files have not been modified
since the site was last built, and which files will need to be
regenerated on the next build. This file will not be included in the
generated site. It’s probably a good idea to add this to your
.gitignore file.
-
|
- index.html and other HTML, Markdown, Textile files
+ index.html or index.md and other HTML,
+ Markdown, Textile files
|
-
Provided that the file has a YAML Front
Matter section, it will be transformed by Jekyll. The same will
happen for any .html , .markdown ,
.md , or .textile file in your site’s root
directory or directories not listed above.
-
|
@@ -195,14 +204,12 @@ An overview of what each of these does:
-
Every other directory and file except for those listed above—such as
css and images folders,
favicon.ico files, and so forth—will be copied verbatim
to the generated site. There are plenty of sites
already using Jekyll if you’re curious to see how they’re laid
out.
-
|
diff --git a/docs/_docs/templates.md b/docs/_docs/templates.md
index 54f914f7..79b5fdae 100644
--- a/docs/_docs/templates.md
+++ b/docs/_docs/templates.md
@@ -147,6 +147,22 @@ common tasks easier.
+
+
+ Group By Expression
+ Group an array's items using a Liquid expression.
+ |
+
+
+ {% raw %}{{ site.members | group_by_exp:"item",
+"item.graduation_year | truncate: 3, \"\"" }}{% endraw %}
+
+
+ [{"name"=>"201...", "items"=>[...]},
+{"name"=>"200...", "items"=>[...]}]
+
+ |
+
XML Escape
@@ -208,7 +224,7 @@ common tasks easier.
|
Array to Sentence
- Convert an array into a sentence. Useful for listing tags.
+ Convert an array into a sentence. Useful for listing tags. Optional argument for connector.
|
@@ -217,6 +233,12 @@ common tasks easier.
foo, bar, and baz
+
+ {% raw %}{{ page.tags | array_to_sentence_string: 'or' }}{% endraw %}
+
+
+ foo, bar, or baz
+
|
@@ -518,10 +540,10 @@ You must include the file extension when using the `link` tag.
```liquid
{% raw %}
-{% link _collection/name-of-document.md %}
-{% link _posts/2016-07-26-name-of-post.md %}
-{% link news/index.html %}
-{% link /assets/files/doc.pdf %}
+{{ site.baseurl }}{% link _collection/name-of-document.md %}
+{{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %}
+{{ site.baseurl }}{% link news/index.html %}
+{{ site.baseurl }}{% link /assets/files/doc.pdf %}
{% endraw %}
```
@@ -529,10 +551,10 @@ You can also use this tag to create a link in Markdown as follows:
```liquid
{% raw %}
-[Link to a document]({% link _collection/name-of-document.md %})
-[Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
-[Link to a page]({% link news/index.html %})
-[Link to a file]({% link /assets/files/doc.pdf %})
+[Link to a document]({{ site.baseurl }}{% link _collection/name-of-document.md %})
+[Link to a post]({{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %})
+[Link to a page]({{ site.baseurl }}{% link news/index.html %})
+[Link to a file]({{ site.baseurl }}{% link /assets/files/doc.pdf %})
{% endraw %}
```
@@ -543,7 +565,7 @@ will generate the correct permalink URL for the post you specify.
```liquid
{% raw %}
-{% post_url 2010-07-21-name-of-post %}
+{{ site.baseurl }}{% post_url 2010-07-21-name-of-post %}
{% endraw %}
```
@@ -552,7 +574,7 @@ path to the post:
```liquid
{% raw %}
-{% post_url /subdir/2010-07-21-name-of-post %}
+{{ site.baseurl }}{% post_url /subdir/2010-07-21-name-of-post %}
{% endraw %}
```
@@ -562,7 +584,7 @@ You can also use this tag to create a link to a post in Markdown as follows:
```liquid
{% raw %}
-[Name of Link]({% post_url 2010-07-21-name-of-post %})
+[Name of Link]({{ site.baseurl }}{% post_url 2010-07-21-name-of-post %})
{% endraw %}
```
diff --git a/docs/_docs/upgrading/2-to-3.md b/docs/_docs/upgrading/2-to-3.md
index 9e7b0a6e..0d145b9c 100644
--- a/docs/_docs/upgrading/2-to-3.md
+++ b/docs/_docs/upgrading/2-to-3.md
@@ -68,7 +68,7 @@ generate when running `jekyll build` or `jekyll serve`.
Future Posts on GitHub Pages
- An exception to the above rule are GitHub Pages sites, where the `--future` flag remains _enabled_
+ An exception to the above rule are GitHub Pages sites, where the --future
flag remains enabled
by default to maintain historical consistency for those sites.
@@ -100,7 +100,7 @@ error when trying to **serve** or **build**:
```text
Since v3.0, permalinks for pages in subfolders must be relative to the site
source directory, not the parent directory. Check
-http://jekyllrb.com/docs/upgrading/ for more info.
+https://jekyllrb.com/docs/upgrading/ for more info.
```
This can be fixed by removing the following line from your `_config.yml` file:
diff --git a/docs/_docs/usage.md b/docs/_docs/usage.md
index 3d2413d4..e6f1a0db 100644
--- a/docs/_docs/usage.md
+++ b/docs/_docs/usage.md
@@ -60,7 +60,7 @@ $ jekyll serve
$ jekyll serve --detach
# => Same as `jekyll serve` but will detach from the current terminal.
# If you need to kill the server, you can `kill -9 1234` where "1234" is the PID.
-# If you cannot find the PID, then do, `ps aux | grep jekyll` and kill the instance. [Read more](http://unixhelp.ed.ac.uk/shell/jobz5.html).
+# If you cannot find the PID, then do, `ps aux | grep jekyll` and kill the instance.
```
diff --git a/docs/_docs/variables.md b/docs/_docs/variables.md
index 059e092b..1d4e2091 100644
--- a/docs/_docs/variables.md
+++ b/docs/_docs/variables.md
@@ -339,7 +339,7 @@ following is a reference of the available data.
If you specify front matter in a layout, access that via layout
.
For example, if you specify class: full_page
- in a page’s front matter, that value will be available as
+ in a layout’s front matter, that value will be available as
layout.class
in the layout and its parents.
diff --git a/docs/_docs/windows.md b/docs/_docs/windows.md
index 68edd8ef..8d7bb8bc 100644
--- a/docs/_docs/windows.md
+++ b/docs/_docs/windows.md
@@ -16,10 +16,12 @@ A quick way to install Jekyll is to follow the [installation instructions by Dav
2. Install Ruby via Chocolatey: `choco install ruby -y`
3. Reopen a command prompt and install Jekyll: `gem install jekyll`
-For a more conventional way of installing Jekyll you can follow the [installation instructions by Sverrir Sigmundarson][windows-installjekyll3]. These instructions are for newer versions of Ruby 2.2.5 and Jekyll 3.
+Updates in the infrastructure of Ruby may cause SSL errors when attempting to use `gem install` with versions of the RubyGems package older than 2.6. (The RubyGems package installed via the Chocolatey tool is version 2.3) If you have installed an older version, you can update the RubyGems package using the directions [here.][ssl-certificate-update]
+[ssl-certificate-update]: http://guides.rubygems.org/ssl-certificate-update/#installing-using-update-packages
-For instructions for older versions of Ruby 2.0.0 ([prior to 2.2][hitimes-issue]) and Jekyll 2 and older you should follow the [installation instruction by Julian Thilo][windows-installation].
+For a more conventional way of installing Jekyll you can follow this [complete guide to install Jekyll 3 on Windows by Sverrir Sigmundarson][windows-installjekyll3].
+[windows-installjekyll3]: https://labs.sverrirs.com/jekyll/
## Encoding
@@ -35,9 +37,18 @@ the site generation process. It can be done with the following command:
$ chcp 65001
```
-[windows-installation]: http://jekyll-windows.juthilo.com/
-[windows-installjekyll3]: https://labs.sverrirs.com/jekyll/
-[hitimes-issue]: https://github.com/copiousfreetime/hitimes/issues/40
+## Timezone Management
+
+Since Windows doesn't have a native source of zoneinfo data, the Ruby Interpreter would not understand IANA Timezones and hence using them had the `TZ` environment variable default to UTC/GMT 00:00.
+Though Windows users could alternatively define their blog's timezone by setting the key to use POSIX format of defining timezones, it wasn't as user-friendly when it came to having the clock altered to changing DST-rules.
+
+Jekyll now uses a rubygem to internally configure Timezone based on established [IANA Timezone Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
+While 'new' blogs created with Jekyll v3.4 and greater, will have the following added to their 'Gemfile' by default, existing sites *will* have to update their 'Gemfile' (and installed) to enable development on Windows:
+
+```ruby
+# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
+gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
+```
## Auto-regeneration
@@ -102,8 +113,8 @@ This gem is also needed in the github-pages and to get it running on Windows x64
```ruby
-source 'http://rubygems.org'
-gem 'github-pages'
+source 'https://rubygems.org'
+gem 'github-pages', group: :jekyll_plugins
```
* **Note:** We use an unsecure connection because SSL throws exceptions in the version of Ruby
@@ -115,7 +126,7 @@ There will be a warning on startup that you should include `gem 'wdm', '>= 0.1.0
In the future the installation process of the github-pages should be as simple as the setup of the blog. But as long as the new version of the Nokogiri ([v1.6.8][nokogiriReleases]) is not stable and referenced, it is work to get it up and running on Windows.
-[jwillmerPost]: http://jwillmer.de/blog/tutorial/how-to-install-jekyll-and-pages-gem-on-windows-10-x46 "Installation instructions by Jens Willmer"
+[jwillmerPost]: https://jwillmer.de/blog/tutorial/how-to-install-jekyll-and-pages-gem-on-windows-10-x46 "Installation instructions by Jens Willmer"
[Chocolatey]: https://chocolatey.org/install "Package manager for Windows"
[Bundler]: http://bundler.io/ "Ruby Dependencie Manager"
[nokogiriReleases]: https://github.com/sparklemotion/nokogiri/releases "Nokogiri Releases"
diff --git a/docs/_includes/analytics.html b/docs/_includes/analytics.html
index 5bbfc888..05761c29 100644
--- a/docs/_includes/analytics.html
+++ b/docs/_includes/analytics.html
@@ -1,5 +1,5 @@
{% if site.gauges_id %}
-
+