Add installation instruction file;

Order directories.
This commit is contained in:
Schimon Jehudah, Adv. 2024-11-12 15:31:05 +02:00
parent 766e51af4c
commit 3ac005708d
49 changed files with 61 additions and 0 deletions

52
rivista/gmi/markdown.py Normal file
View file

@ -0,0 +1,52 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
class GmiMarkdown:
def convert_to_gmi(markdown_text):
lines = markdown_text.splitlines()
footnotes = []
footnote_counter = 1
output_lines = []
for line in lines:
# Process links in the format [text](url)
while True:
start_bracket = line.find('[')
if start_bracket == -1:
break # No more links in this line
end_bracket = line.find(']', start_bracket)
if end_bracket == -1:
break # Malformed link; exit loop
start_parenthesis = line.find('(', end_bracket)
if start_parenthesis == -1:
break # Malformed link; exit loop
end_parenthesis = line.find(')', start_parenthesis)
if end_parenthesis == -1:
break # Malformed link; exit loop
link_text = line[start_bracket + 1:end_bracket]
url = line[start_parenthesis + 1:end_parenthesis]
# Add footnote
footnotes.append(f" [{footnote_counter}]: {link_text}{url}")
footnote_marker = f"{link_text}[{footnote_counter}]"
footnote_counter += 1
# Replace link with footnote marker
line = line[:start_bracket] + footnote_marker + line[end_parenthesis + 1:]
# Remove Markdown header markers
if line.startswith('#'):
line = line.lstrip('# ').strip()
output_lines.append(line.strip())
# Combine output lines and footnotes
output_text = "\n".join(output_lines).strip()
footnotes_text = "\n".join(footnotes)
return f"{output_text}\n\n{footnotes_text}" if footnotes else output_text