Skip to content
Snippets Groups Projects

Example Jupyter Book website using GitLab Pages.

Learn more about GitLab Pages at https://about.gitlab.com/stages-devops-lifecycle/pages/ and the official documentation https://docs.gitlab.com/ce/user/project/pages/.


Table of Contents generated with DocToc

GitLab CI

This project's static Pages are built by GitLab CI/CD, following the steps defined in .gitlab-ci.yml:

# Full project: https://gitlab.com/pages/jupyterbook

stages:
  - build
  - deploy

jupyter-build:
  stage: build
  image: python:slim
  script:
    - pip install -U jupyter-book
    - jupyter-book clean .
    - jupyter-book build .
  artifacts:
    paths:
      - _build/

pages:
  stage: deploy
  image: busybox:latest
  script:
    - mv _build/html public
  artifacts:
    paths:
      - public
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

Building locally

To work locally with this project, you'll have to follow the steps below:

  1. Install JupyterLab JupyterLab
  2. Install Jupyter Book
  3. Fork, clone or download this project
  4. cd jupyter-book-example -- the repository contains already an example of a book's source files, as described at Jupyter Book > Create your book’s source files
  5. Work on it... see for example Jupyter Book > Structure and organize your content
  6. Make a commit
  7. See the book published online at

Read more at Jupyter Book's Introduction.

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.

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.


Forked from @NikosAlexandris -- Thank you @stingrayza