This repository contains the website for the Murty family, which has been built with Deno, Lume, a commercially licensed version of the IO font by Mass-Driver, and a licensed icon pack from Font Awesome.
Tests, build and local server commands are available from local environments.
Remote testing and GitHub Pages deployment can be triggered locally and is then handled remotely by a GitHub Actions workflow.
- Fork this repository
- Make a local clone of that forked repository
- Install the latest stable version of Deno
- Run the setup script:
deno task setup
- Update some files in the forked repository
- Update
.github/workflows/release.yml
to use your forked GitHub repository URL - Update
.github/workflows/release.yml
to use your own Docker Hub repository URL - All files in the
content
directory must contain your own content instead - All files in the
assets
directory must contain your own static files instead - Purchase your own license to use the Mass-Driver IO font or update the CSS to use other fonts
- Purchase Font Awesome Pro, setup your own kit, and update the
kit.fontawesome.com
script path in the source code. Alternatively, you can use a free icon pack and update the code in your fork to use that instead.
- Commit and push all of these changes to your forked repository
- Update the Settings for your forked repository via GitHub:
- Pages > Source: GitHub Actions
- Pages > Custom domain: use your own domain
- Secrets and variables > Actions > new secret > Name:
DOCKERHUB_USERNAME
, Secret: your Docker username - Secrets and variables > Actions > new secret > Name:
DOCKERHUB_TOKEN
, Secret: generate new token, read and write permissions, save the generated token here
- Update
config/CNAME
to use the same domain as you configured above - Setup Fathom Analytics:
- Create your own account and setup a new site
- Update your
.env
file'sFATHOM_ANALYTICS_SITE_ID
value to use your newSite ID
Command | Description |
---|---|
deno task build |
Run build processes |
deno task test |
Run all tests |
deno task serve |
Start a local web server. Builds the site and starts a local web server at http://localhost:8000/ |
deno task release |
Generate and push a new Git Tag, which will then trigger the GitHub Actions workflow in the remote repository. |
Refer to the tasks
section in deno.json for the full list of commands.
Folder / File | Description |
---|---|
.github/workflows/release.yml | Triggers when a release tag is pushed. Runs tests, deploys to GitHub Pages, publishes a new GitHub release and pushes a new version to the repository on Docker Hub. |
.vscode | Customised VS Code configuration for this repository. |
assets | Static files like images and PDFs. |
config | Supporting configuration files. |
content | Website page content in Markdown files. |
src | Source code and related unit tests. |
src/commands | Helper scripts, refer to the Commands section above for more details. |
src/layouts | React TSX page layouts. |
src/styles | CSS styles. |
src/templates | Nunjucks page templates. |
deno.json | Deno imports, tasks and configuration for this repository. |