Giter Club home page Giter Club logo

gallery's People

Contributors

schmonz avatar truist avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

schmonz

gallery's Issues

password-protected read access

We've decided to password-protect our gallery and share the password only with family and friends. For a quick first iteration, I've implemented this by configuring HTTP basic auth in my web server.

This doesn't play well with feeds, because most feed readers don't know how respond to HTTP auth challenges. I believe the typical solution for feed publishers is to generate a secret feed URL that includes an authentication token, and then only disclose the private feed URL to web users who are logged in.

For my needs, I think what I'm wishing for is a configuration option in Gallery to require in-app login before displaying albums/images/feeds, so that I can enable the option in my Gallery instance.

Navigating "off the end" of the images in an album

When clicking/tapping to the right of the last image (and probably also left of the first image) in an album, it "navigates" anyway -- to the full-size image. Maybe better to do nothing in that case?

browse order != album order when sorting by date

In my "week2" album, the image list is in this order:

  • ...
  • IMG_5950.JPG
  • IMG_5963.JPG
  • ...

If I click on IMG_5950.JPG's thumbnail, then navigate "right", the next image is not IMG_5963.JPG, but rather IMG_5958_edit.png.

(Probably applies only to sort_images_by => 'date')

Clean up cache directory organization (because caching is evil)

A friend was clearing his cache by deleting a particular album from the cache dir. That's not sufficient, because of the .rotated dir. Change how the cache dirs are structured so people won't trip over this.

Idea: $CACHE_DIR/album1/album2/image.jpg/{original,800x600,150x150-square}

Route pattern "/*path" contains a reserved stash value

Some Mojolicious upgrade must have broken the gallery program:

$ ./script/gallery prefork -H 300 -m production -l 'http://127.0.0.1:36366'
Route pattern "/*path" contains a reserved stash value at /home/schleierdav/sites/theschleiers.com/photos/gallery/script/../lib/Gallery.pm line 56.

where line 56 is the last line of this stanza:

my $router = $self->routes;
$router->get('/')->to('controller#route', path => '');
$router->get('/*path')->to('controller#route');

It might be the most recent Mojolicious update in pkgsrc, because I only noticed this today after my weekly update completed. I saw the system load was higher than usual, noticed there kept being a new perl process ID, and couldn't reach my gallery site (503 Service Unavailable, probably from my reverse proxy). Currently I have p5-Mojolicious-9.17 and -- yep, that looks like a big enough change -- last week I was on p5-Mojolicious-8.59.

This issue looks sort of like mine. This method looks related to whatever this is about. This commit shows the changes between 8.59 and 9.17.

HEIF support

My photo-sharing workflow used to be as simple as "mount the WebDAV folder and copy some images over". I'd like to get that back.

Apple devices have defaulted to creating HEIC images for a while now. But it seems browsers generally don't ship with HEIC support. What would you suggest users do to publish such images at present -- batch-convert to JPEG before adding to the gallery?

How involved would it be to teach gallery to handle HEIF in some useful way, perhaps by automating this conversion? I see a couple imlib2 plugins that might help. Another option might be to call out to ImageMagick (which can be linked with libheif) to do the conversion.

Todo

Generate cache files as temp files and rename them, to eliminate issues with e.g. the server being killed while a file is being copied.

make the local.css file not be in the repo

stream the album page, instead of waiting to render it, so load_album doesn't cause a mojolicious (or apache) timeout. also MOJO_INACTIVITY_TIMEOUT

figure out some way to make cache invalidation safer (i.e. so you don't accidentally delete the originals)

put 'cache_' in every file and directory name, so you can always be sure when you're looking at the cache?

turn this whole thing into a website generator? just build it on top of ikiwiki?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.