57 lines
1.5 KiB
Markdown
57 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
git clone https://git.badmanners.xyz/badmanners/badmanners.xyz
|
|
cd 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
|
|
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. |
|
|
|
|
### Build and deploy to remote
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
rsync --delete-after -acP dist/ websitebm:/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/badmanners.xyz/
|
|
```
|
|
|
|
Then run `npm run deploy-lftp`.
|