4
4
import logging
5
5
import os
6
6
import time
7
- from typing import TYPE_CHECKING , Any , Sequence
7
+ from typing import TYPE_CHECKING , Sequence
8
8
from urllib .parse import urlsplit
9
9
10
10
import jinja2
15
15
from mkdocs .exceptions import Abort , BuildError
16
16
from mkdocs .structure .files import File , Files , get_files
17
17
from mkdocs .structure .nav import Navigation , get_navigation
18
+ from mkdocs .utils import templates
18
19
19
20
if TYPE_CHECKING :
20
21
from mkdocs .config .defaults import MkDocsConfig
@@ -43,7 +44,7 @@ def get_context(
43
44
config : MkDocsConfig ,
44
45
page : Page | None = None ,
45
46
base_url : str = '' ,
46
- ) -> dict [ str , Any ] :
47
+ ) -> templates . TemplateContext :
47
48
"""
48
49
Return the template context for a given page or template.
49
50
"""
@@ -57,17 +58,17 @@ def get_context(
57
58
if isinstance (files , Files ):
58
59
files = files .documentation_pages ()
59
60
60
- return {
61
- ' nav' : nav ,
62
- ' pages' : files ,
63
- ' base_url' : base_url ,
64
- ' extra_css' : extra_css ,
65
- ' extra_javascript' : extra_javascript ,
66
- ' mkdocs_version' : mkdocs .__version__ ,
67
- ' build_date_utc' : utils .get_build_datetime (),
68
- ' config' : config ,
69
- ' page' : page ,
70
- }
61
+ return templates . TemplateContext (
62
+ nav = nav ,
63
+ pages = files ,
64
+ base_url = base_url ,
65
+ extra_css = extra_css ,
66
+ extra_javascript = extra_javascript ,
67
+ mkdocs_version = mkdocs .__version__ ,
68
+ build_date_utc = utils .get_build_datetime (),
69
+ config = config ,
70
+ page = page ,
71
+ )
71
72
72
73
73
74
def _build_template (
0 commit comments