My agentic slop goes here. Not intended for anyone else!

more

Changed files
+36
stack
+36
stack/river/lib/markdown_converter.ml
···
need_space := false
(* Inline elements - preserve space tracking *)
| "strong" | "b" ->
Buffer.add_string buffer "**";
need_space := false;
Soup.children elem |> Soup.iter process_node;
Buffer.add_string buffer "**";
mark_space_needed ()
| "em" | "i" ->
Buffer.add_string buffer "*";
need_space := false;
Soup.children elem |> Soup.iter process_node;
Buffer.add_string buffer "*";
mark_space_needed ()
| "code" ->
Buffer.add_string buffer "`";
need_space := false;
Soup.children elem |> Soup.iter process_node;
···
let href = Soup.attribute "href" elem in
(match href with
| Some href ->
if text = "" then
Buffer.add_string buffer (Printf.sprintf "<%s>" href)
else
Buffer.add_string buffer (Printf.sprintf "[%s](%s)" text href);
mark_space_needed ()
| None ->
add_text text)
···
Buffer.add_string buffer "\n\n";
need_space := false
| "img" ->
let alt = Soup.attribute "alt" elem |> Option.value ~default:"" in
let src = Soup.attribute "src" elem |> Option.value ~default:"" in
Buffer.add_string buffer (Printf.sprintf "![%s](%s)" alt src);
mark_space_needed ()
| "hr" ->
need_space := false;
···
need_space := false
(* Inline elements - preserve space tracking *)
| "strong" | "b" ->
+
(* Add space before if needed *)
+
if !need_space then begin
+
match last_char () with
+
| Some (' ' | '\n') -> ()
+
| _ -> Buffer.add_char buffer ' '
+
end;
Buffer.add_string buffer "**";
need_space := false;
Soup.children elem |> Soup.iter process_node;
Buffer.add_string buffer "**";
mark_space_needed ()
| "em" | "i" ->
+
(* Add space before if needed *)
+
if !need_space then begin
+
match last_char () with
+
| Some (' ' | '\n') -> ()
+
| _ -> Buffer.add_char buffer ' '
+
end;
Buffer.add_string buffer "*";
need_space := false;
Soup.children elem |> Soup.iter process_node;
Buffer.add_string buffer "*";
mark_space_needed ()
| "code" ->
+
(* Add space before if needed *)
+
if !need_space then begin
+
match last_char () with
+
| Some (' ' | '\n') -> ()
+
| _ -> Buffer.add_char buffer ' '
+
end;
Buffer.add_string buffer "`";
need_space := false;
Soup.children elem |> Soup.iter process_node;
···
let href = Soup.attribute "href" elem in
(match href with
| Some href ->
+
(* Add space before link if needed *)
+
if !need_space then begin
+
match last_char () with
+
| Some (' ' | '\n') -> ()
+
| _ -> Buffer.add_char buffer ' '
+
end;
+
need_space := false;
+
+
(* Add the link markdown *)
if text = "" then
Buffer.add_string buffer (Printf.sprintf "<%s>" href)
else
Buffer.add_string buffer (Printf.sprintf "[%s](%s)" text href);
+
+
(* Mark that space may be needed after link *)
mark_space_needed ()
| None ->
add_text text)
···
Buffer.add_string buffer "\n\n";
need_space := false
| "img" ->
+
(* Add space before if needed *)
+
if !need_space then begin
+
match last_char () with
+
| Some (' ' | '\n') -> ()
+
| _ -> Buffer.add_char buffer ' '
+
end;
let alt = Soup.attribute "alt" elem |> Option.value ~default:"" in
let src = Soup.attribute "src" elem |> Option.value ~default:"" in
Buffer.add_string buffer (Printf.sprintf "![%s](%s)" alt src);
+
need_space := false;
mark_space_needed ()
| "hr" ->
need_space := false;