summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--converters/md_to_gemini.py23
1 files 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)