Module Arod_component.Layout

Page shell layout component for the Arod website.

Provides the overall page structure: head meta tags, header navigation, content grid with optional sidebar, footer, and scripts.

Head Elements

val meta_tag : name:string -> content:string -> Htmlit.El.html
val og_tag : property:string -> content:string -> Htmlit.El.html
type citation = {
  1. citation_title : string;
  2. citation_authors : string list;
  3. citation_date : string;
    (*

    YYYY/MM/DD format

    *)
  4. citation_doi : string option;
  5. citation_pdf_url : string option;
  6. citation_journal : string option;
}

Citation metadata for Google Scholar.

val ptime_to_iso : (int * int * int) -> string
val ptime_to_citation_date : (int * int * int) -> string
val head_elements : ctx:Arod.Ctx.t -> config:Arod.Config.t -> title:string -> description:string -> ?url:string -> ?image:string -> ?jsonld:string list -> ?standardsite:string -> ?og_type:string -> ?published:(int * int * int) -> ?modified:(int * int * int) -> ?tags:string list -> ?citation:citation -> unit -> Htmlit.El.html list

Script Elements

type page_script =
  1. | Toc
  2. | Pagination
  3. | Lightbox
  4. | Status_filter
  5. | Classification_filter
  6. | Papers_calendar
  7. | Notes_calendar
  8. | Network_calendar
  9. | Ideas_calendar
  10. | Tag_cloud_filter
  11. | Masonry
val script_of : page_script -> string
val global_scripts : Htmlit.El.html list
val build_scripts : page_script list -> Htmlit.El.html list

Content Grid

val content_grid : article:Htmlit.El.html -> ?sidebar:Htmlit.El.html -> unit -> Htmlit.El.html

Page Assembly

val page : ctx:Arod.Ctx.t -> title:string -> description:string -> ?url:string -> ?image:string -> ?jsonld:string list -> ?standardsite:string -> ?current_page:string -> ?toc_sections:(string * string) list -> ?og_type:string -> ?published:(int * int * int) -> ?modified:(int * int * int) -> ?tags:string list -> ?citation:citation -> ?page_scripts:page_script list -> article:Htmlit.El.html -> ?sidebar:Htmlit.El.html -> ?mobile_footer:Htmlit.El.html -> unit -> string
val simple_page : ctx:Arod.Ctx.t -> title:string -> description:string -> ?url:string -> ?current_page:string -> ?page_scripts:page_script list -> content:Htmlit.El.html -> unit -> string
val wide_page : ctx:Arod.Ctx.t -> title:string -> description:string -> ?url:string -> ?current_page:string -> ?jsonld:string list -> ?page_scripts:page_script list -> article:Htmlit.El.html -> unit -> string