Source code for my gallery webpage. https://gallery.badmanners.xyz
Find a file
2025-01-02 11:23:24 -03:00
.vscode Migrate tags to single file 2024-12-15 15:30:12 -03:00
examples Migrate to Astro 5 2024-12-05 21:43:04 -03:00
public Improved a11y and SEO 2024-11-05 19:42:21 -03:00
scripts Add labels to icons and add 'Party Trick' 2025-01-02 11:23:24 -03:00
src Add labels to icons and add 'Party Trick' 2025-01-02 11:23:24 -03:00
.gitignore Migrate deploy-lftp script to tsx 2024-07-18 19:18:09 -03:00
.prettierignore Bring over improvements from badmanners.xyz 2024-08-20 15:36:48 -03:00
.prettierrc.mjs Fix up first version and add Prettier and Docker 2024-03-20 11:34:09 -03:00
astro.config.mjs Migrate to Astro 5 2024-12-05 21:43:04 -03:00
LICENSE.md Update navbar in GalleryLayout and add astro-htaccess 2024-08-30 17:50:38 -03:00
package-lock.json Add labels to icons and add 'Party Trick' 2025-01-02 11:23:24 -03:00
package.json Add labels to icons and add 'Party Trick' 2025-01-02 11:23:24 -03:00
README.md Add fediverse:creator tag to pages 2024-11-21 10:10:49 -03:00
tailwind.config.mjs Start creating blog posts 2024-09-13 22:36:39 -03:00
tsconfig.json Use path aliasing and improve accesibility 2024-09-14 17:52:43 -03:00

gallery.badmanners.xyz

Static website built in Astro + Typescript + TailwindCSS.

For attributions, see licenses.toml.

Requirements

  • Node.js 20+
  • (optional) rsync or LFTP, 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 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
APACHE_CONFIG boolean If set to true, generates an .htaccess Apache config file at the root of the output directory.
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.

npm run export-story -- -o ~/Documents/TO_UPLOAD slug-for-story-to-export

Build and deploy to remote

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:

rsync --delete-after -acP dist/ gallerybm:/home/public