Source code for my gallery webpage.
https://gallery.badmanners.xyz
.vscode | ||
examples | ||
public | ||
scripts | ||
src | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.mjs | ||
astro.config.mjs | ||
LICENSE.md | ||
package-lock.json | ||
package.json | ||
README.md | ||
tailwind.config.mjs | ||
tsconfig.json |
gallery.badmanners.xyz
Static website built in Astro + Typescript + TailwindCSS.
Requirements
- Node.js 20+
- (optional) rsync, for remote deployment.
- (optional) LibreOffice, for the story export script.
Development
Setup
git clone https://git.badmanners.xyz/badmanners/gallery.badmanners.xyz
cd gallery.badmanners.xyz
npm install
Local development
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.
npm run export-story -- -o ~/Documents/TO_UPLOAD slug-for-story-to-export
Build and deploy to remote
npm run build
Then, after configuring the gallerybm
host (or the name of your choosing) in ~/.ssh/config
, you can use a command like:
rsync --delete-after -acP dist/ gallerybm:/home/public