@@ -89,6 +89,51 @@ def on_config(self, config: config_options.Config, **kwargs) -> dict:
89
89
90
90
return config
91
91
92
+ def on_page_markdown (
93
+ self , markdown : str , page : Page , config : config_options .Config , files , ** kwargs
94
+ ) -> str :
95
+ """
96
+ Replace jinja2 tags in markdown and templates with the localized dates
97
+
98
+ The page_markdown event is called after the page's markdown is loaded
99
+ from file and can be used to alter the Markdown source text.
100
+ The meta- data has been stripped off and is available as page.meta
101
+ at this point.
102
+
103
+ https://www.mkdocs.org/user-guide/plugins/#on_page_markdown
104
+
105
+ Args:
106
+ markdown (str): Markdown source text of page as string
107
+ page: mkdocs.nav.Page instance
108
+ config: global configuration object
109
+ site_navigation: global navigation object
110
+
111
+ Returns:
112
+ str: Markdown source text of page as string
113
+ """
114
+
115
+ revision_dates = self .util .get_revision_date_for_file (
116
+ path = page .file .abs_src_path ,
117
+ locale = self .config .get ("locale" , "en" ),
118
+ time_zone = self .config .get ("time_zone" , "UTC" ),
119
+ fallback_to_build_date = self .config .get ("fallback_to_build_date" ),
120
+ )
121
+ revision_date = revision_dates [self .config ["type" ]]
122
+
123
+ # timeago output is dynamic, which breaks when you print a page
124
+ # This ensures fallback to type "iso_date"
125
+ # controlled via CSS (see on_post_page() event)
126
+ if self .config ["type" ] == "timeago" :
127
+ revision_date += revision_dates ["iso_date" ]
128
+
129
+ page .meta ["git_revision_date_localized" ] = revision_date
130
+ return re .sub (
131
+ r"\{\{\s*[page\.meta\.]*git_revision_date_localized\s*\}\}" ,
132
+ revision_date ,
133
+ markdown ,
134
+ flags = re .IGNORECASE ,
135
+ )
136
+
92
137
def on_post_page (self , output_content : str , ** kwargs ) -> str :
93
138
"""
94
139
Add timeago.js as a CDN to the HTML page.
@@ -140,48 +185,3 @@ def on_post_page(self, output_content: str, **kwargs) -> str:
140
185
output_content = output_content [:idx ] + extra_css + output_content [idx :]
141
186
142
187
return output_content
143
-
144
- def on_page_markdown (
145
- self , markdown : str , page : Page , config : config_options .Config , files , ** kwargs
146
- ) -> str :
147
- """
148
- Replace jinja2 tags in markdown and templates with the localized dates
149
-
150
- The page_markdown event is called after the page's markdown is loaded
151
- from file and can be used to alter the Markdown source text.
152
- The meta- data has been stripped off and is available as page.meta
153
- at this point.
154
-
155
- https://www.mkdocs.org/user-guide/plugins/#on_page_markdown
156
-
157
- Args:
158
- markdown (str): Markdown source text of page as string
159
- page: mkdocs.nav.Page instance
160
- config: global configuration object
161
- site_navigation: global navigation object
162
-
163
- Returns:
164
- str: Markdown source text of page as string
165
- """
166
-
167
- revision_dates = self .util .get_revision_date_for_file (
168
- path = page .file .abs_src_path ,
169
- locale = self .config .get ("locale" , "en" ),
170
- time_zone = self .config .get ("time_zone" , "UTC" ),
171
- fallback_to_build_date = self .config .get ("fallback_to_build_date" ),
172
- )
173
- revision_date = revision_dates [self .config ["type" ]]
174
-
175
- # timeago output is dynamic, which breaks when you print a page
176
- # This ensures fallback to type "iso_date"
177
- # controlled via CSS (see on_post_page() event)
178
- if self .config ["type" ] == "timeago" :
179
- revision_date += revision_dates ["iso_date" ]
180
-
181
- page .meta ["git_revision_date_localized" ] = revision_date
182
- return re .sub (
183
- r"\{\{\s*[page\.meta\.]*git_revision_date_localized\s*\}\}" ,
184
- revision_date ,
185
- markdown ,
186
- flags = re .IGNORECASE ,
187
- )
0 commit comments