Static Site Shell (WIP)
This is a setup to generate a static site from the markdown files location in /content using Hexo.
Notes on Content Authoring
-
In order for Hexo to pick up the title of a page, each markdown file should provide a
titlefield using YAML front matter. We can optionally include more meta information for each article, e.g.authors, if needed. -
Use relative links when linking to other pages in the guide. This is necessary because we are deploying multiple versions/branches of the site into nested folders.
Theme Development
git submodule update --init
npm install -g hexo-cli
# in /site
npm install
# serve at localhost:4000
hexo server
The static site theme is in themes/meteor and is responsible for the visual representation of the site. For more information, check out the Hexo docs.
Continuous Deployment
-
The
masterbranch is automatically deployed to the root of the S3 bucket on every push. -
Any branch that starts with
version-will be automatically deployed in a sub-folder on every push. A branch with the nameversion-1.2will be deployed under thev1.2folder. -
To make a branch available in the site's version selection dropdown, make sure to add it to the
versionslist insite/_config.yaml! -
Any other branch is ignored by default. If you want to enable auto-deploy for a branch, you should edit the branch field in the deployment section of
circle.ymlto match the name of the branch. The branch will be then be deployed with thebranch-prefix automatically. For example, branchtestwill be deployed under thebranch-testfolder.
Manual Deployment
In the site directory:
- Create
keys.json(search for "guide_push" in LastPass):
{
"key": "xxx",
"secret": "xxx"
}
node deploy.