Skip to content

bmurty/site

Repository files navigation

Murty Website

Deployment Status Latest Release Website Status

Summary

This repository contains the murty.au website, which has been built with Deno, Lume, a commercially licensed version of the IO font by Mass-Driver, and the Font Awesome free icon pack.

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.

Initial setup

  1. Fork this repository
  2. Make a local clone of that forked repository
  3. Install the latest stable release of Deno
  4. Run the setup script: deno task setup
  5. Update some files in the forked repository
  • Update .github/workflows/release.yml to use your forked GitHub 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
  1. Commit and push all of these changes to your forked repository
  2. Update the Settings for your forked repository via GitHub:
  • Pages > Source: GitHub Actions
  • Pages > Custom domain: use your own domain
  1. Update config/CNAME to use the same domain as you configured above
  2. Setup Google Analytics:
  • Create a new site in your own account
  • Update your .env file's GOOGLE_ANALYTICS_SITE_CODE value to use your new Measurement ID
  1. Optional: Install VS Code and add the Deno plugin

Commands

For a full list of the available Deno shortcut commands, run:

deno task

Folder structure and key files

Folder / File Description
.github/actions Helper actions for GitHub Actions workflows
.github/workflows/release.yml Triggers when a release tag is pushed. Runs tests, deploys to GitHub Pages and publishes a new GitHub release.
.vscode Customised VS Code configuration for this repository.
assets Static files like images and PDFs.
bin Binary files used to ensure environment consistency, managed by Git LFS.
config Supporting configuration files.
content Website page content in Markdown files.
scripts Helper scripts, refer to the Commands section above for more details.
src Source code and related unit tests.
src/layouts Nunjucks page layouts.
src/styles CSS styles.
src/templates Nunjucks page templates.
deno.json Deno imports, tasks and configuration for this repository.