A Hugo changelog theme
Branch: master
Clone or download
jsnjack Merge pull request #6 from qguv/custom-js
Whoops, should probably document custom js support too
Latest commit 0aacef5 Feb 5, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.githooks Add flow to readme Oct 16, 2018
archetypes Ⓜ️ Add subtitle Oct 29, 2018
assets Ⓜ️ Add subtitle Oct 29, 2018
exampleSite Ⓜ️ Add subtitle Oct 29, 2018
images Prepare theme for publishing Oct 10, 2018
layouts support custom js Feb 5, 2019
.gitignore Configure monova Oct 17, 2018
.gitmodules Add spectre via https Nov 23, 2018
.monova.config Configure monova Oct 17, 2018
LICENSE.md Prepare theme for publishing Oct 10, 2018
Makefile Add flow to readme Oct 16, 2018
README.md document custom js support Feb 5, 2019
release.py Update release script Nov 23, 2018
theme.toml Update license Sep 2, 2018

README.md

Hugo Changelog Theme

A Hugo theme to display a changelog

Features

  • Build with Spectre.css (All unused components are disabled)
  • Pagination
  • Mobile friendly

How to install

  • Clone the repository with --recursive flag as the theme includes submodule
    git clone git@github.com:jsnjack/hugo-changelog-theme.git --recursive
  • Use hugo extended version

Workflow

Conventions

  • Create non-released entries in experimental/ folder. All of them are displayed in the top of the first page
  • Create released entries in released/ folders. Entries are sorted by Weight. Weight is displayed as version
  • Your hugo changelog website is located in site/changelog/ folder
  • You are using master branch as the stable branch and develop branch as a working branch (needed for the post-merge webhook only)

Scripts

  • Makefile - list of useful commands
  • release.py - moves changes from the experimental/ folder to the released/ folder, assigns version number and generates release-commit
  • .githooks/post-merge - verifies that experimental/ folder is empty during the merge from the working branch to the stable branch

Dependencies

  • For release script:
     sudo pip install python-frontmatter

Description

  1. When a pull request is ready, a developer creates a changelog entry:

    make change

    The command creates a *.md file with random name (ensures that there will be no merge conflicts) in site/changelog/content/experimental/ folder

  2. The developer updates created file with changes. Changes are going to be rendered in the experimental section of the template

  3. Preview the site with the command:

    make serve_changelog
  4. When the working branch is ready to be merged in the stable branch, the developer runs:

    make release

    The command will move all *.md files from the experimental/ folder to the released/ folder, assign the release version and generate the commit with related changes

  5. The developer merges working branch in to the stable branch

Shortcodes

  • {{% tag fixed %}} - create a specific tag before entry text. Available tag types are: added, changed, fixed, deprecated, removed, security

Settings

[params]
    customCSS = ["css/styles.css"]  # List of css files to include on the website. Relative to the static/ folder
    customJS = ["js/script.js"]     # List of js files to include on the website. Relative to the static/ folder

Development

Serve example website

cd exampleSite && hugo serve --theme hugo-changelog-theme --themesDir ../../ --baseURL http://localhost/