Skip to content
Toshaan Bharvani edited this page Aug 11, 2019 · 6 revisions

Welcome to the cfgmgmtcamp.eu wiki!

This is a wiki on how we create our website using Hugo CMS.
The wiki explains how you can create content, it does not go into details on how the content is created.

Some basics on Hugo CMS.

Building

We use the Makefile to build our site, and recommend you do the same.
You need to have HugoCMS, use go get github.com/gohugoio/hugo to install HugoCMS If this doesn't work, please refer to the Hugo CMS documentation on https://github.com/gohugoio/hugo

The Makefile build and serves the website.

  • make : builds the website using Hugo
  • make serve : builds the website and serves it locally usally on port 1313
  • make draft : builds the website including any draft, archived or future posts

Event

HugoCMS has the concept op languages, and we use this for each event, an event is defined as a HugoCMS language.

Structure

├── assets
│   └── images
│       ├── speakers
│       └── sponsors
├── config
│   ├── _default
│   ├── development
│   └── production
├── content
│   ├── <eventcode>
│   │   ├── fringes
│   │   ├── ghent
│   │   ├── past
│   │   ├── posts
│   │   ├── room
│   │   ├── schedule
│   │   ├── speaker
│   │   └── sponsors
├── data
│   ├── <eventcode>
│   │   └── timeslots
├── static
│   ├── archive
│   │   ├── 2014
│   │   ├── 2015
│   │   ├── berlin-2016
│   │   ├── gent-2016
│   │   ├── gent-2017
│   │   ├── gent-2018
│   │   └── pdx-2017
│   ├── files
│   ├── images
│   ├── schedule
│   └── speakers
└── themes
    └── cfgmgmtcamp
        ├── archetypes
        ├── assets
        ├── layouts
        └── static

For the purpose of creating content the content/ folder is the most important.
The eventcode is the name of the city followed directly by the year.

The structure shows the following different content types for each event :

  • fringes : this contains the fringe event pages
  • posts : this contains the blog posts of the website
  • room : this refers to the rooms at the venue
  • schedule : this is the talk schedule folder and contains the sub folders per day for creating a grid overview of the talks
  • speaker : this contains the speaker pages
  • sponsors : this contains the sponsor data

The public/ and the resource/ folders is where HugoCMS outputs the website pages.

  • The public/ folder contain html, image and other output data, if you use the Makefile, it will compress all pages using gzip.
  • The resources/ folder contains the data HugoCMS uses as resources to generate output from.

Content

There are 2 basic ways to create content :

  • your favourite text editor
  • using Hugo CMS : hugo new <filename>

The Hugo CMS command creates the metadata structure in the file you specify for you.
Because we're all YAML engineer, the default metadata structure is in YAML, however TOML and JSON are also supported.

Each of the content types will have a specific wiki page with more information and the metadata content.
Please use the sidebar to navigate to the right content specific page.

Content Types

Clone this wiki locally