Put static assets in a separate directory so they can be delivered directly by nginx

This commit is contained in:
Ian Renton
2026-07-25 16:49:49 +01:00
parent 555a8418a9
commit 3c4c595288
20 changed files with 157 additions and 130 deletions
+1 -1
View File
@@ -76,7 +76,7 @@
</div>
<script src="/js/add-spot.js?v=1784989634"></script>
<script src="/static/js/add-spot.js?v=1784994589"></script>
<script>$(document).ready(function () {
$("#nav-link-add-spot").addClass("active");
}); <!-- highlight active page in nav --></script>
+1 -1
View File
@@ -75,7 +75,7 @@
</div>
<script src="/js/alerts.js?v=1784989634"></script>
<script src="/static/js/alerts.js?v=1784994589"></script>
<script>$(document).ready(function () {
$("#nav-link-alerts").addClass("active");
}); <!-- highlight active page in nav --></script>
+1 -1
View File
@@ -7,7 +7,7 @@
<div class="row justify-content-center">
<div class="col-md-8">
<div class="text-center mb-4">
<img src="/img/logo.png" width="192" height="60" alt="Spothole">
<img src="/static/img/logo.png" width="192" height="60" alt="Spothole">
</div>
<div class="card">
<div class="card-body">
+1 -1
View File
@@ -1,5 +1,5 @@
{% extends "skeleton.html" %}
{% block body %}
<redoc spec-url="/apidocs/openapi.yml"></redoc>
<redoc spec-url="/static/apidocs/openapi.yml"></redoc>
<script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>
{% end %}
+2 -2
View File
@@ -75,8 +75,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1784989634"></script>
<script src="/js/bands.js?v=1784989634"></script>
<script src="/static/js/spotsbandsandmap.js?v=1784994589"></script>
<script src="/static/js/bands.js?v=1784994589"></script>
<script>$(document).ready(function () {
$("#nav-link-bands").addClass("active");
}); <!-- highlight active page in nav --></script>
+13 -13
View File
@@ -1,26 +1,26 @@
{% extends "skeleton.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/css/style.css?v=1784989634" type="text/css">
<link href="/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
<link href="/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
<link href="/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
<link rel="stylesheet" href="/static/css/style.css?v=1784994589" type="text/css">
<link href="/static/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
<link href="/static/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
<link href="/static/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
<script src="/vendor/js/jquery-3.7.1.min.js"></script>
<script src="/vendor/js/moment-2.29.4.min.js"></script>
<script src="/vendor/js/bootstrap-5.3.8.bundle.min.js"></script>
<script src="/vendor/js/tinycolor2-1.6.0.min.js"></script>
<script src="/static/vendor/js/jquery-3.7.1.min.js"></script>
<script src="/static/vendor/js/moment-2.29.4.min.js"></script>
<script src="/static/vendor/js/bootstrap-5.3.8.bundle.min.js"></script>
<script src="/static/vendor/js/tinycolor2-1.6.0.min.js"></script>
<script src="/js/utils.js?v=1784989634"></script>
<script src="/js/ui-ham.js?v=1784989634"></script>
<script src="/js/geo.js?v=1784989634"></script>
<script src="/js/common.js?v=1784989634"></script>
<script src="/static/js/utils.js?v=1784994589"></script>
<script src="/static/js/ui-ham.js?v=1784994589"></script>
<script src="/static/js/geo.js?v=1784994589"></script>
<script src="/static/js/common.js?v=1784994589"></script>
{% end %}
{% block body %}
<div class="container">
<nav id="header" class="navbar navbar-expand-lg bg-body p-0 border-bottom">
<div class="container-fluid p-0">
<a class="navbar-brand" href="/">
<img src="/img/logo.png" class="logo" width="192" height="60" alt="Spothole">
<img src="/static/img/logo.png" class="logo" width="192" height="60" alt="Spothole">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbar-toggler-content" aria-controls="navbar-toggler-content"
+2 -2
View File
@@ -283,8 +283,8 @@
</div>
</div>
<script src="/vendor/js/chart-4.4.9.umd.min.js"></script>
<script src="/js/conditions.js?v=1784989634"></script>
<script src="/static/vendor/js/chart-4.4.9.umd.min.js"></script>
<script src="/static/js/conditions.js?v=1784994589"></script>
<script>$(document).ready(function () {
$("#nav-link-conditions").addClass("active");
}); <!-- highlight active page in nav --></script>
+29
View File
@@ -0,0 +1,29 @@
{
"dir": "ltr",
"lang": "English",
"name": "Spothole",
"short_name": "Spothole",
"scope": "/",
"display": "standalone",
"start_url": "{{ baseurl }}",
"background_color": "white",
"theme_color": "white",
"description": "An Amateur Radio spotting tool bringing together DX clusters and outdoor programmes, providing a universal JSON API and web interface.",
"related_applications": [],
"prefer_related_applications": false,
"icons": [
{
"src": "/static/img/icon-192-pwa.png",
"type": "image/png",
"sizes": "192x192",
"purpose": "maskable"
},
{
"src": "/static/img/icon-512-pwa.png",
"type": "image/png",
"sizes": "512x512",
"purpose": "maskable"
}
],
"url": "{{ baseurl }}"
}
+14 -14
View File
@@ -92,24 +92,24 @@
<link rel="stylesheet" href="/vendor/css/leaflet-1.9.4.min.css">
<link rel="stylesheet" href="/vendor/css/leaflet-extra-markers-1.2.2.min.css">
<script src="/vendor/js/leaflet-1.9.4.min.js"></script>
<script src="/vendor/js/oms-leaflet-0.2.7.min.js"></script>
<script src="/vendor/js/leaflet-providers-2.0.0.js"></script>
<script src="/vendor/js/leaflet-extra-markers-1.2.2.min.js"></script>
<script src="/vendor/js/leaflet-geodesic-2.7.2.umd.min.js"></script>
<script src="/vendor/js/leaflet-vectorgrid-1.3.0.js"></script>
<script src="/vendor/js/text-image-0.7.0.js"></script>
<script src="/vendor/js/leaflet-terminator-1.1.0.min.js"></script>
<script src="/vendor/js/leaflet-maidenhead.js"></script>
<script src="/vendor/js/leaflet-ituzones.js"></script>
<script src="/vendor/js/leaflet-cqzones.js"></script>
<script src="/vendor/js/leaflet-workedallbritainireland.js"></script>
<script src="/static/vendor/js/leaflet-1.9.4.min.js"></script>
<script src="/static/vendor/js/oms-leaflet-0.2.7.min.js"></script>
<script src="/static/vendor/js/leaflet-providers-2.0.0.js"></script>
<script src="/static/vendor/js/leaflet-extra-markers-1.2.2.min.js"></script>
<script src="/static/vendor/js/leaflet-geodesic-2.7.2.umd.min.js"></script>
<script src="/static/vendor/js/leaflet-vectorgrid-1.3.0.js"></script>
<script src="/static/vendor/js/text-image-0.7.0.js"></script>
<script src="/static/vendor/js/leaflet-terminator-1.1.0.min.js"></script>
<script src="/static/vendor/js/leaflet-maidenhead.js"></script>
<script src="/static/vendor/js/leaflet-ituzones.js"></script>
<script src="/static/vendor/js/leaflet-cqzones.js"></script>
<script src="/static/vendor/js/leaflet-workedallbritainireland.js"></script>
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1784989633"></script>
<script src="/js/map.js?v=1784989633"></script>
<script src="/static/js/spotsbandsandmap.js?v=1784994589"></script>
<script src="/static/js/map.js?v=1784994589"></script>
<script>$(document).ready(function () {
$("#nav-link-map").addClass("active");
}); <!-- highlight active page in nav --></script>
+9 -9
View File
@@ -15,10 +15,10 @@
content="An Amateur Radio spotting tool bringing together DX clusters and outdoor programmes, providing a universal JSON API and web interface."/>
<meta property="og:description"
content="An Amateur Radio spotting tool bringing together DX clusters and outdoor programmes, providing a universal JSON API and web interface."/>
<link rel="canonical" href="https://spothole.app/"/>
<meta property="og:url" content="https://spothole.app/"/>
<meta property="og:image" content="https://spothole.app/img/banner.png"/>
<meta property="twitter:image" content="https://spothole.app/img/banner.png"/>
<link rel="canonical" href="{{ baseurl }}"/>
<meta property="og:url" content="{{ baseurl }}"/>
<meta property="og:image" content="{{ baseurl }}/static/img/banner.png"/>
<meta property="twitter:image" content="{{ baseurl }}/static/img/banner.png"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="author" content="Ian Renton"/>
<meta property="og:locale" content="en_GB"/>
@@ -26,14 +26,14 @@
<title>Spothole</title>
<link rel="icon" type="image/png" href="/img/icon-512.png">
<link rel="icon" type="image/png" href="/static/img/icon-512.png">
<link rel="apple-touch-icon" href="img/icon-512-pwa.png">
<link rel="alternate icon" type="image/png" href="/img/icon-192.png">
<link rel="alternate icon" type="image/png" href="/img/icon-32.png">
<link rel="alternate icon" type="image/png" href="/img/icon-16.png">
<link rel="alternate icon" type="image/png" href="/static/img/icon-192.png">
<link rel="alternate icon" type="image/png" href="/static/img/icon-32.png">
<link rel="alternate icon" type="image/png" href="/static/img/icon-16.png">
<link rel="alternate icon" type="image/x-icon" href="/favicon.ico">
<link rel="manifest" href="manifest.webmanifest">
<link rel="manifest" href="/manifest.webmanifest">
{% block head_extra %}{% end %}
</head>
+2 -2
View File
@@ -116,8 +116,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1784989633"></script>
<script src="/js/spots.js?v=1784989633"></script>
<script src="/static/js/spotsbandsandmap.js?v=1784994589"></script>
<script src="/static/js/spots.js?v=1784994589"></script>
<script>$(document).ready(function () {
$("#nav-link-spots").addClass("active");
}); <!-- highlight active page in nav --></script>
+1 -1
View File
@@ -59,7 +59,7 @@
</div>
</div>
<script src="/js/status.js?v=1784989634"></script>
<script src="/static/js/status.js?v=1784994589"></script>
<script>
$(document).ready(function () {
$("#nav-link-status").addClass("active");