summaryrefslogtreecommitdiff
path: root/lib/views.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/views.ml')
-rw-r--r--lib/views.ml16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/views.ml b/lib/views.ml
index e1056b7..029e311 100644
--- a/lib/views.ml
+++ b/lib/views.ml
@@ -199,10 +199,22 @@ module Repo = struct
content;
}
- let blob repo blob =
+ let file repo blob =
let title = Printf.sprintf "%s" repo in
+ let to_numbered_line number line =
+ let n = number + 1 in
+ HTML.
+ [
+ a [ id "%d" n; class_ "line-anchor"; href "#%d" n ] [ txt "%d" n ];
+ span [ class_ "line" ] [ txt "\t%s\n" line ];
+ ]
+ in
+ let formatted_blob =
+ String.split_on_char '\n' blob.content
+ |> List.mapi to_numbered_line |> List.flatten
+ in
let content =
- HTML.[ h3 [] [ txt "Blob" ]; p [] [ txt "%s" blob.content ] ]
+ HTML.[ h3 [] [ txt "File" ]; div [ id "blob" ] formatted_blob ]
in
Page.render ~page_title:(page_title repo)
{
Copyright 2019--2025 Marius PETER