@@ -304,28 +304,16 @@ def run():
304
304
# Template builds
305
305
##############################
306
306
307
- # template
307
+ for template , content_type in [
308
+ ("template" , "content" ),
309
+ ("pre_template" , "pre_content" ),
310
+ ("post_template" , "post_content" ),
311
+ ]:
312
+ if needs_info [template ]:
313
+ needs_info [content_type ] = _prepare_template (app , needs_info , template )
314
+
308
315
if needs_info ["template" ]:
309
- new_content = _prepare_template (app , needs_info , "template" )
310
- # Overwrite current content
311
- content = new_content
312
- needs_info ["content" ] = new_content
313
- else :
314
- new_content = None
315
-
316
- # pre_template
317
- if needs_info ["pre_template" ]:
318
- pre_content = _prepare_template (app , needs_info , "pre_template" )
319
- needs_info ["pre_content" ] = pre_content
320
- else :
321
- pre_content = None
322
-
323
- # post_template
324
- if needs_info ["post_template" ]:
325
- post_content = _prepare_template (app , needs_info , "post_template" )
326
- needs_info ["post_content" ] = post_content
327
- else :
328
- post_content = None
316
+ content = needs_info ["content" ]
329
317
330
318
if needs_info ["hide" ]:
331
319
return [target_node ]
@@ -353,18 +341,17 @@ def run():
353
341
354
342
needs_info ["content_node" ] = node_need
355
343
356
- return_nodes = [ target_node ] + [ node_need ]
357
- if pre_content :
358
- node_need_pre_content = _render_template (pre_content , docname , lineno , state )
359
- pre_container = nodes .container ()
360
- pre_container += node_need_pre_content .children
361
- return_nodes = [ pre_container ] + return_nodes
344
+ def add_container ( node_list , content_type : str ):
345
+ if content_type in needs_info :
346
+ content = _render_template (needs_info [ content_type ] , docname , lineno , state )
347
+ container = nodes .container ()
348
+ container += content .children
349
+ node_list . append ( container )
362
350
363
- if post_content :
364
- node_need_post_content = _render_template (post_content , docname , lineno , state )
365
- post_container = nodes .container ()
366
- post_container += node_need_post_content .children
367
- return_nodes = return_nodes + [post_container ]
351
+ return_nodes = []
352
+ add_container (return_nodes , "pre_content" )
353
+ return_nodes .extend ([target_node , node_need ])
354
+ add_container (return_nodes , "post_content" )
368
355
369
356
return return_nodes
370
357
@@ -416,7 +403,7 @@ def _prepare_template(app: Sphinx, needs_info, template_key) -> str:
416
403
)
417
404
418
405
with open (template_path , "r" ) as template_file :
419
- template_content = "" . join ( template_file .readlines () )
406
+ template_content = template_file .read ( )
420
407
template_obj = Template (template_content )
421
408
new_content = template_obj .render (** needs_info )
422
409
0 commit comments