Skip to content
Snippets Groups Projects
README.md 4.47 KiB
Newer Older
Takuya Noguchi's avatar
Takuya Noguchi committed
[![Build Status](https://gitlab.com/pages/jekyll/badges/master/pipeline.svg)](https://gitlab.com/pages/jekyll/-/pipelines?ref=master)
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
![Jekyll Version](https://img.shields.io/gem/v/jekyll.svg)

---

Example [Jekyll] website using GitLab Pages.  View it live at https://pages.gitlab.io/jekyll
[Learn more about GitLab Pages](https://pages.gitlab.io) or read the the [official GitLab Pages documentation](https://docs.gitlab.com/ce/user/project/pages/).
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
<!-- 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)
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
- [GitLab CI](#gitlab-ci)
- [Using Jekyll locally](#using-jekyll-locally)
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
- [GitLab User or Group Pages](#gitlab-user-or-group-pages)
- [Did you fork this project?](#did-you-fork-this-project)
- [Other examples](#other-examples)
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
- [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 (⚙)** > **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.

Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
## GitLab CI
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
This project's static Pages are built by [GitLab CI][ci], following the steps
defined in [`.gitlab-ci.yml`](.gitlab-ci.yml):
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
```
Takuya Noguchi's avatar
Takuya Noguchi committed
image: ruby:latest
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
pages:
  script:
  - bundle install
  - bundle exec jekyll build -d public
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
  artifacts:
    paths:
    - public
  only:
  - master
```
## Using Jekyll locally
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
To work locally with this project, you'll have to follow the steps below:
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
1. Fork, clone or download this project
1. [Install][] Jekyll
1. Download dependencies: `bundle`
1. Build and preview: `bundle exec jekyll serve`
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
1. Add content
The above commands should be executed from the root directory of this project.

Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
Read more at Jekyll's [documentation][].
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
## GitLab User or Group Pages
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
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**.
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
Read more about [user/group Pages][userpages] and [project Pages][projpages].
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
## Did you fork this project?
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
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.
## Other examples

* [jekyll-branched](https://gitlab.com/pages/jekyll-branched) demonstrates how you can keep your GitLab Pages site in one branch and your project's source code in another.
Takuya Noguchi's avatar
Takuya Noguchi committed
* The [jekyll-themes](https://gitlab.com/jekyll-themes) group contains a collection of example projects you can fork (like this one) having different visual styles.
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
## Troubleshooting
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
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
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
    set in order to serve static assets under a relative URL.
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
[ci]: https://about.gitlab.com/gitlab-ci/
[Jekyll]: http://jekyllrb.com/
Achilleas Pipinellis's avatar
Achilleas Pipinellis committed
[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