Just go all out making it work for us

This commit is contained in:
benjamin melançon 2024-06-23 23:50:33 -04:00
parent d6f630bd9a
commit bbdd863df0

View file

@ -3,8 +3,10 @@ import os
def rewrite_file(filepath): def rewrite_file(filepath):
with open(filepath, 'r') as f: with open(filepath, 'r') as f:
base = filepath[:-4] base = filepath[:-4]
base = base.replace("_", " ").strip()
newfilepath = base + ".md" newfilepath = base + ".md"
with open(newfilepath, 'w') as w: with open(newfilepath, 'w') as w:
in_block = False
for i, line in enumerate(f): for i, line in enumerate(f):
if ( (i == 0 and line == "Content-Type: text/x-zim-wiki\n") if ( (i == 0 and line == "Content-Type: text/x-zim-wiki\n")
or (i == 1 and line == "Wiki-Format: zim 0.26\n") or (i == 1 and line == "Wiki-Format: zim 0.26\n")
@ -17,10 +19,41 @@ def rewrite_file(filepath):
title_pieces = line.split("======") title_pieces = line.split("======")
if len(title_pieces) == 3: if len(title_pieces) == 3:
title = title_pieces[1].strip() title = title_pieces[1].strip()
w.write("---\n") # If the filename is the same as the title, do not add
w.write("title: " + title + "\n") # the custom property. (If either this custom property
w.write("---\n") # or the 'actual' title is touched after import, Logseq
# will change the filename to that and the custom title
# becomes an out-of-date inactive property.) We set it
# if different because the initial import does use it!
if (title == base):
continue continue
w.write("title:: " + title + "\n")
w.write("\n")
continue
if (i > 5 and line == "\"\"\"\n"):
if (in_block == False):
in_block = True
else:
in_block = False
continue
if (i > 5 and in_block == False):
test = line.strip()
if (test == ""):
continue
prefix = ""
temp = line.lstrip()
if (temp[0:2] == "* " or temp[0:2] == "- "):
temp = temp[2:]
prefix = prefix + "\t"
elif (line[0:1] == "\t" or line[0:2] == " "):
# If the source file has two indents without first
# having a single indent, Logseq does not blink, so we
# do two indents if we think it *might* be warranted
# without fear.
prefix = prefix + "\t"
if (line[0:2] == "\t\t" or line[0:4] == " "):
prefix = prefix + "\t"
line = prefix + "- " + temp
w.write(line) w.write(line)