56 lines
1.2 KiB
Markdown
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/`
|