From 379c20026dbbe61e1aa4a29b9e865afa770c9686 Mon Sep 17 00:00:00 2001
From: Cuihtlauac ALVARADO
Date: Fri, 24 Feb 2023 11:14:08 +0100
Subject: [PATCH] Get rid of Url.package_with_version
* Remove old Url.package
* Rename old Url.package_with_version into Url.package
* Update Url.with_version
- None -> "/latest" (as in old Url.package_with_version)
- Some "" -> "" (as in old Url.package)
- Some x -> "/x" (as in old Url.package_with_version)
* Use new Url.with_version in new Url.package
* At call sites of old Url.package, add ~version:"" to get the
same behaviour
* At call sites of old Url.package_with_version, replace by Url.package
A bit convoluted, but did not managed to observe a change of behaviour.
---
src/global/url.ml | 10 +++++-----
.../components/package_breadcrumbs.eml | 2 +-
.../pages/package_documentation_not_found.eml | 2 +-
src/ocamlorg_frontend/pages/package_overview.eml | 8 ++++----
src/ocamlorg_frontend/pages/packages.eml | 2 +-
.../pages/packages_autocomplete_fragment.eml | 2 +-
src/ocamlorg_frontend/pages/packages_search.eml | 2 +-
src/ocamlorg_frontend/pages/releases.eml | 2 +-
src/ocamlorg_web/lib/handler.ml | 2 +-
src/ocamlorg_web/lib/router.ml | 10 ++++++----
10 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/src/global/url.ml b/src/global/url.ml
index 87814bebdb..aadb5751ba 100644
--- a/src/global/url.ml
+++ b/src/global/url.ml
@@ -3,15 +3,15 @@ let packages = "/packages"
let packages_search = "/packages/search"
let packages_autocomplete_fragment = "/packages/autocomplete"
let with_hash = Option.fold ~none:"/p" ~some:(( ^ ) "/u/")
-let package ?hash v = with_hash hash ^ "/" ^ v
let package_docs v = "/p/" ^ v ^ "/doc"
-let with_version = Option.value ~default:"latest"
-let package_with_version ?version ?hash v =
- with_hash hash ^ "/" ^ v ^ "/" ^ with_version version
+let with_version =
+ Option.fold ~none:"/latest" ~some:(fun v -> if v = "" then v else "/" ^ v)
+
+let package ?version ?hash v = with_hash hash ^ "/" ^ v ^ with_version version
let package_doc ?hash ?version ?(page = "index.html") v =
- with_hash hash ^ "/" ^ v ^ "/" ^ with_version version ^ "/doc/" ^ page
+ with_hash hash ^ "/" ^ v ^ with_version version ^ "/doc/" ^ page
let community = "/community"
let success_story v = "/success-stories/" ^ v
diff --git a/src/ocamlorg_frontend/components/package_breadcrumbs.eml b/src/ocamlorg_frontend/components/package_breadcrumbs.eml
index 9c99c6178f..6aaf2e7dee 100644
--- a/src/ocamlorg_frontend/components/package_breadcrumbs.eml
+++ b/src/ocamlorg_frontend/components/package_breadcrumbs.eml
@@ -51,7 +51,7 @@ let render_package_and_version
=
let version = if is_latest_url then None else Some package.version in