If a user is using GitLab Pages it is most likely the user is using GitLab pages to publish a website not just stage a website that is published elsewhere. If a user is publishing a website with Jekyll, they (and Jekyll themes/plugins) will expect that JEKYLL_ENV=production. This commit provides that specification in `.gitlab-ci.yml`. An examination of the existing repository showed this should not result in any change to the current rendering of the website. However, the specification may be important for developers as explained in preceding commit.
114 lines
3.9 KiB
Markdown
114 lines
3.9 KiB
Markdown

|
|

|
|
|
|
---
|
|
|
|
Example [Jekyll] website using GitLab Pages.
|
|
|
|
Learn more about GitLab Pages at https://pages.gitlab.io and the official
|
|
documentation https://docs.gitlab.com/ce/user/project/pages/.
|
|
|
|
---
|
|
|
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
|
|
|
|
- [Getting Started](#getting-started)
|
|
- [Start by forking this repository](#start-by-forking-this-repository)
|
|
- [Start from a local Jekyll project](#start-from-a-local-jekyll-project)
|
|
- [GitLab CI](#gitlab-ci)
|
|
- [Building locally](#building-locally)
|
|
- [GitLab User or Group Pages](#gitlab-user-or-group-pages)
|
|
- [Did you fork this project?](#did-you-fork-this-project)
|
|
- [Troubleshooting](#troubleshooting)
|
|
|
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
|
|
## Getting Started
|
|
|
|
You can get started with GitLab Pages using Jekyll easily by either forking this repository or by uploading a new/existing Jekyll project.
|
|
|
|
Remember you need to wait for your site to build before you will be able to see your changes. You can track the build on the **Pipelines** tab.
|
|
|
|
### Start by forking this repository
|
|
|
|
1. Fork this repository.
|
|
1. **IMPORTANT:** Remove the fork relationship.
|
|
Go to **Settings (⚙)** > **Edit Project** and click the **"Remove fork relationship"** button.
|
|
1. Enable Shared Runners.
|
|
Go to **Settings (⚙)** > **CI/CD Pipelines** and click the **"Enable shared Runners"** button.
|
|
1. Rename the repository to match the name you want for your site.
|
|
1. Edit your website through GitLab or clone the repository and push your changes.
|
|
|
|
### Start from a local Jekyll project
|
|
|
|
1. [Install][] Jekyll.
|
|
1. Use `jekyll new` to create a new Jekyll Project.
|
|
1. Add [this `.gitlab-ci.yml`](.gitlab-ci.yml) to the root of your project.
|
|
1. Push your repository and changes to GitLab.
|
|
|
|
## GitLab CI
|
|
|
|
This project's static Pages are built by [GitLab CI][ci], following the steps
|
|
defined in [`.gitlab-ci.yml`](.gitlab-ci.yml):
|
|
|
|
```
|
|
image: ruby:2.3
|
|
|
|
variables:
|
|
JEKYLL_ENV: production
|
|
|
|
pages:
|
|
script:
|
|
- gem install jekyll
|
|
- jekyll build -d public
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
only:
|
|
- master
|
|
```
|
|
|
|
## Building locally
|
|
|
|
To work locally with this project, you'll have to follow the steps below:
|
|
|
|
1. Fork, clone or download this project
|
|
1. [Install][] Jekyll
|
|
1. Generate the website: `jekyll build -d public`
|
|
1. Preview your project: `jekyll serve`
|
|
1. Add content
|
|
|
|
Read more at Jekyll's [documentation][].
|
|
|
|
## GitLab User or Group Pages
|
|
|
|
To use this project as your user/group website, you will need one additional
|
|
step: just rename your project to `namespace.gitlab.io`, where `namespace` is
|
|
your `username` or `groupname`. This can be done by navigating to your
|
|
project's **Settings**.
|
|
|
|
Read more about [user/group Pages][userpages] and [project Pages][projpages].
|
|
|
|
## Did you fork this project?
|
|
|
|
If you forked this project for your own use, please go to your project's
|
|
**Settings** and remove the forking relationship, which won't be necessary
|
|
unless you want to contribute back to the upstream project.
|
|
|
|
## Troubleshooting
|
|
|
|
1. CSS is missing! That means two things:
|
|
|
|
Either that you have wrongly set up the CSS URL in your templates, or
|
|
your static generator has a configuration option that needs to be explicitly
|
|
set in order to serve static assets under a relative URL.
|
|
|
|
[ci]: https://about.gitlab.com/gitlab-ci/
|
|
[Jekyll]: http://jekyllrb.com/
|
|
[install]: https://jekyllrb.com/docs/installation/
|
|
[documentation]: https://jekyllrb.com/docs/home/
|
|
[userpages]: https://docs.gitlab.com/ce/user/project/pages/introduction.html#user-or-group-pages
|
|
[projpages]: https://docs.gitlab.com/ce/user/project/pages/introduction.html#project-pages
|