Skip to content

brendanmurty/murty-website

murty.au

Summary

This repository contains the website for the Murty family, which has been built with Deno and Lume.

I've also used fonts that I've purchased from Mass-Driver, and the free icon pack from Font Awesome.

Screenshot of main index page

Initial Setup

To setup a new local development environment:

  1. Fork this repository
  2. Make a local clone of that forked repository
  3. Update some files in the forked repository:
  • The bin/deploy script must be updated to use your forked repository URLs when updating CHANGELOG.md
  • The bin/deploy script must be updated to use your own Deno Deploy project name in the deployctl line
  • All files in the content directory should contain your own content instead
  • All files in the assets directory should contain your own static files instead
  • Purchase your own license to use Mass-Driver fonts or use other fonts
  1. Commit and push all of these changes to your forked repository
  2. Setup your Deno Deploy account:
  • Consider subscribing to the Deno Deploy Pro account based on your usage needs
  • Create a new Deno Deploy project for this site
  • Add your production domain(s) via Settings > Domains
  1. Install Deno
  2. Run bin/setup to complete the initial installation process: bin/setup
  3. Update your .env file:
  • FATHOM_ANALYTICS_SITE_ID: The related Site ID from your Fathom Analytics account
  • LASTFM_API_KEY: Your Last.fm API key to show your loved tracks on the site
  1. Create a new system environment variable named DENO_DEPLOY_TOKEN by following their documentation
  2. Edit deno.jsonc: Remove the deploy.project value, on your first deploy this will be set to your own project ID
  3. Edit bin/deploy: Edit the deployctl command to use your own Deno project name
  4. Install exiftool on your local machine
  5. Optional: Install VS Code and the recommended plugins:

Commands

Run Tests

Run bin/test:

bin/test

Local Web Server

Run bin/serve:

bin/serve

Build Site

Run bin/build:

bin/build

Deployment

After testing locally, commit and push your changes up to your remote forked repository.

Then run bin/deploy to make a new version and deploy it:

bin/deploy YYYY.xxx

Where YYYY is the current year, and xxx is the revision number for that year.

This script will:

  • Update the content in CHANGELOG.md
  • Create a new Git Tag (YYYY.xxx as detailed above)
  • Push changes up to the origin repository
  • Build the site
  • Deploy the site to Deno Deploy as a production deployment