1
Fork 0
mkdocs-site/hooks/nav.py

26 lines
581 B
Python
Raw Normal View History

2023-09-09 10:56:04 +01:00
import jinja2
2023-09-08 22:10:52 +01:00
def is_list_page(page) -> bool:
if not page.parent:
return False
return page.parent.children[0] == page
def children(page):
if not is_list_page(page):
return []
return page.parent.children[1:]
2023-09-09 10:56:04 +01:00
@jinja2.pass_context
def get_page(context, slug):
nav = context["nav"]
for page in nav.pages:
if page.file.src_uri == slug:
return page
return None
2023-09-08 22:10:52 +01:00
def on_env(env, config, files):
env.filters["is_list_page"] = is_list_page
env.filters["children"] = children
2023-09-09 10:56:04 +01:00
env.globals["get_page"] = get_page