Example Jekyll website using GitLab Pages. View it live at https://pages.gitlab.io/jekyll
Learn more about GitLab Pages or read the the official GitLab Pages documentation.
Table of Contents generated with DocToc
- Getting Started
- GitLab CI
- Using Jekyll locally
- GitLab User or Group Pages
- Did you fork this project?
- Other examples
- Troubleshooting
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.
- Fork this repository.
- IMPORTANT: Remove the fork relationship. Go to Settings (⚙) > Edit Project and click the "Remove fork relationship" button.
- Enable Shared Runners. Go to Settings (⚙) > Pipelines and click the "Enable shared Runners" button.
- Rename the repository to match the name you want for your site.
- Edit your website through GitLab or clone the repository and push your changes.
- Install Jekyll.
- Use
jekyll new
to create a new Jekyll Project. - Add this
.gitlab-ci.yml
to the root of your project. - Push your repository and changes to GitLab.
This project's static Pages are built by GitLab CI, following the steps
defined in .gitlab-ci.yml
:
image: ruby:2.3
variables:
JEKYLL_ENV: production
pages:
script:
- bundle install
- bundle exec jekyll build -d public
artifacts:
paths:
- public
only:
- master
To work locally with this project, you'll have to follow the steps below:
- Fork, clone or download this project
- Install Jekyll
- Download dependencies:
bundle
- Build and preview:
bundle exec jekyll serve --host=0.0.0.0
- Add content
The above commands should be executed from the root directory of this project.
Read more at Jekyll's documentation.
Containers makes it even easier: podman run --rm -d -p 8080:4000 -v $(pwd):/site docker.io/bretfisher/jekyll-serve
podman run --rm -it -v $(pwd):/srv/jekyll docker.io/jekyll/builder:4.2.0 jekyll build --verbose --trace
podman run --rm -it -v $(pwd):/srv/jekyll -p 8080:4000 docker.io/jekyll/builder:4.2.0 jekyll serve
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 and project Pages.
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.
- jekyll-branched demonstrates how you can keep your GitLab Pages site in one branch and your project's source code in another.
- The jekyll-themes group contains a collection of example projects you can fork (like this one) having different visual styles.
- 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.