[OCaml] Mobile-friendly clone of cgit.
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