Several minor improvements to typing and misc.

- Improved schema validation
- Move username parsing and other validators to schema types
- Fix astro check command
- Add JSON/YAML schema validation for data collections
- Update licenses
- Remove deployment script in favor of rsync
- Prevent unsanitized input in export-story script
- Change "eng" language to "en", per BCP47
- Clean up i18n keys and add aria attributes
- Improve MastodonComments behavior on no-JS browsers
This commit is contained in:
Bad Manners 2024-08-07 19:25:50 -03:00
parent fe908a4989
commit 7bb8a952ef
54 changed files with 1005 additions and 962 deletions

View file

@ -5,7 +5,7 @@ Static website built in Astro + Typescript + TailwindCSS.
## Requirements
- Node.js 20+
- (optional) LFTP, for the remote deployment script.
- (optional) rsync, for remote deployment.
- (optional) LibreOffice, for the story export script.
## Development
@ -31,7 +31,7 @@ npm run prettier # Prettier formatting
Requires `libreoffice` to be installed and in your path.
```bash
npm run export-story -- --output-dir ~/Documents/TO_UPLOAD slug-for-story-to-export
npm run export-story -- -o ~/Documents/TO_UPLOAD slug-for-story-to-export
```
### Build and deploy to remote
@ -40,19 +40,8 @@ npm run export-story -- --output-dir ~/Documents/TO_UPLOAD slug-for-story-to-exp
npm run build
```
Then, if you're using LFTP:
1. Create a new `.env` file at the root of the project with your credentials (SSH, SFTP, WebDav, etc.) if you haven't already:
```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 deploy command:
Then, after configuring the `gallerybm` host (or the name of your choosing) in `~/.ssh/config`:
```bash
npm run deploy-lftp
rsync --delete -acP dist/ gallerybm:/home/public
```