diff options
| author | Fuwn <[email protected]> | 2024-06-23 10:51:58 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-06-23 10:51:58 +0000 |
| commit | 0395ddcede19f87441a79fbbe29872f24ac3a29b (patch) | |
| tree | e9e13bfee833ac5f469a5afc89bea194c1fd420d | |
| parent | refactor(gopher): line ending trimmer as function (diff) | |
| download | momoka-0395ddcede19f87441a79fbbe29872f24ac3a29b.tar.xz momoka-0395ddcede19f87441a79fbbe29872f24ac3a29b.zip | |
fix(gopher): common line endings
| -rw-r--r-- | src/gemini.gleam | 2 | ||||
| -rw-r--r-- | src/gopher.gleam | 38 |
2 files changed, 22 insertions, 18 deletions
diff --git a/src/gemini.gleam b/src/gemini.gleam index ad04079..02a6a75 100644 --- a/src/gemini.gleam +++ b/src/gemini.gleam @@ -43,6 +43,6 @@ pub fn get_gemtext_from_capsule(message) { let assert Ok(response) = httpc.send(request) bytes_builder.from_string( - gopher.gemtext_to_gopher(parse.parse_gemtext_raw(response.body)) <> "\r\n", + gopher.gemtext_to_gopher(parse.parse_gemtext_raw(response.body)), ) } diff --git a/src/gopher.gleam b/src/gopher.gleam index 01ecc9a..5ff02aa 100644 --- a/src/gopher.gleam +++ b/src/gopher.gleam @@ -8,23 +8,27 @@ pub fn trim_gopher_line_ending(line) { } pub fn gemtext_to_gopher(gemtext: List(Gemtext)) -> String { - gemtext - |> list.map(fn(line) { - case line { - gemtext.PreformattedLine(content) -> - content - |> string.split("\n") - |> list.map(fn(line) { - case line { - "```" -> "" - _ -> "i`` " <> line - } - }) - |> string.join("\n") - _ -> gemtext_line_to_gopher_line(line) - } - }) - |> string.join("\n") + { + gemtext + |> list.map(fn(line) { + case line { + gemtext.PreformattedLine(content) -> + content + |> string.split("\n") + |> list.map(fn(line) { + case line { + "```" -> "" + _ -> "i`` " <> line + } + }) + |> string.join("\n") + _ -> gemtext_line_to_gopher_line(line) + } + }) + |> string.join("\r\n") + <> "." + } + |> string.replace("\r\n\r\n.", "\r\n.") } fn extract_domain_from_url(url: String) -> String { |