Flow
Flow displays albums in a feed-like manner, similar to social media platforms. Each album becomes a scrollable card — with a cover image, a carousel of the photos inside, and metadata such as its date range — giving you a visually engaging alternative to browsing the album tree.
How it works
Section titled “How it works”- Flow starts from a base album (the gallery root by default, or a specific album set via
flow_base) and turns eligible descendants of that base into cards — the base album itself is never shown as a card. - By default (
flow_include_sub_albumsoff), only the direct children of the base are considered — nested sub-albums further down the tree are not included. Enablingflow_include_sub_albumsincludes every descendant at any depth; if no base album is set either, this effectively means every album in the gallery is a candidate. - Only albums that directly contain photos become cards. Enabling
flow_include_photos_from_childrenalso includes albums with no photos of their own by showing photos from their descendants instead — not recommended, since it can be slow and memory-intensive on large trees. - Album descriptions are rendered as Markdown on the card.
- The owner’s name is only shown to logged-in viewers; anonymous visitors (when
flow_publicis enabled) never see it. - Cards are loaded a page at a time as you scroll, rather than all at once.
- Flow is exposed as its own standalone page and respects the same album-level permissions as the rest of the gallery — a user only sees cards for albums they’re allowed to access.
Ordering and the opt-in strategy
Section titled “Ordering and the opt-in strategy”flow_strategy controls both which albums are eligible and how the feed is sorted:
auto(default) — every eligible album is included, newest-created first.opt-in— only albums that have been explicitly published to the feed are included, sorted by their publish date (newest first).
Sensitive (NSFW) albums in Flow
Section titled “Sensitive (NSFW) albums in Flow”Albums marked as sensitive are handled the same way as elsewhere in Lychee, via the Sensitive Albums settings:
hide_nsfw_in_flow(default: on) — excludes sensitive albums from Flow entirely.flow_blur_nsfw_enabled(default: on) — if sensitive albums aren’t hidden, blur their photos on the card until a user clicks through.
Settings
Section titled “Settings”The feature is controlled by a Flow category of Settings:
| Setting | Description | Default |
|---|---|---|
flow_enabled | Master toggle for the Flow view. | on |
flow_public | Allow anonymous (non-logged-in) users to access Flow. | off |
flow_base | Album ID used as the root of the feed. Leave empty to use the gallery root. | empty |
flow_max_items | Number of albums loaded per Flow page. Lower means more requests; higher means more memory usage. | 10 |
flow_strategy SE | See Ordering and the opt-in strategy. | auto |
flow_include_sub_albums SE | Include all descendants of the base album, not just its direct children. | off |
flow_include_photos_from_children SE | Show photos from child albums when an album itself has none. Not recommended — can cause memory exhaustion and slowdowns on large trees. | off |
flow_open_album_on_click SE | Navigate to the album when a card is clicked, instead of opening the photo viewer directly. | off |
flow_display_open_album_button SE | Show an explicit “Open Album” button on each card. | off |
flow_image_header_enabled SE | Show an image header at the top of each card, featuring the album cover. | on |
flow_image_header_cover SE | How the header image fills the card: cover crops to fill, fit scales to fit. | cover |
flow_image_header_height SE | Height of the image header, in rem. | 24 |
flow_carousel_enabled SE | Show a photo carousel below the image header on each card. | on |
flow_carousel_height SE | Height of the photo carousel, in rem. | 6 |
flow_highlight_first_picture SE | Use the album’s first photo as the main image instead of its cover photo. | on |
flow_min_max_enabled SE | Show the min/max date range of the album’s photos on each card. | on |
flow_min_max_order | Which date (older or newer) is shown first in the min/max date range. | older_younger |
flow_display_statistics SE | Show view, share, and download counts on each card. Also requires the metrics_enabled master toggle and read-metrics permission on the album. | on |
flow_compact_mode_enabled SE | Clamp the description to 3 lines and hide extra details (photo/child counts); a “Show more” button expands the card. | on |
flow_base, flow_max_items, and flow_min_max_order are available on the free edition; the rest of the card’s layout and the inclusion strategy require the Supporter Edition.
Date format
Section titled “Date format”Two settings accept PHP date format strings and require the Supporter Edition:
| Key | Default | Used for |
|---|---|---|
date_format_flow_published | M j, Y, g:i:s A e | Album published/created date shown on cards |
date_format_flow_min_max | F Y | Min/max date range shown on cards |
Supporter Edition Features
Section titled “Supporter Edition Features”With the Supporter Edition you get finer control over the feed:
- Opt-in strategy — switch
flow_strategyfromauto(every eligible album) toopt-in(only explicitly published albums); see the caveat above about its current front-end support. - Nested album inclusion — pull in every descendant of the base album, not just its direct children, via
flow_include_sub_albums. - Compact mode — clamp cards to a shorter, summarized layout via
flow_compact_mode_enabled. - Extensive card customization — toggle the image header, carousel, statistics, and min/max date range independently, and tune their sizing.
