From fa059d0d3b1d7b9a0d733d1b36f905d34d713e18 Mon Sep 17 00:00:00 2001 From: uvok Date: Mon, 23 Jun 2025 19:04:37 +0200 Subject: gemini: Clarify, keep leading/trailing to a degree --- converters/md_to_gemini.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/converters/md_to_gemini.py b/converters/md_to_gemini.py index 80ede7b..d7c1596 100644 --- a/converters/md_to_gemini.py +++ b/converters/md_to_gemini.py @@ -4,18 +4,31 @@ import os.path from md2gemini import md2gemini def merge_lines(input_text): - lines = input_text.strip().splitlines() + lines = input_text.splitlines() result = [] - previous_line_was_arrow = False + last_line = None for line in lines: stripped = line.strip() + if stripped == '' or stripped == '*': - if previous_line_was_arrow: - continue + # Tentatively hold this line + last_line = stripped + continue + + if stripped.startswith('=>') and (last_line == '' or last_line == '*'): + # Skip the held line + last_line = None + + if last_line is not None: + result.append(last_line) + last_line = None result.append(line) - previous_line_was_arrow = stripped.startswith('=>') + + # If the last line was held and never flushed + if last_line is not None: + result.append(last_line) return '\n'.join(result) -- cgit v1.2.3