{0 ogit} A lightweight, mobile-friendly alternative to cgit: a server-rendered web interface for browsing Git repositories. Pages work with JavaScript disabled and aim at WCAG 2.1 AA. {1 Reading order} Requests flow through the layers below in order. Start at {!module-Ogit.Routes} if you are tracing a URL, or at {!module-Ogit.Ui} if you are changing how a page looks. {2 Request handling} - {!module-Ogit.Routes} — bidirectional, type-safe paths shared by route registration and link generation. - {!module-Ogit.Handlers} — opens one repository context per request, maps errors to HTTP statuses, and pairs data access with rendering. - {!module-Ogit.Resolvers} — repository discovery and Git data access. - {!module-Ogit.Static_handler} — serves assets embedded at build time. - {!module-Ogit.Main} — loads configuration and starts the server. {2 Rendering} The view layer is split so that page code stays declarative. - {!module-Ogit.Ui} — the only module that names HTML elements. Generic and app-agnostic: a library of site building blocks. - {!module-Ogit.Components} — ogit's page parts, wired to {!module-Ogit.Routes} so URLs are never written by hand. - {!module-Ogit.Layout} — the page shell surrounding every page's content. - {!module-Ogit.Root} — the repository list and project directory pages. - {!module-Ogit.Repo_view} — the repository pages. - {!module-Ogit.Error} — error pages. {2 Supporting modules} - {!module-Ogit.Syntax} — guesses a blob's language for highlighting. - {!module-Ogit.Time_format} — formats Git dates for display. - {!module-Ogit.Line_diff} — computes line-oriented diffs between blobs. - {!module-Ogit.Charts} — generates standalone SVG charts. - {!module-Ogit.Config} — reads and validates the TOML configuration. - {!module-Ogit.List_ext} — small list helpers. {!module-Ogit.Static_assets} is generated at build time by [ocaml-crunch] from the contents of [lib/static/]; it carries no documentation of its own. {1 Building this documentation} {[ dune build @doc ]} The entry point is [_build/default/_doc/_html/index.html]. {!page-"conventions"} records the conventions this documentation follows.