-record(collection, { directory :: binary(), parse :: fun((binary(), binary()) -> {ok, arctic:page()} | {error, snag:snag()}), index :: gleam@option:option(fun((list(arctic:cacheable_page())) -> lustre@internals@vdom:element(nil))), feed :: gleam@option:option({binary(), fun((list(arctic:cacheable_page())) -> binary())}), ordering :: fun((arctic:page(), arctic:page()) -> gleam@order:order()), render :: fun((arctic:page()) -> lustre@internals@vdom:element(nil)), raw_pages :: list(arctic:raw_page()) }).