# gallery.badmanners.xyz

Static website built in Astro + Typescript + TailwindCSS.

## Requirements

- Node.js 20+
- (optional) rsync, for remote deployment.
- (optional) LibreOffice, for the story export script.

## Development

### Setup

```bash
git clone https://git.badmanners.xyz/badmanners/gallery.badmanners.xyz
cd gallery.badmanners.xyz
npm install
```

### Local development

```bash
npm run dev       # Start development server (quit with Ctrl-C)
npm run sync      # Rebuild types from src/content/ files
npm run prettier  # Prettier formatting
```

### Export story for upload

Requires `libreoffice` to be installed and in your path.

```bash
npm run export-story -- -o ~/Documents/TO_UPLOAD slug-for-story-to-export
```

### Build and deploy to remote

```bash
npm run build
```

Then, after configuring the `gallerybm` host (or the name of your choosing) in `~/.ssh/config`:

```bash
rsync --delete -acP dist/ gallerybm:/home/public
```