lissarchive-website/readme.md

148 lines
4.7 KiB
Markdown

![Build Status](https://gitlab.com/pages/nikola/badges/master/build.svg)
---
hope this works...
Example [nikola] 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)*
- [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 -->
## 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: registry.gitlab.com/paddy-hack/nikola
test:
script:
- nikola build
except:
- master
pages:
script:
- nikola build
artifacts:
paths:
- public
only:
- master
```
This uses the `registry.gitlab.com/paddy-hack/nikola` Docker image,
which provides Nikola with all its extras, to build the site.
## Building locally
To work locally with this project, you can follow the steps below:
1. Fork, clone or download this project
1. [Install][] Nikola
1. Generate the website: `nikola build`
1. Preview your project: `nikola serve`
1. Add content
Read more at Nikola's [documentation][].
Alternatively, you can use the `registry.gitlab.com/paddy-hack/nikola`
Docker image. See the associated project's [README][image-readme] for
more information.
## 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].
## Using a different branch
If you keep code on the `master` branch and want the website on a different one,
for example a `blog` branch, then you must make the corresponding change
on the `pages` job in the `.gitlab-ci.yml` file.
```
only:
- blog
```
## 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 one of two things:
Either that you have set up the CSS URL in your templates incorrectly, or
your static generator has a configuration option that needs to be set explicitly
in order to serve static assets under a relative URL.
1. Building passes but deploy stage fails.
Nikola's default configuration will by default build the site in the `output` directory,
but GitLab expects it in `public`. So you must change
`OUTPUT_FOLDER = "public"` in `conf.py` or deploying will fail.
Alternatively, you can add `mv output public` in the `.gitlab-ci.yml` file
after the `nikola build` line.
If you cloned this project as your starting point, then `conf.py` is already updated
to build in the `public` directory.
1. I get a strange lexer exception
![Build fails](https://i.imgur.com/e5nJVct.png)
You are probably using extensions that require software not included in the `registry.gitlab.com/paddy-hack/nikola` image.
For example, if your site has Ipython/Jupyter posts
(that is, `.ipynb` format via `POSTS` or `PAGES` in `conf.py` )
GitLab build won't be able to compile them, even if you locally can.
The `registry.gitlab.com/paddy-hack/nikola` image includes the `nikola[extras]` but not any
additional software (like `ipython`, `pandoc`, `latex`, or any software you may
have on your local system) that your extensions may require.
The fix is to install any extra software you need before building.
In the case of `.ipynb` support, edit the `.gitlab-ci.yml` file and change
```
pages:
script:
- pip3 install jupyter
- nikola build
```
----
Forked from @sukiletxe
[ci]: https://about.gitlab.com/gitlab-ci/
[nikola]: https://getnikola.com/
[install]: https://getnikola.com/getting-started.html
[documentation]: https://getnikola.com/documentation.html
[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
[image-readme]: https://gitlab.com/paddy-hack/nikola