import os
import sys
import re
dir = sys.argv[1]
current_file = sys.argv[2]
def add_to_tree(tree: list, path: str, vals: list) -> bool:
root = tree[0]
if root not in path:
return False
else:
subtrees = [ child for child in tree[1] if type(child) == list ]
for subtree in subtrees:
if add_to_tree(subtree, path, vals):
return True
tree[1] += [[path, vals]]
return True
def gen_nav_tree(tree: list) -> str:
nav_entries = []
for entry in tree[1]:
if type(entry) == str:
nav_entries += [entry]
else:
nav_entries += [f'
{gen_nav_tree(entry)}
']
return f'
{tree[0]}
{"".join(nav_entries)}
'
tree = []
for root, dirs, files in os.walk(dir):
rel_root = os.path.relpath(root, dir)
entries = []
for name in files:
if not name.endswith(".md"):
continue
html_name = re.sub(r"\.md$", ".html", name)
full_path = os.path.join(rel_root, html_name)
nav_entry = ''
if full_path in current_file:
nav_entry = f'