@inner-dj/server 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # @inner-dj/server
2
2
 
3
+ <img src="https://codeberg.org/sanin/inner-dj/raw/branch/master/packages/server/assets/images/svg/logo.svg" width="128" height="128" alt="inner-dj logo"/>
4
+
3
5
  [![NPM](https://nodei.co/npm/@inner-dj/server.svg?data=n,v,u,d,s)](https://www.npmjs.com/package/@inner-dj/server)
4
6
 
5
7
  This is the web server component for [inner-dj](https://codeberg.org/sanin/inner-dj).
Binary file
@@ -0,0 +1,15 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="1000"><g clip-path="url(#SvgjsClipPath1073)"><rect width="1000" height="1000" fill="#ffffff"></rect><g transform="matrix(0.9765625953674409,0,0,0.9765625953674409,0,0)"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="1023.9999" height="1023.9999" viewBox="0 0 270.93331 270.93331" id="svg1" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs1">
2
+ <linearGradient id="linearGradient1">
3
+ <stop style="stop-color:#00d558;stop-opacity:1;" offset="0" id="stop1"></stop>
4
+ <stop style="stop-color:#008134;stop-opacity:1;" offset="1" id="stop2"></stop>
5
+ </linearGradient>
6
+ <linearGradient xlink:href="#linearGradient1" id="linearGradient2" x1="135.46666" y1="0.00010681152" x2="135.46666" y2="270.93341" gradientUnits="userSpaceOnUse"></linearGradient>
7
+ <clipPath id="SvgjsClipPath1073"><rect width="1000" height="1000" x="0" y="0" rx="300" ry="300"></rect></clipPath></defs><g id="layer1">
8
+ <rect style="fill:url(#linearGradient2);fill-opacity:1;stroke-width:10.6111;stroke-linejoin:round;paint-order:stroke markers fill" id="rect1" width="270.93332" height="270.93332" x="0" y="9.7624958e-05"></rect>
9
+ <path id="rect4" style="fill:#ffffff;fill-opacity:1;stroke-width:11.1394;stroke-linejoin:round;paint-order:stroke markers fill" d="m 268.37237,44.376205 c -3.77885,0.06574 -7.61181,0.87385 -11.29659,2.503266 L 36.964628,144.21322 C 22.225534,150.73088 15.606685,167.84391 22.124346,182.583 L 143.87998,457.92188 c 6.51768,14.73909 23.6307,21.35794 38.3698,14.84028 l 220.11115,-97.33375 c 14.7391,-6.51766 21.35794,-23.63069 14.84028,-38.36977 L 295.44557,61.719754 C 290.55732,50.665428 279.70894,44.178967 268.37237,44.376205 Z M 224.28419,75.272286 A 107.21684,107.21684 0 0 1 331.50103,182.48913 107.21684,107.21684 0 0 1 224.28419,289.70596 107.21684,107.21684 0 0 1 132.5485,237.98703 v 36.4123 a 12.015679,12.015679 0 0 1 7.93403,11.30142 12.015679,12.015679 0 0 1 -7.93403,11.30139 l -1e-5,38.55874 c 5.5e-4,2.21866 -1.84311,4.06427 -4.06178,4.0666 a 2.2185013,2.2185013 0 0 1 -0.002,1e-5 c -2.22053,5.4e-4 -4.06716,-1.84609 -4.06661,-4.06661 v -38.54729 a 12.015679,12.015679 0 0 1 -7.96652,-11.31284 12.015679,12.015679 0 0 1 7.96653,-11.31285 l -1e-5,-52.88391 A 107.21684,107.21684 0 0 1 117.06772,182.48913 107.21684,107.21684 0 0 1 224.28455,75.272286 Z"></path>
10
+ <g id="g4" transform="matrix(1.1644511,0,0,1.1644511,3.0724411,-38.722622)">
11
+ <path id="path3" style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:10.5833;stroke-linejoin:round;paint-order:stroke markers fill" d="M 189.97083,101.6 A 88.370834,88.370834 0 0 0 101.6,189.97083 a 88.370834,88.370834 0 0 0 2.81482,22.12578 c 0.58501,-3.99691 2.35844,-8.46116 4.61573,-13.34957 2.05571,-4.45187 4.58366,-9.19402 7.23057,-13.82965 l -1.08365,-0.68884 7.75559,-12.20081 -11.03033,-7.01197 1.48776,-2.3394 11.03034,7.01198 1.65468,-2.60398 -2.67374,-1.69963 11.04894,-17.38137 13.70459,8.71161 -11.04894,17.38137 -2.67426,-1.69964 -10.89804,17.14418 -1.36994,-0.87075 c -2.51976,4.42851 -4.90045,8.91044 -6.79183,13.00644 -2.6101,5.65242 -4.18166,10.86763 -4.18166,13.10773 v 15.22491 a 88.370834,88.370834 0 0 0 78.7802,48.33245 88.370834,88.370834 0 0 0 88.37084,-88.37084 A 88.370834,88.370834 0 0 0 189.97083,101.6 Z m 0,57.15 a 31.220835,31.220835 0 0 1 31.22084,31.22083 31.220835,31.220835 0 0 1 -31.22084,31.22084 A 31.220835,31.220835 0 0 1 158.75,189.97083 31.220835,31.220835 0 0 1 189.97083,158.75 Z"></path>
12
+ <path id="circle3" style="fill:#ffffff;fill-opacity:1;stroke-width:3.35877;stroke-linejoin:round;paint-order:stroke markers fill" d="m 189.97083,161.925 a 28.045835,28.045835 0 0 0 -28.04583,28.04583 28.045835,28.045835 0 0 0 28.04583,28.04584 28.045835,28.045835 0 0 0 28.04584,-28.04584 28.045835,28.045835 0 0 0 -28.04584,-28.04583 z m 0,23.8125 a 4.2333355,4.2333355 0 0 1 4.23334,4.23333 4.2333355,4.2333355 0 0 1 -4.23334,4.23334 4.2333355,4.2333355 0 0 1 -4.23333,-4.23334 4.2333355,4.2333355 0 0 1 4.23333,-4.23333 z"></path>
13
+ </g>
14
+ <path id="path11" style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke-width:1.16445;stroke-linecap:round;stroke-linejoin:round;enable-background:accumulate;stop-color:#000000;stop-opacity:1" d="m 140.32487,177.79972 c -3.04084,5.3313 -5.93549,10.76962 -8.27642,15.83918 -3.18952,6.90723 -5.41332,13.02659 -5.41332,17.7443 v 124.17768 a 1.8485662,1.8485662 0 0 0 1.84917,1.84917 1.8485662,1.8485662 0 0 0 1.84676,-1.84917 V 211.3832 c 0,-3.45258 1.97044,-9.47792 5.07152,-16.1936 2.25432,-4.88196 5.07362,-10.18291 8.04837,-15.40533 z"></path>
15
+ </g></svg></g></g></svg>
Binary file
@@ -0,0 +1,65 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="1023.9999"
6
+ height="1023.9999"
7
+ viewBox="0 0 270.93331 270.93331"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ xmlns:svg="http://www.w3.org/2000/svg">
13
+ <defs
14
+ id="defs1">
15
+ <linearGradient
16
+ id="linearGradient1">
17
+ <stop
18
+ style="stop-color:#00d558;stop-opacity:1;"
19
+ offset="0"
20
+ id="stop1" />
21
+ <stop
22
+ style="stop-color:#008134;stop-opacity:1;"
23
+ offset="1"
24
+ id="stop2" />
25
+ </linearGradient>
26
+ <linearGradient
27
+ xlink:href="#linearGradient1"
28
+ id="linearGradient2"
29
+ x1="135.46666"
30
+ y1="0.00010681152"
31
+ x2="135.46666"
32
+ y2="270.93341"
33
+ gradientUnits="userSpaceOnUse" />
34
+ </defs>
35
+ <g
36
+ id="layer1">
37
+ <rect
38
+ style="fill:url(#linearGradient2);fill-opacity:1;stroke-width:10.6111;stroke-linejoin:round;paint-order:stroke markers fill"
39
+ id="rect1"
40
+ width="270.93332"
41
+ height="270.93332"
42
+ x="0"
43
+ y="9.7624958e-05" />
44
+ <path
45
+ id="rect4"
46
+ style="fill:#ffffff;fill-opacity:1;stroke-width:11.1394;stroke-linejoin:round;paint-order:stroke markers fill"
47
+ d="m 268.37237,44.376205 c -3.77885,0.06574 -7.61181,0.87385 -11.29659,2.503266 L 36.964628,144.21322 C 22.225534,150.73088 15.606685,167.84391 22.124346,182.583 L 143.87998,457.92188 c 6.51768,14.73909 23.6307,21.35794 38.3698,14.84028 l 220.11115,-97.33375 c 14.7391,-6.51766 21.35794,-23.63069 14.84028,-38.36977 L 295.44557,61.719754 C 290.55732,50.665428 279.70894,44.178967 268.37237,44.376205 Z M 224.28419,75.272286 A 107.21684,107.21684 0 0 1 331.50103,182.48913 107.21684,107.21684 0 0 1 224.28419,289.70596 107.21684,107.21684 0 0 1 132.5485,237.98703 v 36.4123 a 12.015679,12.015679 0 0 1 7.93403,11.30142 12.015679,12.015679 0 0 1 -7.93403,11.30139 l -1e-5,38.55874 c 5.5e-4,2.21866 -1.84311,4.06427 -4.06178,4.0666 a 2.2185013,2.2185013 0 0 1 -0.002,1e-5 c -2.22053,5.4e-4 -4.06716,-1.84609 -4.06661,-4.06661 v -38.54729 a 12.015679,12.015679 0 0 1 -7.96652,-11.31284 12.015679,12.015679 0 0 1 7.96653,-11.31285 l -1e-5,-52.88391 A 107.21684,107.21684 0 0 1 117.06772,182.48913 107.21684,107.21684 0 0 1 224.28455,75.272286 Z" />
48
+ <g
49
+ id="g4"
50
+ transform="matrix(1.1644511,0,0,1.1644511,3.0724411,-38.722622)">
51
+ <path
52
+ id="path3"
53
+ style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:10.5833;stroke-linejoin:round;paint-order:stroke markers fill"
54
+ d="M 189.97083,101.6 A 88.370834,88.370834 0 0 0 101.6,189.97083 a 88.370834,88.370834 0 0 0 2.81482,22.12578 c 0.58501,-3.99691 2.35844,-8.46116 4.61573,-13.34957 2.05571,-4.45187 4.58366,-9.19402 7.23057,-13.82965 l -1.08365,-0.68884 7.75559,-12.20081 -11.03033,-7.01197 1.48776,-2.3394 11.03034,7.01198 1.65468,-2.60398 -2.67374,-1.69963 11.04894,-17.38137 13.70459,8.71161 -11.04894,17.38137 -2.67426,-1.69964 -10.89804,17.14418 -1.36994,-0.87075 c -2.51976,4.42851 -4.90045,8.91044 -6.79183,13.00644 -2.6101,5.65242 -4.18166,10.86763 -4.18166,13.10773 v 15.22491 a 88.370834,88.370834 0 0 0 78.7802,48.33245 88.370834,88.370834 0 0 0 88.37084,-88.37084 A 88.370834,88.370834 0 0 0 189.97083,101.6 Z m 0,57.15 a 31.220835,31.220835 0 0 1 31.22084,31.22083 31.220835,31.220835 0 0 1 -31.22084,31.22084 A 31.220835,31.220835 0 0 1 158.75,189.97083 31.220835,31.220835 0 0 1 189.97083,158.75 Z" />
55
+ <path
56
+ id="circle3"
57
+ style="fill:#ffffff;fill-opacity:1;stroke-width:3.35877;stroke-linejoin:round;paint-order:stroke markers fill"
58
+ d="m 189.97083,161.925 a 28.045835,28.045835 0 0 0 -28.04583,28.04583 28.045835,28.045835 0 0 0 28.04583,28.04584 28.045835,28.045835 0 0 0 28.04584,-28.04584 28.045835,28.045835 0 0 0 -28.04584,-28.04583 z m 0,23.8125 a 4.2333355,4.2333355 0 0 1 4.23334,4.23333 4.2333355,4.2333355 0 0 1 -4.23334,4.23334 4.2333355,4.2333355 0 0 1 -4.23333,-4.23334 4.2333355,4.2333355 0 0 1 4.23333,-4.23333 z" />
59
+ </g>
60
+ <path
61
+ id="path11"
62
+ style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke-width:1.16445;stroke-linecap:round;stroke-linejoin:round;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
63
+ d="m 140.32487,177.79972 c -3.04084,5.3313 -5.93549,10.76962 -8.27642,15.83918 -3.18952,6.90723 -5.41332,13.02659 -5.41332,17.7443 v 124.17768 a 1.8485662,1.8485662 0 0 0 1.84917,1.84917 1.8485662,1.8485662 0 0 0 1.84676,-1.84917 V 211.3832 c 0,-3.45258 1.97044,-9.47792 5.07152,-16.1936 2.25432,-4.88196 5.07362,-10.18291 8.04837,-15.40533 z" />
64
+ </g>
65
+ </svg>
@@ -0,0 +1,101 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="1024"
6
+ height="1024"
7
+ viewBox="0 0 270.93333 270.93333"
8
+ version="1.1"
9
+ id="svg1"
10
+ inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
11
+ sodipodi:docname="logo_source.svg"
12
+ inkscape:export-filename="logo.png"
13
+ inkscape:export-xdpi="24"
14
+ inkscape:export-ydpi="24"
15
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
16
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
17
+ xmlns:xlink="http://www.w3.org/1999/xlink"
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ xmlns:svg="http://www.w3.org/2000/svg">
20
+ <sodipodi:namedview
21
+ id="namedview1"
22
+ pagecolor="#505050"
23
+ bordercolor="#eeeeee"
24
+ borderopacity="1"
25
+ inkscape:showpageshadow="0"
26
+ inkscape:pageopacity="0"
27
+ inkscape:pagecheckerboard="0"
28
+ inkscape:deskcolor="#d1d1d1"
29
+ inkscape:document-units="mm"
30
+ inkscape:zoom="0.5"
31
+ inkscape:cx="623"
32
+ inkscape:cy="704"
33
+ inkscape:window-width="1883"
34
+ inkscape:window-height="1052"
35
+ inkscape:window-x="1117"
36
+ inkscape:window-y="398"
37
+ inkscape:window-maximized="1"
38
+ inkscape:current-layer="layer1" />
39
+ <defs
40
+ id="defs1">
41
+ <linearGradient
42
+ id="linearGradient1"
43
+ inkscape:collect="always">
44
+ <stop
45
+ style="stop-color:#00d558;stop-opacity:1;"
46
+ offset="0"
47
+ id="stop1" />
48
+ <stop
49
+ style="stop-color:#008134;stop-opacity:1;"
50
+ offset="1"
51
+ id="stop2" />
52
+ </linearGradient>
53
+ <linearGradient
54
+ inkscape:collect="always"
55
+ xlink:href="#linearGradient1"
56
+ id="linearGradient2"
57
+ x1="135.46666"
58
+ y1="0.00010681152"
59
+ x2="135.46666"
60
+ y2="270.93341"
61
+ gradientUnits="userSpaceOnUse" />
62
+ </defs>
63
+ <g
64
+ inkscape:label="Layer 1"
65
+ inkscape:groupmode="layer"
66
+ id="layer1">
67
+ <rect
68
+ style="fill:url(#linearGradient2);stroke-width:10.6111;stroke-linejoin:round;paint-order:stroke markers fill;fill-opacity:1"
69
+ id="rect1"
70
+ width="270.93332"
71
+ height="270.93332"
72
+ x="0"
73
+ y="9.7624958e-05"
74
+ inkscape:label="bg" />
75
+ <path
76
+ id="rect4"
77
+ style="fill:#ffffff;fill-opacity:1;stroke-width:11.1394;stroke-linejoin:round;paint-order:stroke markers fill"
78
+ inkscape:label="turntable_base"
79
+ d="m 268.37237,44.376205 c -3.77885,0.06574 -7.61181,0.87385 -11.29659,2.503266 L 36.964628,144.21322 C 22.225534,150.73088 15.606685,167.84391 22.124346,182.583 L 143.87998,457.92188 c 6.51768,14.73909 23.6307,21.35794 38.3698,14.84028 l 220.11115,-97.33375 c 14.7391,-6.51766 21.35794,-23.63069 14.84028,-38.36977 L 295.44557,61.719754 C 290.55732,50.665428 279.70894,44.178967 268.37237,44.376205 Z M 224.28419,75.272286 A 107.21684,107.21684 0 0 1 331.50103,182.48913 107.21684,107.21684 0 0 1 224.28419,289.70596 107.21684,107.21684 0 0 1 132.5485,237.98703 v 36.4123 a 12.015679,12.015679 0 0 1 7.93403,11.30142 12.015679,12.015679 0 0 1 -7.93403,11.30139 l -1e-5,38.55874 c 5.5e-4,2.21866 -1.84311,4.06427 -4.06178,4.0666 a 2.2185013,2.2185013 0 0 1 -0.002,1e-5 c -2.22053,5.4e-4 -4.06716,-1.84609 -4.06661,-4.06661 v -38.54729 a 12.015679,12.015679 0 0 1 -7.96652,-11.31284 12.015679,12.015679 0 0 1 7.96653,-11.31285 l -1e-5,-52.88391 A 107.21684,107.21684 0 0 1 117.06772,182.48913 107.21684,107.21684 0 0 1 224.28455,75.272286 Z" />
80
+ <g
81
+ id="g4"
82
+ inkscape:label="record"
83
+ transform="matrix(1.1644511,0,0,1.1644511,3.0724411,-38.722622)">
84
+ <path
85
+ id="path3"
86
+ style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:10.5833;stroke-linejoin:round;paint-order:stroke markers fill"
87
+ inkscape:label="vinyl"
88
+ d="M 189.97083,101.6 A 88.370834,88.370834 0 0 0 101.6,189.97083 a 88.370834,88.370834 0 0 0 2.81482,22.12578 c 0.58501,-3.99691 2.35844,-8.46116 4.61573,-13.34957 2.05571,-4.45187 4.58366,-9.19402 7.23057,-13.82965 l -1.08365,-0.68884 7.75559,-12.20081 -11.03033,-7.01197 1.48776,-2.3394 11.03034,7.01198 1.65468,-2.60398 -2.67374,-1.69963 11.04894,-17.38137 13.70459,8.71161 -11.04894,17.38137 -2.67426,-1.69964 -10.89804,17.14418 -1.36994,-0.87075 c -2.51976,4.42851 -4.90045,8.91044 -6.79183,13.00644 -2.6101,5.65242 -4.18166,10.86763 -4.18166,13.10773 v 15.22491 a 88.370834,88.370834 0 0 0 78.7802,48.33245 88.370834,88.370834 0 0 0 88.37084,-88.37084 A 88.370834,88.370834 0 0 0 189.97083,101.6 Z m 0,57.15 a 31.220835,31.220835 0 0 1 31.22084,31.22083 31.220835,31.220835 0 0 1 -31.22084,31.22084 A 31.220835,31.220835 0 0 1 158.75,189.97083 31.220835,31.220835 0 0 1 189.97083,158.75 Z" />
89
+ <path
90
+ id="circle3"
91
+ style="fill:#ffffff;fill-opacity:1;stroke-width:3.35877;stroke-linejoin:round;paint-order:stroke markers fill"
92
+ inkscape:label="label"
93
+ d="m 189.97083,161.925 a 28.045835,28.045835 0 0 0 -28.04583,28.04583 28.045835,28.045835 0 0 0 28.04583,28.04584 28.045835,28.045835 0 0 0 28.04584,-28.04584 28.045835,28.045835 0 0 0 -28.04584,-28.04583 z m 0,23.8125 a 4.2333355,4.2333355 0 0 1 4.23334,4.23333 4.2333355,4.2333355 0 0 1 -4.23334,4.23334 4.2333355,4.2333355 0 0 1 -4.23333,-4.23334 4.2333355,4.2333355 0 0 1 4.23333,-4.23333 z" />
94
+ </g>
95
+ <path
96
+ id="path11"
97
+ style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke-width:1.16445;stroke-linecap:round;stroke-linejoin:round;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
98
+ inkscape:label="tonearm"
99
+ d="m 140.32487,177.79972 c -3.04084,5.3313 -5.93549,10.76962 -8.27642,15.83918 -3.18952,6.90723 -5.41332,13.02659 -5.41332,17.7443 v 124.17768 a 1.8485662,1.8485662 0 0 0 1.84917,1.84917 1.8485662,1.8485662 0 0 0 1.84676,-1.84917 V 211.3832 c 0,-3.45258 1.97044,-9.47792 5.07152,-16.1936 2.25432,-4.88196 5.07362,-10.18291 8.04837,-15.40533 z" />
100
+ </g>
101
+ </svg>
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "Inner DJ",
3
+ "short_name": "Inner DJ",
4
+ "icons": [
5
+ {
6
+ "src": "/assets/favicon/web-app-manifest-192x192.png",
7
+ "sizes": "192x192",
8
+ "type": "image/png",
9
+ "purpose": "maskable"
10
+ },
11
+ {
12
+ "src": "/assets/favicon/web-app-manifest-512x512.png",
13
+ "sizes": "512x512",
14
+ "type": "image/png",
15
+ "purpose": "maskable"
16
+ }
17
+ ],
18
+ "theme_color": "#00ad47",
19
+ "background_color": "#ffffff",
20
+ "display": "standalone"
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inner-dj/server",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "server component of inner-dj",
5
5
  "repository": {
6
6
  "type": "git",
package/views/head.ejs CHANGED
@@ -15,7 +15,11 @@
15
15
  <% } %><% if (page.imgSrc?.height) { %>
16
16
  <meta property="og:image:height" content="<%= page.imgSrc.height%>" />
17
17
  <% } %>
18
- <link rel="shortcut icon" href="/assets/images/svg/innerdj.svg">
18
+ <link rel="icon" type="image/png" href="/assets/images/webp/favicon/favicon-96x96.webp" sizes="96x96" />
19
+ <link rel="icon" type="image/svg+xml" href="/assets/images/svg/favicon.svg" />
20
+ <link rel="shortcut icon" href="/assets/images/ico/favicon.ico" />
21
+ <link rel="apple-touch-icon" sizes="180x180" href="/assets/images/original/favicon/apple-touch-icon.png" />
22
+ <link rel="manifest" href="/assets/site.webmanifest" />
19
23
  <link rel="stylesheet" href="/assets/css/styles.css?v2.1">
20
24
  <script nonce="<%= cspNonce %>">
21
25
  document.addEventListener("DOMContentLoaded", function() {