Skip to content
Snippets Groups Projects
README.md 3.49 KiB
Newer Older
Martyn Welch's avatar
Martyn Welch committed
# Apertis Website
GitLab's avatar
GitLab committed

Martyn Welch's avatar
Martyn Welch committed
This is the source for the main Apertis website. It is generated using
[Hugo](https://gohugo.io/) with a modified
[Beautiful Hugo theme](https://github.com/halogenica/beautifulhugo), changing
Martyn Welch's avatar
Martyn Welch committed
the look, implementing search and allowing for the generation of PDFs. The page
is served from GitLab pages.
## Document layout

When adding documents to the Apertis Website, please adhere to the following
layout guidelines:

- Policies:
  - Documenting procedures and rules
  - Minimal requirements for project involvement
- Concepts:
  - Topics that have been researched and/or planned but which haven't yet been
    implemented
- Architecture:
  - Description of project infrastructure
  - Details of technologies and software used by Apertis
- Guides:
  - Guidance on using specific software features
  - Worked examples of expected project workflows
- QA:
  - Test reports
  - Test procedures (realistically, a description of the testing performed and
    a pointer to qa.apertis.org)
- Releases:
  - Release notes
  - Release schedules

## Spelling

In order to provide some consistency and quality to the website, we would like
to ensure that all documents have been spellchecked. In the mid-term we would
like checks to be performed as part of the websites CI/CD, using Aspell to
check the spellings. As it is likely that many of the documents use words not
in Aspell's dictionaries, we are starting with a manual approach to start
building up a personal dictionary of additional words that the Apertis project
is happy with.

When making changes or adding documents, please run:

    aspell --personal="./dictionary.aspell" --lang="en_us" --mode=markdown check <document>

Any issues caught should be rectified or added to the `dictionary.aspell` file
(maintaining the alphabetical order being used).

## Use of Hugo `ref` Shortcode

Hugo provides the `ref` shortcode to aid with
[creating links between documents](https://gohugo.io/content-management/cross-references/).
This should be used for all references internal to the website. The generation
process will fail when the target page of the reference can not be found,
causing the CI to fail and thus aids with reducing the risk broken links being
provided on the website.

## Generating PDFs

In order to generate PDFs, we are getting Hugo to create a simplified HTML
pages. So as not to have every page generating a PDF, to get a page to be
generated as a PDF (and HTML at the same time) add the following to the front
matter of the page:

```
outputs = ["html", "pdf-in"]
```

This will result in the simplified HTML being produced in a file called
`index.pdf-in` in the relevant directory. The CI is configured to look for
these files once Hugo has generated the site and create PDFs of them. For the
page `www.apertis.org/concepts/foo/`, a PDF will be available as
`www.apertis.org/concepts/foo/foo.pdf`.

GitLab's avatar
GitLab committed
## GitLab CI

This project's static Pages are built by [GitLab CI][ci], following the steps
defined in [`.gitlab-ci.yml`](.gitlab-ci.yml).

## Building locally

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

1. Fork, clone or download this project
Martyn Welch's avatar
Martyn Welch committed
1. [Install][https://gohugo.io/overview/installing/] Hugo
GitLab's avatar
GitLab committed
1. Preview your project: `hugo server`
1. Add content
1. Generate the website: `hugo` (optional)

Martyn Welch's avatar
Martyn Welch committed
Read more at Hugo's [documentation][https://gohugo.io/overview/introduction/].
GitLab's avatar
GitLab committed

### Preview your site

If you clone or download this project to your local computer and run `hugo
server`, your site can be accessed under `localhost:1313/hugo/`.
GitLab's avatar
GitLab committed