Skip to content

Content for the course Programming Concepts 2 (PRC2) at Fontys Venlo

License

Notifications You must be signed in to change notification settings

FontysVenlo/prc2

Repository files navigation

PRC2 Documentation

This repository houses the documentation for the course PRC2 at Fontys Venlo.

The documentation will be automatically converted to be shown as Github pages at https://fontysvenlo.github.io/prc2/

Building

Prerequisites are:

  • Hugo extended edition (for SASS build)
  • npm for installing Javascript packages
  • Asciidoctor for converting AsciiDoc
  • asciidoctor-html5s for converting to semantic html5 (make sure to use the ruby version, not the nodejs version)
  • sebi-theme: Theme used for the website. Install by initializing the submodule under themes/sebi-theme

To build:

  1. First install needed Javascript packages with the following command: npm ci
  2. Install needed Javascript packages of the theme cd themes/sebi-theme && npm ci
  3. Build the website using Hugo
    • Build production: hugo --minify
    • Build development: hugo server
    • Build development with drafts: hugo server -D

Front matter

Every page (in content) has what is called a front matter. Here we can specify certain variables.

The most important variables in the front matter are

  • title: string, The title of the page
  • draft: boolean, whether the page should show up in production build
  • slug: string, what the URL to this page should look like, if not specified will be the file name
  • menu: specifies that it should be part of a menu
    • menu-name: string, the menu name
      • weight: int, the weight of the menu item, lower weight if lower in the menu

Structure

Content

The content directory houses the pages that should be generated from the documentation.

There are thee different kinds of pages.

Homepage

The homepage can be found in _index.adoc.

Docs

These pages contain the documentation for every week of the course.
These pages show up in the sidebar menu. To create a new docs page use the following command: hugo new docs/<week##>

ℹ️ The convention is to call the files week##

Pages

These pages contain miscellaneous content.
These pages show up in the header menu. To create a new page use the following command: hugo new pages/<name>

Static

This directory contains all the static files, namely

  1. icons
  2. images
  3. webfonts

Theme

This is a submodule that contains the theme that is used for the layout of the pages. The theme used is the sebi-theme.

Topics

This directory contains all the includes that are referenced by docs and pages.

config.yaml

This file contains the configuration for Hugo, asciidoctor and sebi-theme.

Package.json

This file contains the needed packages to be able to build the website.