def get_page(dir, file): filename = (file) if filename in cache: return cache[filename] path = os.path.abspath(os.path.join(os.path.dirname(__file__), dir, filename)) try: file_contents = open(path, encoding='utf-8').read() except: return None data, text = file_contents.split('--\n', 1) page = yaml.load(data) page['content'] = Markup(Markup.markdown(text)) page['path'] = file cache[filename] = page return page