Skip to content

iskerrett/website

 
 

Repository files navigation

FlowForge Website

Build Site

This repository contains the source of the FlowForge website.

It is built using Tailwind CSS and Eleventy. It is hosted on GitHub Pages and every commit to the main branch is automatically deployed using GitHub Actions.

Prerequisites

Linux/MacOS

Windows

  • git and gitbash (download)
  • nodejs (download)
    • IMPORTANT: Select the [x] checkbox to install developer tools when asked
  • choco
    • Installed as part of the Node JS installer
    • Needed for installing jq
  • jq (download)
    • From a administrator terminal, run choco install jq

Building the site locally

After cloning the repository, open a bash terminal and install the project dependencies, then run the build and the website (driven by eleventy) server:

npm install

npm start

This will start a server on http://localhost:8080 that will automatically reload whenever any content is changed.

Note: if you modify src/css/style.css you will need to run npm run tailwind to rebuild the CSS content.

Running FlowForge Handbook

Our Handbook is stored and maintained in a separate repository. In order to run the Handbook locally, you do so via the Website. To do this, you'll need to clone a copy of the Handbook alongside your Website repository, e.g.:

/<parent_directory>
    /website
    /handbook

Once this is the case, you can run the "Building the site locally" instructions above as normal, and the handbook will then be available at http://localhost:8080/handbook

Running FlowForge Documentation

Much like our Handbook, the documentation for FlowForge are also maintained in a separate repository. Our docs are maintained in the core FlowForge repo.

If you want to run a local version of the documentation, you'll need to clone the FlowForge repository alongside the website, e.g.:

/<parent_directory>
    /website
    /flowforge

The npm run start command that starts the Website server will retrieve the documentation from that folder, and automatically inject them into the website for your viewing. Any changes made to the documentation in the /flowforge/docs folder, will automatically refresh the website. The docs will be available at http://localhost:8080/docs.

How to add blog posts

Add a new markdown file to src/blog/ with the following metadata in the top:

---
title: My post title
subtitle: A subtitle
description: A short description of the post
date: 2020-04-06
authors: ["nick-oleary"]
---

The authors list should correspond to an entry under src/_data/team.

Updating the FlowForge Documentation

When the website is built via GitHub Action, it will include the documentation from the maintenance branch of the flowforge/flowforge repository.

To make a documentation update and make it live on the website:

  1. PR the documentation update to the main branch of flowforge/flowforge
  2. Attach the backport label to the PR
  3. Get the PR reviewed and merged in the normal manner.
  4. A new PR will get automatically raised that backports the change to the maintenance branch
  5. Review and merge the PR to that branch.
  6. Manually kick-off a website rebuild by clicking 'Run workflow' on this page.

Acknowledgements

This setup was inspired by:

About

The FlowForge Website

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nunjucks 70.7%
  • CSS 15.7%
  • JavaScript 12.2%
  • Shell 1.4%