Add asset versioning, dynamic static base and centralized template rendering#2
Open
dissenter-web wants to merge 9 commits into
Open
Add asset versioning, dynamic static base and centralized template rendering#2dissenter-web wants to merge 9 commits into
dissenter-web wants to merge 9 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
asset_versionandrequest.url_forfor static asset URLs in templates to ensure correct URL construction.Description
ASSET_VERSIONenvironment variable and expose it to templates via a newrender_templatehelper that injectsasset_versioninto every response inapp/main.py.templates.TemplateResponse(...)calls withrender_template(...)across route handlers.data-static-baseanddata-asset-versionto the root HTML element intemplates/base.htmland include?v={{ asset_version }}query params on CSS/JS static includes.static/js/layout.js,static/js/project.js,static/js/theme.js) to compute a dynamicstaticBasefrom the page attribute and append theassetVersionto fetch and CSS links for cache-busting; update theme link generation to include bothassetVersionand a timestamp./static/...image/script paths in templates withurl_for('static', path=...)calls and add versioning to script tags; add logo path update in header and project script include.Testing
pytestand all tests passed.flake8linting checks and no new issues were reported.Codex Task