kc0bfv / autophugo

AutoPhugo [ˌɔtoʊˈfjuːgəʊ] is a gallery/photoblog theme for Hugo that's a little more automatic than Phugo.
Other
97 stars 56 forks source link

COMMUNITY FEEDBACK REQUEST: Column behavior change. #34

Closed kc0bfv closed 2 years ago

kc0bfv commented 2 years ago

So - the columns get built as flexbox columns right now. The layout gets decided in advance - with images placed in a left-to-right top-to-bottom order. That means - whatever order your images fall in they'll get placed left-to-right, top-to-bottom in the output. More or less what people expect chronological-order-wise.

The problem with this layout scheme is that the columns are all decided in advance. If you have a wider screen there's not a great way to reflow to more columns. Or if you have a shorter screen there's not a good way to reflow to fewer columns.

The solution to that variable-column size is maybe the CSS multi-column layout format. https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Columns It's even well-supported. The biggest problem I see with that is that there won't be a good way to preserve that left-to-right top-to-bottom chronological ordering. It'll be top-bottom first then left-right... Tab order will not be easily decidable (maybe JS could fix this but that seems silly given the non-chronological ordering anyway). Gallery order will be top-bottom then left-right...

Does that ordering matter to YOU? Or does having a variable number of columns based on screen width seem more important to YOU? I don't think it makes sense to support both in the theme.

CHOICE:

  1. Current left->right then top->bottom photo ordering. Constant number of columns.
  2. Variable number of columns based on screen width, but top->bottom photo ordering then left->right.
kc0bfv commented 2 years ago

Hrm - with option 2, in subalbums with combined links to subalbums and other images, the subalbums will get ordered top->bottom left->right too, so that'll be weird I think.

ghost commented 2 years ago

Adapting the number of columns based on available width would be fantastic, the current behavior is kind of frustrating. However, a top to bottom ordering would be pretty awful, so if this change goes through I feel like it has to do both.

kc0bfv commented 2 years ago

Unfortunately I don't know how to do both in a way that seems reasonable right now... 1 is the current setup.

ghost commented 2 years ago

Right, I'm just saying it would be swapping a frustration with a bigger one. Thanks for your work on autophugo!

kc0bfv commented 2 years ago

Thank you - that is exactly the feedback I was looking for!

kc0bfv commented 2 years ago

Based on feedback, the best option I've come up with scraps the options above. It'll use javascript on load, and on width change, to order the images in a number of columns based on screen-width. There'll be a default non-JS version too (probably the current solution). The order will be left->right top->bottom as it currently is.

That JS will take some work I haven't had time for recently. For now I committed a max-width to the main branch to make it look nicer by default.

kc0bfv commented 2 years ago

Closing this and will track in issue #18