from pathlib import Path from pprint import pprint import mistune ast_markdown = mistune.create_markdown(renderer='ast') def read_files(module_path: Path): with open(module_path, 'r', encoding='utf-8') as f: file = f.read() parsed = ast_markdown(file) return parsed if __name__ == '__main__': module_path = Path('modules') # walk through the modules # for every markdown file # parse the label for md_file in module_path.rglob('*.md'): print(md_file) parsed = read_files(md_file) pprint(parsed)