Reverts the single raw-regex query approach which broke image resolution for index pages whose child content paths reference pages outside the parent path hierarchy (e.g. test-gallery/ → gallery/...).
enrichIndexColumnsWithImages using child
indexes' own content paths (handles cross-hierarchy references)allPrefetchedPages parameter — enrichment fetches its own pagesfindFirstImageInPage fallback for TEXT-row-based image sourcesresolveIndexContent calls with single batch DB query
using raw regex, with client-side filterByMaxPathSegments filteringenrichIndexColumnsWithImages by passing pre-fetched pages from the
top-level query — reduces page-content API calls from 3 to 1findFirstImageInPage fallback in enrichIndexColumnsWithImages
for pages that use TEXT rows with column-level imageSource instead of
CAROUSEL/ALBUM rows (affects Berkshire Weekend Walkers scrapbook)album-index rows in findFirstImageInPage to avoid picking up
stale/default images from index row column dataresolveIndexContent, nextVisitedPaths, broad
prefetch, visitedPaths/prefetchedPages/depth parameters from
public APIalbumIndexToPageContent signature to just
(pageContentRow, rowIndex)depthLimitedRegex helper for STARTS_WITH with maxPathSegmentsextractAlbumColumns for album locationsdepthLimitedRegex, findFirstImageInPage, findFirstTextInPage,
optimiseIndexImageSource, summarizeTitles, deduplicateByHref,
calculateDataCompletenessScore, sortColumns,
filterOutExcludedPaths, filterByMaxPathSegments, pageContentFromHandle album-index rows in extractTitleAndDescription via
indexMarkdown
Skip album-index rows in findFirstImageInPage
Use match-type-aware regex in index prefetch query so "Contains" paths no longer force a starts-with pattern
Update filterByMaxPathSegments to respect the configured match type instead of hardcoding startsWith
Read carousel image titles and dates from gridViewOptions to match the editor's data model
Add move-to-exclude and move-to-include buttons on content path match rows