Add ?v=<commit> to requests for JS, CSS

This change lets the server implement more aggressive
caching strategies for both JS, and CSS. It is generally
preferred to include a digest in the filename instead, but
nanoc doesn't support that feature
This commit is contained in:
0x1eef 2024-06-09 00:57:34 -03:00
parent c199d97986
commit e3963d58f7
6 changed files with 10 additions and 8 deletions

View file

@ -18,6 +18,6 @@
<%= erb("_favicon.html.erb") %>
</head>
<body>
<script src="/js/main/random.js"></script>
<script src="/js/main/random.js?v=<%= revision %>"></script>
</body>
</html>

View file

@ -17,6 +17,6 @@
<%= erb("_favicon.html.erb") %>
</head>
<body>
<script src="/js/main/redirect.js"></script>
<script src="/js/main/redirect.js?v=<%= revision %>"></script>
</body>
</html>

View file

@ -22,6 +22,6 @@
<body>
<%= erb("_postman.html.erb", {locale:, dir:}) %>
<div class="root h-full"></div>
<script src="/js/loaders/surah-index-loader.js"></script>
<script src="/js/loaders/surah-index-loader.js?v=<%= revision %>"></script>
</body>
</html>

View file

@ -25,6 +25,6 @@
data-surah-id="<%= surah.id %>"
data-audio-base-url="<%= audio_base_url %>">
</div>
<script src="/js/loaders/surah-stream-loader.js"></script>
<script src="/js/loaders/surah-stream-loader.js?v=<%= revision %>"></script>
</body>
</html>

View file

@ -4,6 +4,7 @@ import type { TLocale } from "Quran";
(function () {
const doc = document.documentElement;
const rev = doc.querySelector("meta[name='revision']")!.getAttribute("content")!;
const locale: TLocale = {
name: doc.lang,
direction: doc.dir as "rtl" | "ltr",
@ -17,8 +18,8 @@ import type { TLocale } from "Quran";
const stylesheet: HTMLStyleElement = document.querySelector(".css.postman")!;
postman(
item.script("/js/main/surah-index.js"),
item.css("/css/main/surah-index.css"),
item.script(`/js/main/surah-index.js?v=${rev}`),
item.css(`/css/main/surah-index.css?v=${rev}`),
item.font("Kanit Regular", "url(/fonts/kanit-regular.ttf)"),
item.font("Mada Regular", "url(/fonts/mada-regular.ttf"),
item.progress((percent: number) => {

View file

@ -4,6 +4,7 @@ import type { TLocale } from "Quran";
(function () {
const doc = document.documentElement;
const rev = doc.querySelector("meta[name='revision']")!.getAttribute("content")!;
const { surahId } = document.querySelector<HTMLElement>(".root")!.dataset;
const locale: TLocale = {
name: doc.lang,
@ -18,8 +19,8 @@ import type { TLocale } from "Quran";
const stylesheet = document.querySelector(".css.postman")!;
postman(
item.script("/js/main/surah-stream.js"),
item.css("/css/main/surah-stream.css"),
item.script(`/js/main/surah-stream.js?v=${rev}`),
item.css(`/css/main/surah-stream.css?v=${rev}`),
item.font("Kanit Regular", "url(/fonts/kanit-regular.ttf)"),
item.font("Mada Regular", "url(/fonts/mada-regular.ttf"),
item.json(`/json/${doc.lang}/${surahId}/info.json`, { className: "json surahinfo" }),