View raw

1 (** View layer — re-exports layout and page modules. 2 3 This module is the public entry point for the view layer. Handlers use it to 4 render pages without depending on individual view submodules. *) 5 6 val error_page : 7 ?title:string -> 8 ?status:[< Dream.status > `Internal_Server_Error ] -> 9 string -> 10 Dream.response Dream.promise 11 (** Render an error page. See {!Error.render}. *) 12 13 val root : 14 Layout.site -> 15 dates:(string * (int64 * Git.User.tz_offset option) option) list -> 16 ?prefix:string -> 17 ?favorites:Resolvers.fs_node list -> 18 ?archived:Resolvers.fs_node list -> 19 ?readme:Resolvers.Blob.t -> 20 Resolvers.fs_node list -> 21 Dream.response Dream.promise 22 (** Render the repository list page. See {!Root.render}. *) 23 24 (** Repository page views. *) 25 module Repo : sig 26 type commit_message = Commit_message.t = { summary : string; body : string } 27 28 val context : 29 site:Layout.site -> repo:string -> description:string -> Repo_view.context 30 31 val parse_commit_message : string option -> Commit_message.t 32 val parse_conventional : string -> string option * string 33 34 val summary : 35 Repo_view.context -> 36 ?readme:Resolvers.Readme.t -> 37 unit -> 38 Dream.response Dream.promise 39 40 val commits : 41 ?filter_type:string -> 42 ?author:string -> 43 ?committer:string -> 44 ?truncated:bool -> 45 page_number:int -> 46 has_prev:bool -> 47 has_next:bool -> 48 Repo_view.context -> 49 Resolvers.Commit.t list -> 50 Dream.response Dream.promise 51 52 val files : 53 Repo_view.context -> 54 (string * string) list -> 55 Resolvers.Tree.tree_node list -> 56 Dream.response Dream.promise 57 58 val file : 59 Repo_view.context -> 60 (string * string) list -> 61 Resolvers.Blob.t -> 62 Dream.response Dream.promise 63 64 val commit : 65 Repo_view.context -> 66 Resolvers.Commit.t -> 67 Resolvers.Diff.file list -> 68 Dream.response Dream.promise 69 end 70