Module Arod_component.List_view

List and feed view components using htmlit.

Entry Types

type entry_type = Entry.entry_type
val entry_type_to_string : [< `Idea | `Note | `Paper | `Project | `Video ] -> string
val entry_type_of_string : string -> [> `Idea | `Note | `Paper | `Project | `Video ] option
val truncated_body : ctx:Arod__.Arod_ctx.t -> Bushel.Entry.entry -> Htmlit.El.html * (int * bool) option

Truncate the body of an entry.

Entry Filtering

val entry_matches_type : [> `Idea | `Note | `Paper | `Project | `Video ] list -> [> `Idea of 'a | `Note of 'b | `Paper of 'c | `Project of 'd | `Video of 'e ] -> bool
val get_entries : ctx:Arod.Ctx.t -> types:[> `Idea | `Note | `Paper | `Project | `Video ] list -> Bushel.Entry.entry list

Entry Heading

val entry_heading : ctx:'a -> Bushel.Entry.entry -> Htmlit.El.html

Tags Metadata

val tags_meta : ctx:Arod.Ctx.t -> Bushel.Entry.entry -> Htmlit.El.html

Single Entry Rendering

val render_entry : ctx:Arod.Ctx.t -> Bushel.Entry.entry -> Htmlit.El.html
val render_feed : ctx:Arod.Ctx.t -> Bushel.Entry.entry -> Htmlit.El.html

Render an entry for feed view.

Page Functions

val entries_page : ctx:Arod.Ctx.t -> title:string -> types:[ `Idea | `Note | `Paper | `Project | `Video ] list -> Htmlit.El.html

Paginated entry list page content.

val feed_page : ctx:Arod.Ctx.t -> title:string -> types:[ `Idea | `Note | `Paper | `Project | `Video ] list -> Htmlit.El.html

Chronological feed view page content.

val render_entries_html : ctx:Arod.Ctx.t -> Bushel.Entry.entry list -> string

HTML string fragment for pagination API (entry list).

val render_feeds_html : ctx:Arod.Ctx.t -> Bushel.Entry.entry list -> string

HTML string fragment for pagination API (feed view).