Adding details to GitHub Pages deployment docs regarding relative URLs.

Fixes #1291.
This commit is contained in:
Matt Swensen 2013-07-10 13:53:34 +02:00 committed by Parker Moore
parent 14a57529e4
commit 73f942cf7d
1 changed files with 25 additions and 0 deletions

View File

@ -54,6 +54,31 @@ actual software project for Jekyll, however the Jekyll website (that youre
looking at right now) is contained in the [gh-pages
branch](https://github.com/mojombo/jekyll/tree/gh-pages) of the same repository.
### Project Page URL Structure
Sometimes it's nice to preview your Jekyll site before you push your `gh-pages`
branch to GitHub. However, the subdirectory-like URL structure GitHub uses for
Project Pages complicates the proper resolution of URLs. Here is an approach to
utilizing the GitHub Project Page URL structure (`username.github.io/project-name/`)
whilst maintaining the ability to preview your Jekyll site locally.
1. In `_config.yml`, set the `baseurl` option to `/project-name` -- note the
leading slash and the **absence** of a trailing slash.
2. When referencing JS or CSS files, do it like this:
`{% raw %}{{ site.baseurl}}/path/to/css.css{% endraw %}` -- note the slash
immediately following the variable (just before "path").
3. When doing permalinks or internal links, do it like this:
`{% raw %}{{ site.baseurl }}{{ post.url }}{% endraw %}` -- note that there
is **no** slash between the two variables.
4. Finally, if you'd like to preview your site before committing/deploying using
`jekyll serve`, be sure to pass an **empty string** to the `--baseurl` option,
so that you can view everything at `localhost:4000` normally (without
`/project-name` at the beginning): `jekyll serve --baseurl ''`
This way you can preview your site locally from the site root on localhost,
but when GitHub generates your pages from the gh-pages branch all the URLs
will start with `/project-name` and resolve properly.
<div class="note">
<h5>GitHub Pages Documentation, Help, and Support</h5>
<p>