commit
message
Using rsms.me/grid because it's easier than tables
author
Ben Vogt <[email protected]>
date
2023-04-06 17:23:03
stats
2 file(s) changed,
1381 insertions(+),
34 deletions(-)
files
gshr.css
template.index.html
1diff --git a/gshr.css b/gshr.css
2index db8595a..7e1c850 100644
3--- a/gshr.css
4+++ b/gshr.css
5@@ -567,4 +567,1349 @@ div.content * td>* {
6
7 .chroma .w {
8 color: #bbbbbb
9+}
10+
11+r-grid {
12+ display: grid;
13+ --grid-tc: repeat(4, 1fr);
14+ grid-template-columns: var(--grid-tc);
15+ --grid-cs: 1;
16+ --grid-ce: -1
17+}
18+
19+r-grid>r-cell {
20+ display: block;
21+ -moz-appearance: none;
22+ appearance: none;
23+ -webkit-appearance: none
24+}
25+
26+r-grid[columns="1"] {
27+ --grid-tc: repeat(1, 1fr)
28+}
29+
30+r-grid[columns="2"] {
31+ --grid-tc: repeat(2, 1fr)
32+}
33+
34+r-grid[columns="3"] {
35+ --grid-tc: repeat(3, 1fr)
36+}
37+
38+r-grid[columns="4"] {
39+ --grid-tc: repeat(4, 1fr)
40+}
41+
42+r-grid[columns="5"] {
43+ --grid-tc: repeat(5, 1fr)
44+}
45+
46+r-grid[columns="6"] {
47+ --grid-tc: repeat(6, 1fr)
48+}
49+
50+r-grid[columns="7"] {
51+ --grid-tc: repeat(7, 1fr)
52+}
53+
54+r-grid[columns="8"] {
55+ --grid-tc: repeat(8, 1fr)
56+}
57+
58+r-grid[columns="9"] {
59+ --grid-tc: repeat(9, 1fr)
60+}
61+
62+r-grid[columns="10"] {
63+ --grid-tc: repeat(10, 1fr)
64+}
65+
66+r-grid[columns="11"] {
67+ --grid-tc: repeat(11, 1fr)
68+}
69+
70+r-grid[columns="12"] {
71+ --grid-tc: repeat(12, 1fr)
72+}
73+
74+r-grid[columns="13"] {
75+ --grid-tc: repeat(13, 1fr)
76+}
77+
78+r-grid[columns="14"] {
79+ --grid-tc: repeat(14, 1fr)
80+}
81+
82+r-grid[columns="15"] {
83+ --grid-tc: repeat(15, 1fr)
84+}
85+
86+r-grid[columns="16"] {
87+ --grid-tc: repeat(16, 1fr)
88+}
89+
90+r-grid[columns="17"] {
91+ --grid-tc: repeat(17, 1fr)
92+}
93+
94+r-grid[columns="18"] {
95+ --grid-tc: repeat(18, 1fr)
96+}
97+
98+r-grid[columns="19"] {
99+ --grid-tc: repeat(19, 1fr)
100+}
101+
102+r-grid[columns="20"] {
103+ --grid-tc: repeat(20, 1fr)
104+}
105+
106+r-grid[columns="21"] {
107+ --grid-tc: repeat(21, 1fr)
108+}
109+
110+r-grid[columns="22"] {
111+ --grid-tc: repeat(22, 1fr)
112+}
113+
114+r-grid[columns="23"] {
115+ --grid-tc: repeat(23, 1fr)
116+}
117+
118+r-grid[columns="24"] {
119+ --grid-tc: repeat(24, 1fr)
120+}
121+
122+r-grid[columns="25"] {
123+ --grid-tc: repeat(25, 1fr)
124+}
125+
126+r-grid[columns="26"] {
127+ --grid-tc: repeat(26, 1fr)
128+}
129+
130+r-grid[columns="27"] {
131+ --grid-tc: repeat(27, 1fr)
132+}
133+
134+r-grid[columns="28"] {
135+ --grid-tc: repeat(28, 1fr)
136+}
137+
138+r-grid[columns="29"] {
139+ --grid-tc: repeat(29, 1fr)
140+}
141+
142+r-grid[columns="30"] {
143+ --grid-tc: repeat(30, 1fr)
144+}
145+
146+r-grid>r-cell[span^="1"] {
147+ --grid-cs: 1
148+}
149+
150+r-grid>r-cell[span^="2"] {
151+ --grid-cs: 2
152+}
153+
154+r-grid>r-cell[span^="3"] {
155+ --grid-cs: 3
156+}
157+
158+r-grid>r-cell[span^="4"] {
159+ --grid-cs: 4
160+}
161+
162+r-grid>r-cell[span^="5"] {
163+ --grid-cs: 5
164+}
165+
166+r-grid>r-cell[span^="6"] {
167+ --grid-cs: 6
168+}
169+
170+r-grid>r-cell[span^="7"] {
171+ --grid-cs: 7
172+}
173+
174+r-grid>r-cell[span^="8"] {
175+ --grid-cs: 8
176+}
177+
178+r-grid>r-cell[span^="9"] {
179+ --grid-cs: 9
180+}
181+
182+r-grid>r-cell[span^="10"] {
183+ --grid-cs: 10
184+}
185+
186+r-grid>r-cell[span^="11"] {
187+ --grid-cs: 11
188+}
189+
190+r-grid>r-cell[span^="12"] {
191+ --grid-cs: 12
192+}
193+
194+r-grid>r-cell[span^="13"] {
195+ --grid-cs: 13
196+}
197+
198+r-grid>r-cell[span^="14"] {
199+ --grid-cs: 14
200+}
201+
202+r-grid>r-cell[span^="15"] {
203+ --grid-cs: 15
204+}
205+
206+r-grid>r-cell[span^="16"] {
207+ --grid-cs: 16
208+}
209+
210+r-grid>r-cell[span^="17"] {
211+ --grid-cs: 17
212+}
213+
214+r-grid>r-cell[span^="18"] {
215+ --grid-cs: 18
216+}
217+
218+r-grid>r-cell[span^="19"] {
219+ --grid-cs: 19
220+}
221+
222+r-grid>r-cell[span^="20"] {
223+ --grid-cs: 20
224+}
225+
226+r-grid>r-cell[span^="21"] {
227+ --grid-cs: 21
228+}
229+
230+r-grid>r-cell[span^="22"] {
231+ --grid-cs: 22
232+}
233+
234+r-grid>r-cell[span^="23"] {
235+ --grid-cs: 23
236+}
237+
238+r-grid>r-cell[span^="24"] {
239+ --grid-cs: 24
240+}
241+
242+r-grid>r-cell[span^="25"] {
243+ --grid-cs: 25
244+}
245+
246+r-grid>r-cell[span^="26"] {
247+ --grid-cs: 26
248+}
249+
250+r-grid>r-cell[span^="27"] {
251+ --grid-cs: 27
252+}
253+
254+r-grid>r-cell[span^="28"] {
255+ --grid-cs: 28
256+}
257+
258+r-grid>r-cell[span^="29"] {
259+ --grid-cs: 29
260+}
261+
262+r-grid>r-cell[span^="30"] {
263+ --grid-cs: 30
264+}
265+
266+r-grid>r-cell[span$="+1"],
267+r-grid>r-cell[span="1"] {
268+ --grid-ce: 1
269+}
270+
271+r-grid>r-cell[span$="+2"],
272+r-grid>r-cell[span$="-1"],
273+r-grid>r-cell[span="2"] {
274+ --grid-ce: 2
275+}
276+
277+r-grid>r-cell[span$="+3"],
278+r-grid>r-cell[span$="-2"],
279+r-grid>r-cell[span="3"] {
280+ --grid-ce: 3
281+}
282+
283+r-grid>r-cell[span$="+4"],
284+r-grid>r-cell[span$="-3"],
285+r-grid>r-cell[span="4"] {
286+ --grid-ce: 4
287+}
288+
289+r-grid>r-cell[span$="+5"],
290+r-grid>r-cell[span$="-4"],
291+r-grid>r-cell[span="5"] {
292+ --grid-ce: 5
293+}
294+
295+r-grid>r-cell[span$="+6"],
296+r-grid>r-cell[span$="-5"],
297+r-grid>r-cell[span="6"] {
298+ --grid-ce: 6
299+}
300+
301+r-grid>r-cell[span$="+7"],
302+r-grid>r-cell[span$="-6"],
303+r-grid>r-cell[span="7"] {
304+ --grid-ce: 7
305+}
306+
307+r-grid>r-cell[span$="+8"],
308+r-grid>r-cell[span$="-7"],
309+r-grid>r-cell[span="8"] {
310+ --grid-ce: 8
311+}
312+
313+r-grid>r-cell[span$="+9"],
314+r-grid>r-cell[span$="-8"],
315+r-grid>r-cell[span="9"] {
316+ --grid-ce: 9
317+}
318+
319+r-grid>r-cell[span$="+10"],
320+r-grid>r-cell[span$="-9"],
321+r-grid>r-cell[span="10"] {
322+ --grid-ce: 10
323+}
324+
325+r-grid>r-cell[span$="+11"],
326+r-grid>r-cell[span$="-10"],
327+r-grid>r-cell[span="11"] {
328+ --grid-ce: 11
329+}
330+
331+r-grid>r-cell[span$="+12"],
332+r-grid>r-cell[span$="-11"],
333+r-grid>r-cell[span="12"] {
334+ --grid-ce: 12
335+}
336+
337+r-grid>r-cell[span$="+13"],
338+r-grid>r-cell[span$="-12"],
339+r-grid>r-cell[span="13"] {
340+ --grid-ce: 13
341+}
342+
343+r-grid>r-cell[span$="+14"],
344+r-grid>r-cell[span$="-13"],
345+r-grid>r-cell[span="14"] {
346+ --grid-ce: 14
347+}
348+
349+r-grid>r-cell[span$="+15"],
350+r-grid>r-cell[span$="-14"],
351+r-grid>r-cell[span="15"] {
352+ --grid-ce: 15
353+}
354+
355+r-grid>r-cell[span$="+16"],
356+r-grid>r-cell[span$="-15"],
357+r-grid>r-cell[span="16"] {
358+ --grid-ce: 16
359+}
360+
361+r-grid>r-cell[span$="+17"],
362+r-grid>r-cell[span$="-16"],
363+r-grid>r-cell[span="17"] {
364+ --grid-ce: 17
365+}
366+
367+r-grid>r-cell[span$="+18"],
368+r-grid>r-cell[span$="-17"],
369+r-grid>r-cell[span="18"] {
370+ --grid-ce: 18
371+}
372+
373+r-grid>r-cell[span$="+19"],
374+r-grid>r-cell[span$="-18"],
375+r-grid>r-cell[span="19"] {
376+ --grid-ce: 19
377+}
378+
379+r-grid>r-cell[span$="+20"],
380+r-grid>r-cell[span$="-19"],
381+r-grid>r-cell[span="20"] {
382+ --grid-ce: 20
383+}
384+
385+r-grid>r-cell[span$="+21"],
386+r-grid>r-cell[span$="-20"],
387+r-grid>r-cell[span="21"] {
388+ --grid-ce: 21
389+}
390+
391+r-grid>r-cell[span$="+22"],
392+r-grid>r-cell[span$="-21"],
393+r-grid>r-cell[span="22"] {
394+ --grid-ce: 22
395+}
396+
397+r-grid>r-cell[span$="+23"],
398+r-grid>r-cell[span$="-22"],
399+r-grid>r-cell[span="23"] {
400+ --grid-ce: 23
401+}
402+
403+r-grid>r-cell[span$="+24"],
404+r-grid>r-cell[span$="-23"],
405+r-grid>r-cell[span="24"] {
406+ --grid-ce: 24
407+}
408+
409+r-grid>r-cell[span$="+25"],
410+r-grid>r-cell[span$="-24"],
411+r-grid>r-cell[span="25"] {
412+ --grid-ce: 25
413+}
414+
415+r-grid>r-cell[span$="+26"],
416+r-grid>r-cell[span$="-25"],
417+r-grid>r-cell[span="26"] {
418+ --grid-ce: 26
419+}
420+
421+r-grid>r-cell[span$="+27"],
422+r-grid>r-cell[span$="-26"],
423+r-grid>r-cell[span="27"] {
424+ --grid-ce: 27
425+}
426+
427+r-grid>r-cell[span$="+28"],
428+r-grid>r-cell[span$="-27"],
429+r-grid>r-cell[span="28"] {
430+ --grid-ce: 28
431+}
432+
433+r-grid>r-cell[span$="+29"],
434+r-grid>r-cell[span$="-28"],
435+r-grid>r-cell[span="29"] {
436+ --grid-ce: 29
437+}
438+
439+r-grid>r-cell[span$="+30"],
440+r-grid>r-cell[span$="-29"],
441+r-grid>r-cell[span="30"] {
442+ --grid-ce: 30
443+}
444+
445+r-grid>r-cell[span$="-30"] {
446+ --grid-ce: 31
447+}
448+
449+r-grid>r-cell[span] {
450+ grid-column-end: span var(--grid-ce)
451+}
452+
453+r-grid>r-cell[span*="+"],
454+r-grid>r-cell[span*="-"],
455+r-grid>r-cell[span*=".."] {
456+ grid-column-start: var(--grid-cs)
457+}
458+
459+r-grid>r-cell[span*="-"],
460+r-grid>r-cell[span*=".."] {
461+ grid-column-end: var(--grid-ce)
462+}
463+
464+r-grid>r-cell[span=row] {
465+ grid-column: 1/-1
466+}
467+
468+@media only screen and (max-width:600px) {
469+ r-grid[columns-s="1"] {
470+ --grid-tc: repeat(1, 1fr)
471+ }
472+
473+ r-grid[columns-s="2"] {
474+ --grid-tc: repeat(2, 1fr)
475+ }
476+
477+ r-grid[columns-s="3"] {
478+ --grid-tc: repeat(3, 1fr)
479+ }
480+
481+ r-grid[columns-s="4"] {
482+ --grid-tc: repeat(4, 1fr)
483+ }
484+
485+ r-grid[columns-s="5"] {
486+ --grid-tc: repeat(5, 1fr)
487+ }
488+
489+ r-grid[columns-s="6"] {
490+ --grid-tc: repeat(6, 1fr)
491+ }
492+
493+ r-grid[columns-s="7"] {
494+ --grid-tc: repeat(7, 1fr)
495+ }
496+
497+ r-grid[columns-s="8"] {
498+ --grid-tc: repeat(8, 1fr)
499+ }
500+
501+ r-grid[columns-s="9"] {
502+ --grid-tc: repeat(9, 1fr)
503+ }
504+
505+ r-grid[columns-s="10"] {
506+ --grid-tc: repeat(10, 1fr)
507+ }
508+
509+ r-grid[columns-s="11"] {
510+ --grid-tc: repeat(11, 1fr)
511+ }
512+
513+ r-grid[columns-s="12"] {
514+ --grid-tc: repeat(12, 1fr)
515+ }
516+
517+ r-grid[columns-s="13"] {
518+ --grid-tc: repeat(13, 1fr)
519+ }
520+
521+ r-grid[columns-s="14"] {
522+ --grid-tc: repeat(14, 1fr)
523+ }
524+
525+ r-grid[columns-s="15"] {
526+ --grid-tc: repeat(15, 1fr)
527+ }
528+
529+ r-grid[columns-s="16"] {
530+ --grid-tc: repeat(16, 1fr)
531+ }
532+
533+ r-grid[columns-s="17"] {
534+ --grid-tc: repeat(17, 1fr)
535+ }
536+
537+ r-grid[columns-s="18"] {
538+ --grid-tc: repeat(18, 1fr)
539+ }
540+
541+ r-grid[columns-s="19"] {
542+ --grid-tc: repeat(19, 1fr)
543+ }
544+
545+ r-grid[columns-s="20"] {
546+ --grid-tc: repeat(20, 1fr)
547+ }
548+
549+ r-grid[columns-s="21"] {
550+ --grid-tc: repeat(21, 1fr)
551+ }
552+
553+ r-grid[columns-s="22"] {
554+ --grid-tc: repeat(22, 1fr)
555+ }
556+
557+ r-grid[columns-s="23"] {
558+ --grid-tc: repeat(23, 1fr)
559+ }
560+
561+ r-grid[columns-s="24"] {
562+ --grid-tc: repeat(24, 1fr)
563+ }
564+
565+ r-grid[columns-s="25"] {
566+ --grid-tc: repeat(25, 1fr)
567+ }
568+
569+ r-grid[columns-s="26"] {
570+ --grid-tc: repeat(26, 1fr)
571+ }
572+
573+ r-grid[columns-s="27"] {
574+ --grid-tc: repeat(27, 1fr)
575+ }
576+
577+ r-grid[columns-s="28"] {
578+ --grid-tc: repeat(28, 1fr)
579+ }
580+
581+ r-grid[columns-s="29"] {
582+ --grid-tc: repeat(29, 1fr)
583+ }
584+
585+ r-grid[columns-s="30"] {
586+ --grid-tc: repeat(30, 1fr)
587+ }
588+
589+ r-grid>r-cell[span-s^="1"] {
590+ --grid-cs: 1
591+ }
592+
593+ r-grid>r-cell[span-s^="2"] {
594+ --grid-cs: 2
595+ }
596+
597+ r-grid>r-cell[span-s^="3"] {
598+ --grid-cs: 3
599+ }
600+
601+ r-grid>r-cell[span-s^="4"] {
602+ --grid-cs: 4
603+ }
604+
605+ r-grid>r-cell[span-s^="5"] {
606+ --grid-cs: 5
607+ }
608+
609+ r-grid>r-cell[span-s^="6"] {
610+ --grid-cs: 6
611+ }
612+
613+ r-grid>r-cell[span-s^="7"] {
614+ --grid-cs: 7
615+ }
616+
617+ r-grid>r-cell[span-s^="8"] {
618+ --grid-cs: 8
619+ }
620+
621+ r-grid>r-cell[span-s^="9"] {
622+ --grid-cs: 9
623+ }
624+
625+ r-grid>r-cell[span-s^="10"] {
626+ --grid-cs: 10
627+ }
628+
629+ r-grid>r-cell[span-s^="11"] {
630+ --grid-cs: 11
631+ }
632+
633+ r-grid>r-cell[span-s^="12"] {
634+ --grid-cs: 12
635+ }
636+
637+ r-grid>r-cell[span-s^="13"] {
638+ --grid-cs: 13
639+ }
640+
641+ r-grid>r-cell[span-s^="14"] {
642+ --grid-cs: 14
643+ }
644+
645+ r-grid>r-cell[span-s^="15"] {
646+ --grid-cs: 15
647+ }
648+
649+ r-grid>r-cell[span-s^="16"] {
650+ --grid-cs: 16
651+ }
652+
653+ r-grid>r-cell[span-s^="17"] {
654+ --grid-cs: 17
655+ }
656+
657+ r-grid>r-cell[span-s^="18"] {
658+ --grid-cs: 18
659+ }
660+
661+ r-grid>r-cell[span-s^="19"] {
662+ --grid-cs: 19
663+ }
664+
665+ r-grid>r-cell[span-s^="20"] {
666+ --grid-cs: 20
667+ }
668+
669+ r-grid>r-cell[span-s^="21"] {
670+ --grid-cs: 21
671+ }
672+
673+ r-grid>r-cell[span-s^="22"] {
674+ --grid-cs: 22
675+ }
676+
677+ r-grid>r-cell[span-s^="23"] {
678+ --grid-cs: 23
679+ }
680+
681+ r-grid>r-cell[span-s^="24"] {
682+ --grid-cs: 24
683+ }
684+
685+ r-grid>r-cell[span-s^="25"] {
686+ --grid-cs: 25
687+ }
688+
689+ r-grid>r-cell[span-s^="26"] {
690+ --grid-cs: 26
691+ }
692+
693+ r-grid>r-cell[span-s^="27"] {
694+ --grid-cs: 27
695+ }
696+
697+ r-grid>r-cell[span-s^="28"] {
698+ --grid-cs: 28
699+ }
700+
701+ r-grid>r-cell[span-s^="29"] {
702+ --grid-cs: 29
703+ }
704+
705+ r-grid>r-cell[span-s^="30"] {
706+ --grid-cs: 30
707+ }
708+
709+ r-grid>r-cell[span-s$="+1"],
710+ r-grid>r-cell[span-s="1"] {
711+ --grid-ce: 1
712+ }
713+
714+ r-grid>r-cell[span-s$="+2"],
715+ r-grid>r-cell[span-s$="-1"],
716+ r-grid>r-cell[span-s="2"] {
717+ --grid-ce: 2
718+ }
719+
720+ r-grid>r-cell[span-s$="+3"],
721+ r-grid>r-cell[span-s$="-2"],
722+ r-grid>r-cell[span-s="3"] {
723+ --grid-ce: 3
724+ }
725+
726+ r-grid>r-cell[span-s$="+4"],
727+ r-grid>r-cell[span-s$="-3"],
728+ r-grid>r-cell[span-s="4"] {
729+ --grid-ce: 4
730+ }
731+
732+ r-grid>r-cell[span-s$="+5"],
733+ r-grid>r-cell[span-s$="-4"],
734+ r-grid>r-cell[span-s="5"] {
735+ --grid-ce: 5
736+ }
737+
738+ r-grid>r-cell[span-s$="+6"],
739+ r-grid>r-cell[span-s$="-5"],
740+ r-grid>r-cell[span-s="6"] {
741+ --grid-ce: 6
742+ }
743+
744+ r-grid>r-cell[span-s$="+7"],
745+ r-grid>r-cell[span-s$="-6"],
746+ r-grid>r-cell[span-s="7"] {
747+ --grid-ce: 7
748+ }
749+
750+ r-grid>r-cell[span-s$="+8"],
751+ r-grid>r-cell[span-s$="-7"],
752+ r-grid>r-cell[span-s="8"] {
753+ --grid-ce: 8
754+ }
755+
756+ r-grid>r-cell[span-s$="+9"],
757+ r-grid>r-cell[span-s$="-8"],
758+ r-grid>r-cell[span-s="9"] {
759+ --grid-ce: 9
760+ }
761+
762+ r-grid>r-cell[span-s$="+10"],
763+ r-grid>r-cell[span-s$="-9"],
764+ r-grid>r-cell[span-s="10"] {
765+ --grid-ce: 10
766+ }
767+
768+ r-grid>r-cell[span-s$="+11"],
769+ r-grid>r-cell[span-s$="-10"],
770+ r-grid>r-cell[span-s="11"] {
771+ --grid-ce: 11
772+ }
773+
774+ r-grid>r-cell[span-s$="+12"],
775+ r-grid>r-cell[span-s$="-11"],
776+ r-grid>r-cell[span-s="12"] {
777+ --grid-ce: 12
778+ }
779+
780+ r-grid>r-cell[span-s$="+13"],
781+ r-grid>r-cell[span-s$="-12"],
782+ r-grid>r-cell[span-s="13"] {
783+ --grid-ce: 13
784+ }
785+
786+ r-grid>r-cell[span-s$="+14"],
787+ r-grid>r-cell[span-s$="-13"],
788+ r-grid>r-cell[span-s="14"] {
789+ --grid-ce: 14
790+ }
791+
792+ r-grid>r-cell[span-s$="+15"],
793+ r-grid>r-cell[span-s$="-14"],
794+ r-grid>r-cell[span-s="15"] {
795+ --grid-ce: 15
796+ }
797+
798+ r-grid>r-cell[span-s$="+16"],
799+ r-grid>r-cell[span-s$="-15"],
800+ r-grid>r-cell[span-s="16"] {
801+ --grid-ce: 16
802+ }
803+
804+ r-grid>r-cell[span-s$="+17"],
805+ r-grid>r-cell[span-s$="-16"],
806+ r-grid>r-cell[span-s="17"] {
807+ --grid-ce: 17
808+ }
809+
810+ r-grid>r-cell[span-s$="+18"],
811+ r-grid>r-cell[span-s$="-17"],
812+ r-grid>r-cell[span-s="18"] {
813+ --grid-ce: 18
814+ }
815+
816+ r-grid>r-cell[span-s$="+19"],
817+ r-grid>r-cell[span-s$="-18"],
818+ r-grid>r-cell[span-s="19"] {
819+ --grid-ce: 19
820+ }
821+
822+ r-grid>r-cell[span-s$="+20"],
823+ r-grid>r-cell[span-s$="-19"],
824+ r-grid>r-cell[span-s="20"] {
825+ --grid-ce: 20
826+ }
827+
828+ r-grid>r-cell[span-s$="+21"],
829+ r-grid>r-cell[span-s$="-20"],
830+ r-grid>r-cell[span-s="21"] {
831+ --grid-ce: 21
832+ }
833+
834+ r-grid>r-cell[span-s$="+22"],
835+ r-grid>r-cell[span-s$="-21"],
836+ r-grid>r-cell[span-s="22"] {
837+ --grid-ce: 22
838+ }
839+
840+ r-grid>r-cell[span-s$="+23"],
841+ r-grid>r-cell[span-s$="-22"],
842+ r-grid>r-cell[span-s="23"] {
843+ --grid-ce: 23
844+ }
845+
846+ r-grid>r-cell[span-s$="+24"],
847+ r-grid>r-cell[span-s$="-23"],
848+ r-grid>r-cell[span-s="24"] {
849+ --grid-ce: 24
850+ }
851+
852+ r-grid>r-cell[span-s$="+25"],
853+ r-grid>r-cell[span-s$="-24"],
854+ r-grid>r-cell[span-s="25"] {
855+ --grid-ce: 25
856+ }
857+
858+ r-grid>r-cell[span-s$="+26"],
859+ r-grid>r-cell[span-s$="-25"],
860+ r-grid>r-cell[span-s="26"] {
861+ --grid-ce: 26
862+ }
863+
864+ r-grid>r-cell[span-s$="+27"],
865+ r-grid>r-cell[span-s$="-26"],
866+ r-grid>r-cell[span-s="27"] {
867+ --grid-ce: 27
868+ }
869+
870+ r-grid>r-cell[span-s$="+28"],
871+ r-grid>r-cell[span-s$="-27"],
872+ r-grid>r-cell[span-s="28"] {
873+ --grid-ce: 28
874+ }
875+
876+ r-grid>r-cell[span-s$="+29"],
877+ r-grid>r-cell[span-s$="-28"],
878+ r-grid>r-cell[span-s="29"] {
879+ --grid-ce: 29
880+ }
881+
882+ r-grid>r-cell[span-s$="+30"],
883+ r-grid>r-cell[span-s$="-29"],
884+ r-grid>r-cell[span-s="30"] {
885+ --grid-ce: 30
886+ }
887+
888+ r-grid>r-cell[span-s$="-30"] {
889+ --grid-ce: 31
890+ }
891+
892+ r-grid>r-cell[span-s] {
893+ grid-column-end: span var(--grid-ce)
894+ }
895+
896+ r-grid>r-cell[span-s*="+"],
897+ r-grid>r-cell[span-s*="-"],
898+ r-grid>r-cell[span-s*=".."] {
899+ grid-column-start: var(--grid-cs)
900+ }
901+
902+ r-grid>r-cell[span-s*="-"],
903+ r-grid>r-cell[span-s*=".."] {
904+ grid-column-end: var(--grid-ce)
905+ }
906+
907+ r-grid>r-cell[span-s=row] {
908+ grid-column: 1/-1
909+ }
910+}
911+
912+@media only screen and (min-width:1599px) {
913+ r-grid[columns-l="1"] {
914+ --grid-tc: repeat(1, 1fr)
915+ }
916+
917+ r-grid[columns-l="2"] {
918+ --grid-tc: repeat(2, 1fr)
919+ }
920+
921+ r-grid[columns-l="3"] {
922+ --grid-tc: repeat(3, 1fr)
923+ }
924+
925+ r-grid[columns-l="4"] {
926+ --grid-tc: repeat(4, 1fr)
927+ }
928+
929+ r-grid[columns-l="5"] {
930+ --grid-tc: repeat(5, 1fr)
931+ }
932+
933+ r-grid[columns-l="6"] {
934+ --grid-tc: repeat(6, 1fr)
935+ }
936+
937+ r-grid[columns-l="7"] {
938+ --grid-tc: repeat(7, 1fr)
939+ }
940+
941+ r-grid[columns-l="8"] {
942+ --grid-tc: repeat(8, 1fr)
943+ }
944+
945+ r-grid[columns-l="9"] {
946+ --grid-tc: repeat(9, 1fr)
947+ }
948+
949+ r-grid[columns-l="10"] {
950+ --grid-tc: repeat(10, 1fr)
951+ }
952+
953+ r-grid[columns-l="11"] {
954+ --grid-tc: repeat(11, 1fr)
955+ }
956+
957+ r-grid[columns-l="12"] {
958+ --grid-tc: repeat(12, 1fr)
959+ }
960+
961+ r-grid[columns-l="13"] {
962+ --grid-tc: repeat(13, 1fr)
963+ }
964+
965+ r-grid[columns-l="14"] {
966+ --grid-tc: repeat(14, 1fr)
967+ }
968+
969+ r-grid[columns-l="15"] {
970+ --grid-tc: repeat(15, 1fr)
971+ }
972+
973+ r-grid[columns-l="16"] {
974+ --grid-tc: repeat(16, 1fr)
975+ }
976+
977+ r-grid[columns-l="17"] {
978+ --grid-tc: repeat(17, 1fr)
979+ }
980+
981+ r-grid[columns-l="18"] {
982+ --grid-tc: repeat(18, 1fr)
983+ }
984+
985+ r-grid[columns-l="19"] {
986+ --grid-tc: repeat(19, 1fr)
987+ }
988+
989+ r-grid[columns-l="20"] {
990+ --grid-tc: repeat(20, 1fr)
991+ }
992+
993+ r-grid[columns-l="21"] {
994+ --grid-tc: repeat(21, 1fr)
995+ }
996+
997+ r-grid[columns-l="22"] {
998+ --grid-tc: repeat(22, 1fr)
999+ }
1000+
1001+ r-grid[columns-l="23"] {
1002+ --grid-tc: repeat(23, 1fr)
1003+ }
1004+
1005+ r-grid[columns-l="24"] {
1006+ --grid-tc: repeat(24, 1fr)
1007+ }
1008+
1009+ r-grid[columns-l="25"] {
1010+ --grid-tc: repeat(25, 1fr)
1011+ }
1012+
1013+ r-grid[columns-l="26"] {
1014+ --grid-tc: repeat(26, 1fr)
1015+ }
1016+
1017+ r-grid[columns-l="27"] {
1018+ --grid-tc: repeat(27, 1fr)
1019+ }
1020+
1021+ r-grid[columns-l="28"] {
1022+ --grid-tc: repeat(28, 1fr)
1023+ }
1024+
1025+ r-grid[columns-l="29"] {
1026+ --grid-tc: repeat(29, 1fr)
1027+ }
1028+
1029+ r-grid[columns-l="30"] {
1030+ --grid-tc: repeat(30, 1fr)
1031+ }
1032+
1033+ r-grid>r-cell[span-l^="1"] {
1034+ --grid-cs: 1
1035+ }
1036+
1037+ r-grid>r-cell[span-l^="2"] {
1038+ --grid-cs: 2
1039+ }
1040+
1041+ r-grid>r-cell[span-l^="3"] {
1042+ --grid-cs: 3
1043+ }
1044+
1045+ r-grid>r-cell[span-l^="4"] {
1046+ --grid-cs: 4
1047+ }
1048+
1049+ r-grid>r-cell[span-l^="5"] {
1050+ --grid-cs: 5
1051+ }
1052+
1053+ r-grid>r-cell[span-l^="6"] {
1054+ --grid-cs: 6
1055+ }
1056+
1057+ r-grid>r-cell[span-l^="7"] {
1058+ --grid-cs: 7
1059+ }
1060+
1061+ r-grid>r-cell[span-l^="8"] {
1062+ --grid-cs: 8
1063+ }
1064+
1065+ r-grid>r-cell[span-l^="9"] {
1066+ --grid-cs: 9
1067+ }
1068+
1069+ r-grid>r-cell[span-l^="10"] {
1070+ --grid-cs: 10
1071+ }
1072+
1073+ r-grid>r-cell[span-l^="11"] {
1074+ --grid-cs: 11
1075+ }
1076+
1077+ r-grid>r-cell[span-l^="12"] {
1078+ --grid-cs: 12
1079+ }
1080+
1081+ r-grid>r-cell[span-l^="13"] {
1082+ --grid-cs: 13
1083+ }
1084+
1085+ r-grid>r-cell[span-l^="14"] {
1086+ --grid-cs: 14
1087+ }
1088+
1089+ r-grid>r-cell[span-l^="15"] {
1090+ --grid-cs: 15
1091+ }
1092+
1093+ r-grid>r-cell[span-l^="16"] {
1094+ --grid-cs: 16
1095+ }
1096+
1097+ r-grid>r-cell[span-l^="17"] {
1098+ --grid-cs: 17
1099+ }
1100+
1101+ r-grid>r-cell[span-l^="18"] {
1102+ --grid-cs: 18
1103+ }
1104+
1105+ r-grid>r-cell[span-l^="19"] {
1106+ --grid-cs: 19
1107+ }
1108+
1109+ r-grid>r-cell[span-l^="20"] {
1110+ --grid-cs: 20
1111+ }
1112+
1113+ r-grid>r-cell[span-l^="21"] {
1114+ --grid-cs: 21
1115+ }
1116+
1117+ r-grid>r-cell[span-l^="22"] {
1118+ --grid-cs: 22
1119+ }
1120+
1121+ r-grid>r-cell[span-l^="23"] {
1122+ --grid-cs: 23
1123+ }
1124+
1125+ r-grid>r-cell[span-l^="24"] {
1126+ --grid-cs: 24
1127+ }
1128+
1129+ r-grid>r-cell[span-l^="25"] {
1130+ --grid-cs: 25
1131+ }
1132+
1133+ r-grid>r-cell[span-l^="26"] {
1134+ --grid-cs: 26
1135+ }
1136+
1137+ r-grid>r-cell[span-l^="27"] {
1138+ --grid-cs: 27
1139+ }
1140+
1141+ r-grid>r-cell[span-l^="28"] {
1142+ --grid-cs: 28
1143+ }
1144+
1145+ r-grid>r-cell[span-l^="29"] {
1146+ --grid-cs: 29
1147+ }
1148+
1149+ r-grid>r-cell[span-l^="30"] {
1150+ --grid-cs: 30
1151+ }
1152+
1153+ r-grid>r-cell[span-l$="+1"],
1154+ r-grid>r-cell[span-l="1"] {
1155+ --grid-ce: 1
1156+ }
1157+
1158+ r-grid>r-cell[span-l$="+2"],
1159+ r-grid>r-cell[span-l$="-1"],
1160+ r-grid>r-cell[span-l="2"] {
1161+ --grid-ce: 2
1162+ }
1163+
1164+ r-grid>r-cell[span-l$="+3"],
1165+ r-grid>r-cell[span-l$="-2"],
1166+ r-grid>r-cell[span-l="3"] {
1167+ --grid-ce: 3
1168+ }
1169+
1170+ r-grid>r-cell[span-l$="+4"],
1171+ r-grid>r-cell[span-l$="-3"],
1172+ r-grid>r-cell[span-l="4"] {
1173+ --grid-ce: 4
1174+ }
1175+
1176+ r-grid>r-cell[span-l$="+5"],
1177+ r-grid>r-cell[span-l$="-4"],
1178+ r-grid>r-cell[span-l="5"] {
1179+ --grid-ce: 5
1180+ }
1181+
1182+ r-grid>r-cell[span-l$="+6"],
1183+ r-grid>r-cell[span-l$="-5"],
1184+ r-grid>r-cell[span-l="6"] {
1185+ --grid-ce: 6
1186+ }
1187+
1188+ r-grid>r-cell[span-l$="+7"],
1189+ r-grid>r-cell[span-l$="-6"],
1190+ r-grid>r-cell[span-l="7"] {
1191+ --grid-ce: 7
1192+ }
1193+
1194+ r-grid>r-cell[span-l$="+8"],
1195+ r-grid>r-cell[span-l$="-7"],
1196+ r-grid>r-cell[span-l="8"] {
1197+ --grid-ce: 8
1198+ }
1199+
1200+ r-grid>r-cell[span-l$="+9"],
1201+ r-grid>r-cell[span-l$="-8"],
1202+ r-grid>r-cell[span-l="9"] {
1203+ --grid-ce: 9
1204+ }
1205+
1206+ r-grid>r-cell[span-l$="+10"],
1207+ r-grid>r-cell[span-l$="-9"],
1208+ r-grid>r-cell[span-l="10"] {
1209+ --grid-ce: 10
1210+ }
1211+
1212+ r-grid>r-cell[span-l$="+11"],
1213+ r-grid>r-cell[span-l$="-10"],
1214+ r-grid>r-cell[span-l="11"] {
1215+ --grid-ce: 11
1216+ }
1217+
1218+ r-grid>r-cell[span-l$="+12"],
1219+ r-grid>r-cell[span-l$="-11"],
1220+ r-grid>r-cell[span-l="12"] {
1221+ --grid-ce: 12
1222+ }
1223+
1224+ r-grid>r-cell[span-l$="+13"],
1225+ r-grid>r-cell[span-l$="-12"],
1226+ r-grid>r-cell[span-l="13"] {
1227+ --grid-ce: 13
1228+ }
1229+
1230+ r-grid>r-cell[span-l$="+14"],
1231+ r-grid>r-cell[span-l$="-13"],
1232+ r-grid>r-cell[span-l="14"] {
1233+ --grid-ce: 14
1234+ }
1235+
1236+ r-grid>r-cell[span-l$="+15"],
1237+ r-grid>r-cell[span-l$="-14"],
1238+ r-grid>r-cell[span-l="15"] {
1239+ --grid-ce: 15
1240+ }
1241+
1242+ r-grid>r-cell[span-l$="+16"],
1243+ r-grid>r-cell[span-l$="-15"],
1244+ r-grid>r-cell[span-l="16"] {
1245+ --grid-ce: 16
1246+ }
1247+
1248+ r-grid>r-cell[span-l$="+17"],
1249+ r-grid>r-cell[span-l$="-16"],
1250+ r-grid>r-cell[span-l="17"] {
1251+ --grid-ce: 17
1252+ }
1253+
1254+ r-grid>r-cell[span-l$="+18"],
1255+ r-grid>r-cell[span-l$="-17"],
1256+ r-grid>r-cell[span-l="18"] {
1257+ --grid-ce: 18
1258+ }
1259+
1260+ r-grid>r-cell[span-l$="+19"],
1261+ r-grid>r-cell[span-l$="-18"],
1262+ r-grid>r-cell[span-l="19"] {
1263+ --grid-ce: 19
1264+ }
1265+
1266+ r-grid>r-cell[span-l$="+20"],
1267+ r-grid>r-cell[span-l$="-19"],
1268+ r-grid>r-cell[span-l="20"] {
1269+ --grid-ce: 20
1270+ }
1271+
1272+ r-grid>r-cell[span-l$="+21"],
1273+ r-grid>r-cell[span-l$="-20"],
1274+ r-grid>r-cell[span-l="21"] {
1275+ --grid-ce: 21
1276+ }
1277+
1278+ r-grid>r-cell[span-l$="+22"],
1279+ r-grid>r-cell[span-l$="-21"],
1280+ r-grid>r-cell[span-l="22"] {
1281+ --grid-ce: 22
1282+ }
1283+
1284+ r-grid>r-cell[span-l$="+23"],
1285+ r-grid>r-cell[span-l$="-22"],
1286+ r-grid>r-cell[span-l="23"] {
1287+ --grid-ce: 23
1288+ }
1289+
1290+ r-grid>r-cell[span-l$="+24"],
1291+ r-grid>r-cell[span-l$="-23"],
1292+ r-grid>r-cell[span-l="24"] {
1293+ --grid-ce: 24
1294+ }
1295+
1296+ r-grid>r-cell[span-l$="+25"],
1297+ r-grid>r-cell[span-l$="-24"],
1298+ r-grid>r-cell[span-l="25"] {
1299+ --grid-ce: 25
1300+ }
1301+
1302+ r-grid>r-cell[span-l$="+26"],
1303+ r-grid>r-cell[span-l$="-25"],
1304+ r-grid>r-cell[span-l="26"] {
1305+ --grid-ce: 26
1306+ }
1307+
1308+ r-grid>r-cell[span-l$="+27"],
1309+ r-grid>r-cell[span-l$="-26"],
1310+ r-grid>r-cell[span-l="27"] {
1311+ --grid-ce: 27
1312+ }
1313+
1314+ r-grid>r-cell[span-l$="+28"],
1315+ r-grid>r-cell[span-l$="-27"],
1316+ r-grid>r-cell[span-l="28"] {
1317+ --grid-ce: 28
1318+ }
1319+
1320+ r-grid>r-cell[span-l$="+29"],
1321+ r-grid>r-cell[span-l$="-28"],
1322+ r-grid>r-cell[span-l="29"] {
1323+ --grid-ce: 29
1324+ }
1325+
1326+ r-grid>r-cell[span-l$="+30"],
1327+ r-grid>r-cell[span-l$="-29"],
1328+ r-grid>r-cell[span-l="30"] {
1329+ --grid-ce: 30
1330+ }
1331+
1332+ r-grid>r-cell[span-l$="-30"] {
1333+ --grid-ce: 31
1334+ }
1335+
1336+ r-grid>r-cell[span-l] {
1337+ grid-column-end: span var(--grid-ce)
1338+ }
1339+
1340+ r-grid>r-cell[span-l*="+"],
1341+ r-grid>r-cell[span-l*="-"],
1342+ r-grid>r-cell[span-l*=".."] {
1343+ grid-column-start: var(--grid-cs)
1344+ }
1345+
1346+ r-grid>r-cell[span-l*="-"],
1347+ r-grid>r-cell[span-l*=".."] {
1348+ grid-column-end: var(--grid-ce)
1349+ }
1350+
1351+ r-grid>r-cell[span-l=row] {
1352+ grid-column: 1/-1
1353+ }
1354 }
1355\ No newline at end of file
1356diff --git a/template.index.html b/template.index.html
1357index d7a1590..d591780 100644
1358--- a/template.index.html
1359+++ b/template.index.html
1360@@ -20,44 +20,44 @@
1361 </div>
1362 <div class="index">
1363 <div class="metadata">
1364- <table>
1365- <thead>
1366- <tr>
1367- <td class="name"><b>Name</b></td>
1368- <td class="description"><b>Description</b></td>
1369- <td><b>Git</b></td>
1370- </tr>
1371- </thead>
1372- <tbody>
1373- {{ range .Repos }}
1374- <tr>
1375- <td class="name">
1376- <a href="{{ $.HeadData.BaseURL }}{{ .Name }}/log.html">
1377- {{ .Name }}
1378- </a>
1379- </td>
1380- <td class="description">
1381- <div>{{ .Description }}</div>
1382- </td>
1383- <td>
1384- <div>
1385- {{ if .HostGit }}
1386- <a href="{{ .BaseURL }}{{ .Name }}.git">
1387- {{ .BaseURL }}{{ .Name }}.git
1388- </a>
1389- {{ else if not (eq .PublishedGitURL "") }}
1390- <a href="{{ .PublishedGitURL }}">
1391- {{ .PublishedGitURL }}
1392- </a>
1393- {{ else }}
1394- <em>none</em>
1395- {{ end }}
1396- </div>
1397- </td>
1398- </tr>
1399- {{ end }}
1400- </tbody>
1401- </table>
1402+ <r-grid columns="12">
1403+ <r-cell span="2">
1404+ <b>Name</b>
1405+ </r-cell>
1406+ <r-cell span="7">
1407+ <b>Description</b>
1408+ </r-cell>
1409+ <r-cell span="3">
1410+ <b>Git</b>
1411+ </r-cell>
1412+
1413+ {{ range .Repos }}
1414+ <r-cell span="2">
1415+ <a href="{{ $.HeadData.BaseURL }}{{ .Name }}/log.html">
1416+ {{ .Name }}
1417+ </a>
1418+ </r-cell>
1419+ <r-cell span="7">
1420+ <div>{{ .Description }}</div>
1421+ </r-cell>
1422+ <r-cell span="3">
1423+ <div>
1424+ {{ if .HostGit }}
1425+ <a href="{{ .BaseURL }}{{ .Name }}.git">
1426+ {{ .BaseURL }}{{ .Name }}.git
1427+ </a>
1428+ {{ else if not (eq .PublishedGitURL "") }}
1429+ <a href="{{ .PublishedGitURL }}">
1430+ {{ .PublishedGitURL }}
1431+ </a>
1432+ {{ else }}
1433+ <em>none</em>
1434+ {{ end }}
1435+ </div>
1436+ </r-cell>
1437+ {{ end }}
1438+ </r-grid>
1439+
1440 </div>
1441 </div>
1442 </div>