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 = | 
