1- let highlight_search_terms
2- ~search
3- (text: string)
4- =
5- let render_item = function
6- | Str.Delim s -> {|<span class="bg-background-light-blue">|} ^ Dream.html_escape s ^ {|</span>|}
7- | Text s -> Dream.html_escape s
8- in
9- let r = Str.global_replace (Str.regexp "[ \t]+") "\\|" search in
10- let split = Str.full_split (Str.regexp_case_fold r) text in
11- List.fold_left (fun a b -> a ^ render_item b) "" split
12-
131let render ~total ~search (packages : Package_intf.package list) = Layout.render ~title:"OCaml Packages · Search Result"
142~description:"Find the package you need to build your application in the thousands of available OCaml packages."
153~canonical:(Url.packages_search ^ "?q=" ^ search)
@@ -24,7 +12,7 @@ let render ~total ~search (packages : Package_intf.package list) = Layout.render
2412 <input
2513 type="search"
2614 name="q" id="q2"
27- class="package__search w-full focus:border-gray-800 text-gray-800 border-primary-600 h-10 rounded-l-md appearance-none px-4 py-1"
15+ class="packages_search__search__input w-full focus:border-gray-800 text-gray-800 border-primary-600 h-10 rounded-l-md appearance-none px-4 py-1"
2816 value="<%s search %>"
2917 placeholder="Search OCaml Packages">
3018 <button aria-label="search" class="h-10 rounded-r-md bg-primary-600 text-white flex items-center justify-center px-4">
@@ -67,14 +55,14 @@ let render ~total ~search (packages : Package_intf.package list) = Layout.render
6755 >
6856 <%s package.name %>
6957 </a>
70- <div><%s! highlight_search_terms ~search package.description %></div>
58+ <div><%s! Search. highlight_search_terms ~class_:"bg-background-light-blue" ~search package.description %></div>
7159 <div class="flex flex-wrap">
7260 <% package.tags |> List.iter (fun (tag : string) -> %>
7361 <a
7462 href="<%s Url.packages_search %>?q=tag%3A%22<%s Dream.to_percent_encoded tag %>%22"
7563 class="px-2 py-1 text-body-400 font-medium bg-gray-100 rounded hover:underline mr-3 mb-2 mt-1 text-sm"
7664 >
77- <%s! highlight_search_terms ~search tag %>
65+ <%s! Search. highlight_search_terms ~class_:"bg-background-light-blue" ~search tag %>
7866 </a>
7967 <% ); %>
8068 </div>
@@ -85,7 +73,7 @@ let render ~total ~search (packages : Package_intf.package list) = Layout.render
8573 href="<%s Url.packages_search %>?q=author%3A%22<%s Dream.to_percent_encoded author.name %>%22"
8674 class="text-sm hover:underline mr-3"
8775 >
88- <%s! highlight_search_terms ~search author.name %>
76+ <%s! Search. highlight_search_terms ~class_:"bg-background-light-blue" ~search author.name %>
8977 </a>
9078 <% ); %>
9179 </div>
0 commit comments