Psycojoker / prosopopee

a static website generator to make beautiful customizable pictures galleries that tell a story
http://prosopopee.readthedocs.org
GNU General Public License v3.0
323 stars 55 forks source link

More options for generating images #100

Open KjellConnelly opened 4 years ago

KjellConnelly commented 4 years ago

Hi! First of all, thank you for building this :) I'm using it to create a family album on github pages for free to host old photos that I scan via my phone.

I have a couple ideas, not necessary, but possibly useful:

1) Allow images to be of a max size. Pretend I set max size to be 1800. This means that if I have an image that is 720x1280, then it stays that size. But if I have an image that is 2440x3200, then it scales down to 1372x1800.

2) Also, allow us to set gm generic dimensions. For example, right now, an image is resized something like 8 times (I don't remember that exact number). If I have 2000 photos, that's 16,000 images + the original 2000 making my repo hold 18,000 images. That's a lot. And github pages only lets me have repos with 1gb on them. Would be nice to only have maybe 3 sizes, like small, medium, and original. Or 2. Something like that.

3) Possibly create an option that doesn't actually create any new images at all in the build folder. Instead, it just links from the original images.

Anyways, these are all just ideas for reducing storage space. Thanks again!

QSchulz commented 4 years ago
  1. makes sense but anyway the browser will most likely stretch the picture anyway because prosopopee uses the flex-grow property in CSS. It'd be nice though not to create the stretched thumbnail. That seems feasible to me, just need to check the requested thumbnail size against the original file size and if bigger, then return the original file name for the template and copy the original file to the build directory. Done.

  2. and 3. can be done by yourself easily. You just need to create your own template (copy paste the original one, find all generate_thumbnail calls for images and replace them with copy. That should do the trick.

Note: I'm not the maintainer, merely contributed to the project.