badmanners.xyz/README.md

1.7 KiB

badmanners.xyz

Bad Manners's personal website, built using Astro + Typescript + TailwindCSS.

Requirements

  • Node.js 20+
  • (optional) rsync or LFTP, for remote deployment.

Development

Setup

git clone https://git.badmanners.xyz/badmanners/badmanners.xyz
cd badmanners.xyz
npm install

Local development

npm run dev       # Start development server (quit with Ctrl-C)
npm run sync      # Rebuild types from Astro config
npm run prettier  # Prettier formatting

Configuration

The following optional environment variable can be set within a .env file:

Name Type Description
APACHE_CONFIG boolean If set to true, generates an .htaccess Apache config file at the root of the output directory.
ENABLE_VIEW_TRANSITIONS boolean If set to true, enables Astro's View Transitions API (i.e. Single-Page App mode).

Build and deploy to remote

npm run build

Then, if you're using rsync, after configuring the websitebm host (or the name of your choosing) in ~/.ssh/config, you can use a command like:

rsync --delete-after -acP dist/ websitebm:/home/public

Or if you prefer LFTP, create a .env file at the root of the project:

DEPLOY_LFTP_HOST=https://example-webdav-server.com
DEPLOY_LFTP_USER=example_user
DEPLOY_LFTP_PASSWORD=sup3r_s3cr3t_password
DEPLOY_LFTP_TARGETFOLDER=sites/badmanners.xyz/

Then run npm run deploy-lftp.