gallery.badmanners.xyz/README.md

56 lines
1.2 KiB
Markdown

# gallery.badmanners.xyz
Static website built in Astro + Typescript + TailwindCSS.
## Requirements
- Node.js 20+
- LFTP, for remote deployment script
- LibreOffice, for story export script
## Development
### Setup
```bash
git clone https://git.badmanners.xyz/badmanners/gallery.badmanners.xyz
cd gallery.badmanners.xyz
npm install && npm run sync
```
### 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 -- --output-dir ~/Documents/TO_UPLOAD slug-for-story-to-export
```
### Build and deploy to remote
```bash
npm run build
```
Then, if you're using LFTP:
1. Create a new `.env` file at the root of the project:
```env
DEPLOY_LFTP_HOST=https://example-webdav-server.com
DEPLOY_LFTP_USER=example_user
DEPLOY_LFTP_PASSWORD=sup3r_s3cr3t_password
DEPLOY_LFTP_TARGETFOLDER=sites/gallery.badmanners.xyz/
```
2. Run the following command: `npm run deploy-lftp`
Otherwise, to deploy over SSH: `scp -r ./dist/* my-ssh-server:./gallery.badmanners.xyz/`