diff options
author | Marius Peter <marius.peter@tutanota.com> | 2025-07-20 18:00:04 +0200 |
---|---|---|
committer | Marius Peter <marius.peter@tutanota.com> | 2025-07-20 18:00:04 +0200 |
commit | 75baea720c97f73370786b95006a65da7762264b (patch) | |
tree | 45fe1b841774cf145ef449aecb3acc12f16f4632 | |
parent | 395bdf4668e37e98ff33151aa44426afe0e20e75 (diff) |
Miscellaneous cleanup.
-rw-r--r-- | bin/main.ml | 2 | ||||
-rw-r--r-- | lib/handlers.ml | 8 | ||||
-rw-r--r-- | lib/resolvers.ml | 6 | ||||
-rw-r--r-- | lib/views.ml | 56 |
4 files changed, 42 insertions, 30 deletions
diff --git a/bin/main.ml b/bin/main.ml index 2b3d552..fdc8baf 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1 +1,3 @@ +(* -*- mode: tuareg; -*- *) + let () = Ogit.Main.run () diff --git a/lib/handlers.ml b/lib/handlers.ml index add6378..86bc1a2 100644 --- a/lib/handlers.ml +++ b/lib/handlers.ml @@ -53,11 +53,11 @@ module Repo = struct let readme req = let repo = Dream.param req "repo" in let* readme = Resolvers.Repo.readme repo in + Views.Repo.file repo + @@ match readme with - | None -> - let content = "README does not exist for " ^ repo in - Views.Repo.file repo { content } - | Some file -> Views.Repo.file repo file + | None -> { content = "README does not exist for " ^ repo } + | Some file -> file end let all_handlers = diff --git a/lib/resolvers.ml b/lib/resolvers.ml index 873b137..e0b85c3 100644 --- a/lib/resolvers.ml +++ b/lib/resolvers.ml @@ -83,8 +83,8 @@ module Reference = struct let tags repo = let* references = all repo in - let is_branch reference = String.starts_with ~prefix:"v" reference.name in - Lwt_result.return @@ List.filter is_branch references + let is_tag reference = String.starts_with ~prefix:"v" reference.name in + Lwt_result.return @@ List.filter is_tag references let of_id repo id = let* branches = branches repo in @@ -115,7 +115,7 @@ module Entry = struct { hash; name; perm } let is_readme { name; _ } = - String.lowercase_ascii name |> String.starts_with ~prefix:"readme" + String.(lowercase_ascii name |> starts_with ~prefix:"readme") end module Tree = struct diff --git a/lib/views.ml b/lib/views.ml index 9345bf0..74e8e7a 100644 --- a/lib/views.ml +++ b/lib/views.ml @@ -10,7 +10,7 @@ type body_data = { repo : string option; subtitle : string; active : page; - content : Dream_html.node list; + content : node list; } let page_to_nav_item repo = function @@ -155,28 +155,6 @@ module Repo = struct ]; } - let branches repo branches = - respond - @@ Page.render ~page_title:(page_title repo) - { - repo = Some repo; - title = repo; - subtitle = Resolvers.repo_description repo; - active = Branches; - content = HTML.[ ul [] @@ List.map (li_of_branch repo) branches ]; - } - - let tags repo tags = - respond - @@ Page.render ~page_title:(page_title repo) - { - repo = Some repo; - title = repo; - subtitle = Resolvers.repo_description repo; - active = Tags; - content = HTML.[ ul [] @@ List.map (li_of_tag repo) tags ]; - } - let commits repo commits = respond @@ Page.render ~page_title:(page_title repo) @@ -234,6 +212,38 @@ module Repo = struct active = Summary; content = HTML.[ h3 [] [ txt "%s" message ] ]; } + + let branches repo branches = + let content = + match branches with + | [] -> HTML.[ p [] [ txt "No branches for repo %s" repo ] ] + | branches -> HTML.[ ul [] @@ List.map (li_of_branch repo) branches ] + in + respond + @@ Page.render ~page_title:(page_title repo) + { + repo = Some repo; + title = repo; + subtitle = Resolvers.repo_description repo; + active = Branches; + content; + } + + let tags repo tags = + let content = + match tags with + | [] -> HTML.[ p [] [ txt "No tags for repo %s" repo ] ] + | tags -> HTML.[ ul [] @@ List.map (li_of_tag repo) tags ] + in + respond + @@ Page.render ~page_title:(page_title repo) + { + repo = Some repo; + title = repo; + subtitle = Resolvers.repo_description repo; + active = Tags; + content; + } end let error_page message = |