BrunoKrugel / acheiumpet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

Musée

GitHub package.json version Website GitHub commit activity

Fast, responsive, self-hosted image gallery. Ships minimal JS to the client.

Musée (pronounced myu-zay) was written primarily to experiment around with https://remix.run/ but now re-written using https://astro.build. Until now I had been using the _ excellent_ waschinski/photo-stream gallery for hosting my images but felt limited with having to use Ruby. The eventual goal of Musée is to ship ZERO client side JS to the client while maintaining the masonry layout.

Unfortunately, a responsive masonry layout is not possible without the use of client-side JS to determine the window size (used for calculating the number of columns). At least until CSS Grid Masonry becomes available.

demo

[ Live Demo ]

✨ Features

  • Generate image thumbnails
  • Compress original images
  • Strip image metadata before deployment
  • Typescript support
  • Statically Generated
  • Uses TailwindCSS
  • OpenGraph meta tags
  • Captions for images
  • Device metadata for images
  • Image geo-tag map generation

📸 Live Examples

Feel free to make a PR to add your own.

🏗 Development

  1. Install dependencies.
$ npm install

Load your images in the src/assets/images/original directory.

  1. Start development server
$ npm run dev

🚀 Deployment

Deployment (for now) is done to Cloudflare Pages. Documentation is available here: https://developers.cloudflare.com/pages/framework-guides/astro/

Contributing

I'm relatively inexperienced with React so any and all contributions are welcome.

This repository uses the automated semantic-release suite of tools to generate version numbers. All commit messages must conform to the Angular Commit Message conventions.

About

License:GNU General Public License v3.0


Languages

Language:TypeScript 48.7%Language:Astro 43.9%Language:JavaScript 7.4%