66 lines
1.9 KiB
Markdown
66 lines
1.9 KiB
Markdown
# gallery.badmanners.xyz
|
|
|
|
Static website built in Astro + Typescript + TailwindCSS.
|
|
|
|
## Requirements
|
|
|
|
- Node.js 20+
|
|
- (optional) rsync or LFTP, 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 Astro config and src/content/ files
|
|
npm run prettier # Prettier formatting
|
|
```
|
|
|
|
### Configuration
|
|
|
|
The following optional environment variables can be set within a `.env` file:
|
|
|
|
| Name | Type | Description |
|
|
| ---------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
| `PUBLISH_DRAFTS` | boolean | If set to true, includes drafts in the production build. Published drafts still won't be directly indexed by any other pages. |
|
|
|
|
### 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, if you're using rsync, after configuring the `gallerybm` host (or the name of your choosing) in `~/.ssh/config`, you can use a command like:
|
|
|
|
```bash
|
|
rsync --delete-after -acP dist/ gallerybm:/home/public
|
|
```
|
|
|
|
Or if you prefer LFTP, create a `.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/
|
|
```
|
|
|
|
Then run `npm run deploy-lftp`.
|