Support Jinja templating within Markdown page content (Resolves #69)
This PR alters the Static Shock pipeline to make it possible to run templating engines on content.
The pipeline now explicitly runs two different steps when it renders pages. First, the pipeline renders the content. Second, the pipeline renders the layout. In other words, content rendering and layout rendering are now explicitly different.
To facilitate the pipeline change, every PageRenderer now needs a method for rendering content and rendering layout. However, rendering layout is optional, because not every page uses an external layout, e.g., a Jinja page that fully defines its content in the page file.
After this PR, a Markdown page can include Jinja templating within its content by doing the following:
Support Jinja templating within Markdown page content (Resolves #69)
This PR alters the Static Shock pipeline to make it possible to run templating engines on content.
The pipeline now explicitly runs two different steps when it renders pages. First, the pipeline renders the content. Second, the pipeline renders the layout. In other words, content rendering and layout rendering are now explicitly different.
To facilitate the pipeline change, every
PageRenderer
now needs a method for rendering content and rendering layout. However, rendering layout is optional, because not every page uses an external layout, e.g., a Jinja page that fully defines its content in the page file.After this PR, a Markdown page can include Jinja templating within its content by doing the following: