48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
# badmanners.xyz
|
|
|
|
Bad Manners's personal website, built using Astro + Typescript + TailwindCSS.
|
|
|
|
For attributions, see [`licenses.toml`](src/data/licenses.toml).
|
|
|
|
## 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
|
|
```
|