Update cached styles and scripts after version change (#510)

This commit is contained in:
Sascha Ißbrücker
2023-08-23 10:54:25 +02:00
committed by GitHub
parent e076747f85
commit 62c40d1b7b
9 changed files with 25 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
from bookmarks import queries from bookmarks import queries
from bookmarks.models import Toast from bookmarks.models import Toast
from bookmarks import utils
def toasts(request): def toasts(request):
@@ -23,3 +24,9 @@ def public_shares(request):
} }
return {} return {}
def app_version(request):
return {
'app_version': utils.app_version
}

View File

@@ -41,5 +41,5 @@
</section> </section>
</div> </div>
<script src="{% static "bundle.js" %}"></script> <script src="{% static "bundle.js" %}?v={{ app_version }}"></script>
{% endblock %} {% endblock %}

View File

@@ -116,8 +116,7 @@
<a href="{{ cancel_url }}" class="btn">Nevermind</a> <a href="{{ cancel_url }}" class="btn">Nevermind</a>
</div> </div>
{# Replace tag input with auto-complete component #} <script src="{% static "bundle.js" %}?v={{ app_version }}"></script>
<script src="{% static "bundle.js" %}"></script>
<script type="application/javascript"> <script type="application/javascript">
/** /**
* - Pre-fill title and description placeholders with metadata from website as soon as URL changes * - Pre-fill title and description placeholders with metadata from website as soon as URL changes

View File

@@ -41,5 +41,5 @@
</section> </section>
</div> </div>
<script src="{% static "bundle.js" %}"></script> <script src="{% static "bundle.js" %}?v={{ app_version }}"></script>
{% endblock %} {% endblock %}

View File

@@ -18,14 +18,14 @@
{# Include SASS styles, files are resolved from bookmarks/styles #} {# Include SASS styles, files are resolved from bookmarks/styles #}
{# Include specific theme variant based on user profile setting #} {# Include specific theme variant based on user profile setting #}
{% if request.user_profile.theme == 'light' %} {% if request.user_profile.theme == 'light' %}
<link href="{% sass_src 'theme-light.scss' %}" rel="stylesheet" type="text/css"/> <link href="{% sass_src 'theme-light.scss' %}?v={{ app_version }}" rel="stylesheet" type="text/css"/>
{% elif request.user_profile.theme == 'dark' %} {% elif request.user_profile.theme == 'dark' %}
<link href="{% sass_src 'theme-dark.scss' %}" rel="stylesheet" type="text/css"/> <link href="{% sass_src 'theme-dark.scss' %}?v={{ app_version }}" rel="stylesheet" type="text/css"/>
{% else %} {% else %}
{# Use auto theme as fallback #} {# Use auto theme as fallback #}
<link href="{% sass_src 'theme-dark.scss' %}" rel="stylesheet" type="text/css" <link href="{% sass_src 'theme-dark.scss' %}?v={{ app_version }}" rel="stylesheet" type="text/css"
media="(prefers-color-scheme: dark)"/> media="(prefers-color-scheme: dark)"/>
<link href="{% sass_src 'theme-light.scss' %}" rel="stylesheet" type="text/css" <link href="{% sass_src 'theme-light.scss' %}?v={{ app_version }}" rel="stylesheet" type="text/css"
media="(prefers-color-scheme: light)"/> media="(prefers-color-scheme: light)"/>
{% endif %} {% endif %}
</head> </head>

View File

@@ -45,5 +45,5 @@
</section> </section>
</div> </div>
<script src="{% static "bundle.js" %}"></script> <script src="{% static "bundle.js" %}?v={{ app_version }}"></script>
{% endblock %} {% endblock %}

View File

@@ -1,3 +1,4 @@
import logging
import re import re
from datetime import datetime from datetime import datetime
from typing import Optional from typing import Optional
@@ -6,6 +7,13 @@ from dateutil.relativedelta import relativedelta
from django.template.defaultfilters import pluralize from django.template.defaultfilters import pluralize
from django.utils import timezone, formats from django.utils import timezone, formats
try:
with open("version.txt", "r") as f:
app_version = f.read().strip("\n")
except Exception as exc:
logging.exception(exc)
app_version = ''
def unique(elements, key): def unique(elements, key):
return list({key(element): element for element in elements}.values()) return list({key(element): element for element in elements}.values())

View File

@@ -16,16 +16,10 @@ from bookmarks.models import UserProfileForm, FeedToken
from bookmarks.queries import query_bookmarks from bookmarks.queries import query_bookmarks
from bookmarks.services import exporter, tasks from bookmarks.services import exporter, tasks
from bookmarks.services import importer from bookmarks.services import importer
from bookmarks.utils import app_version
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
try:
with open("version.txt", "r") as f:
app_version = f.read().strip("\n")
except Exception as exc:
logging.exception(exc)
pass
@login_required @login_required
def general(request): def general(request):

View File

@@ -73,6 +73,7 @@ TEMPLATES = [
'django.contrib.messages.context_processors.messages', 'django.contrib.messages.context_processors.messages',
'bookmarks.context_processors.toasts', 'bookmarks.context_processors.toasts',
'bookmarks.context_processors.public_shares', 'bookmarks.context_processors.public_shares',
'bookmarks.context_processors.app_version',
], ],
}, },
}, },