This is the site source.
- Install Node 8+ (I recommend using nvm or nvm-windows)
- Install Hugo - You can test that it's working by running
hugo
after the executable is available in your $PATH. If run from just any old directory, it should complain "unable to locate config file," which means it's working. - Install Yarn
- Clone this repository
- If you are using HTTPS (not SSH), you'll need to update the submodule reference in your clone to the theme directory to HTTPS as well. See this answer.
- Run
git submodule update --init --recursive
to initialize the theme submodule after cloning. - Go to the directory where you cloned this repo and run
yarn install
to install dependencies - Run
yarn start
- Visit http://localhost:1313
To build for production, run yarn build
. The rendered site will be in the public/ dir.
See other scripts in package.json.
VS Code (this will use the workspace settings defined in .vscode/settings.json) with ESLint, Prettier, and stylelint extensions installed. Linting and formatting will automatically run with a git hook, but these give you faster feedback.
To pull in submodule changes:
$ git submodule update --remote --merge
$ git commit -a -m "submodule updated"
To push changes made in theme submodule (while within themes/featherweight directory):
$ git commit -a -m "updates"
$ git push origin HEAD:<branch-name-in-theme-repo>
Embed Responsively will give you YouTube/Vimeo embed codes that work responsively (see 1up-media.html template partial for example).
Photos are not automatically resized when added through Netlify CMS, so resize/crush them before uploading.
Getting familiar with Go templates is very handy for working with Hugo. Here's a good tutorial.
Pretty printing Hugo variables for debug: https://gist.github.com/kaushalmodi/afb6c3e5098eccc028bddc91cf1eb53a
Find the right syntax for your YAML multiline strings - https://yaml-multiline.info/