add today's events page

This commit is contained in:
Fabrice Lamant
2024-07-26 10:48:44 +02:00
parent bace7b62cc
commit beae3d0507
11 changed files with 24336 additions and 42 deletions

View File

@ -62,8 +62,7 @@ UID:20240727T085000Z-fencing-WOMENS-PE-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240727T085000Z
DTSTART:20240727T085000Z
DTEND:20240727T091500Z
DESCRIPTION:Fencing - Women's Épée Individual Table of 32\n🇭🇰 KONG Man
Wai Vivian
DESCRIPTION:Fencing - Women's Épée Individual Table of 32\n🇨🇳 SUN Yiwen
SUMMARY:🤺 Women's Épée Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
@ -72,7 +71,8 @@ UID:20240727T085000Z-fencing-WOMENS-PE-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240727T085000Z
DTSTART:20240727T085000Z
DTEND:20240727T091500Z
DESCRIPTION:Fencing - Women's Épée Individual Table of 32\n🇨🇳 SUN Yiwen
DESCRIPTION:Fencing - Women's Épée Individual Table of 32\n🇭🇰 KONG Man
Wai Vivian
SUMMARY:🤺 Women's Épée Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
@ -1495,6 +1495,16 @@ UID:20240729T100500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T100500Z
DTSTART:20240729T100500Z
DTEND:20240729T103500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇮🇹 Tommaso
MARINI
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
BEGIN:VEVENT
UID:20240729T100500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T100500Z
DTSTART:20240729T100500Z
DTEND:20240729T103500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇫🇷 Enzo LEFORT
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
@ -1509,16 +1519,6 @@ SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
BEGIN:VEVENT
UID:20240729T100500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T100500Z
DTSTART:20240729T100500Z
DTEND:20240729T103500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇮🇹 Tommaso
MARINI
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
BEGIN:VEVENT
UID:20240729T100500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32-POL-CZE
DTSTAMP:20240729T100500Z
DTSTART:20240729T100500Z
@ -1604,7 +1604,8 @@ UID:20240729T113500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T113500Z
DTSTART:20240729T113500Z
DTEND:20240729T120500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇺🇸 Nick ITKIN
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇭🇰 CHEUNG Ka
Long
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
@ -1613,8 +1614,7 @@ UID:20240729T113500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T113500Z
DTSTART:20240729T113500Z
DTEND:20240729T120500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇭🇰 CHEUNG Ka
Long
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇺🇸 Nick ITKIN
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT

View File

@ -921,8 +921,7 @@ UID:20240727T085000Z-fencing-WOMENS-PE-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240727T085000Z
DTSTART:20240727T085000Z
DTEND:20240727T091500Z
DESCRIPTION:Fencing - Women's Épée Individual Table of 32\n🇭🇰 KONG Man
Wai Vivian
DESCRIPTION:Fencing - Women's Épée Individual Table of 32\n🇨🇳 SUN Yiwen
SUMMARY:🤺 Women's Épée Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
@ -931,7 +930,8 @@ UID:20240727T085000Z-fencing-WOMENS-PE-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240727T085000Z
DTSTART:20240727T085000Z
DTEND:20240727T091500Z
DESCRIPTION:Fencing - Women's Épée Individual Table of 32\n🇨🇳 SUN Yiwen
DESCRIPTION:Fencing - Women's Épée Individual Table of 32\n🇭🇰 KONG Man
Wai Vivian
SUMMARY:🤺 Women's Épée Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
@ -8459,6 +8459,16 @@ UID:20240729T100500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T100500Z
DTSTART:20240729T100500Z
DTEND:20240729T103500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇮🇹 Tommaso
MARINI
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
BEGIN:VEVENT
UID:20240729T100500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T100500Z
DTSTART:20240729T100500Z
DTEND:20240729T103500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇫🇷 Enzo LEFORT
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
@ -8473,16 +8483,6 @@ SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
BEGIN:VEVENT
UID:20240729T100500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T100500Z
DTSTART:20240729T100500Z
DTEND:20240729T103500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇮🇹 Tommaso
MARINI
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
BEGIN:VEVENT
UID:20240729T100500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32-POL-CZE
DTSTAMP:20240729T100500Z
DTSTART:20240729T100500Z
@ -8757,7 +8757,8 @@ UID:20240729T113500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T113500Z
DTSTART:20240729T113500Z
DTEND:20240729T120500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇺🇸 Nick ITKIN
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇭🇰 CHEUNG Ka
Long
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT
@ -8766,8 +8767,7 @@ UID:20240729T113500Z-fencing-MENS-FOIL-INDIVIDUAL-TABLE-OF-32
DTSTAMP:20240729T113500Z
DTSTART:20240729T113500Z
DTEND:20240729T120500Z
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇭🇰 CHEUNG Ka
Long
DESCRIPTION:Fencing - Men's Foil Individual Table of 32\n🇺🇸 Nick ITKIN
SUMMARY:🤺 Men's Foil Individual Table of 32
LOCATION:Grand Palais
END:VEVENT

View File

@ -1216,6 +1216,171 @@
</tr>
</table>
</div>
<div class="text-sm my-10">
<h2 class="text-3xl pb-4 pt-8">View today's events by NOC</h2>
<a href="./today.html?noc=AFG" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇫 AFG</a>
<a href="./today.html?noc=ALB" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇱 ALB</a>
<a href="./today.html?noc=ALG" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇩🇿 ALG</a>
<a href="./today.html?noc=AND" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇩 AND</a>
<a href="./today.html?noc=ANG" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇴 ANG</a>
<a href="./today.html?noc=ARG" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇷 ARG</a>
<a href="./today.html?noc=ARM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇲 ARM</a>
<a href="./today.html?noc=ARU" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇼 ARU</a>
<a href="./today.html?noc=AUS" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇺 AUS</a>
<a href="./today.html?noc=AUT" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇹 AUT</a>
<a href="./today.html?noc=AZE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇿 AZE</a>
<a href="./today.html?noc=BAN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇩 BAN</a>
<a href="./today.html?noc=BDI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇮 BDI</a>
<a href="./today.html?noc=BEL" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇪 BEL</a>
<a href="./today.html?noc=BEN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇯 BEN</a>
<a href="./today.html?noc=BHU" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇹 BHU</a>
<a href="./today.html?noc=BIH" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇦 BIH</a>
<a href="./today.html?noc=BRA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇷 BRA</a>
<a href="./today.html?noc=BRN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇭 BRN</a>
<a href="./today.html?noc=BUL" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇬 BUL</a>
<a href="./today.html?noc=BUR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇧🇫 BUR</a>
<a href="./today.html?noc=CAF" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇫 CAF</a>
<a href="./today.html?noc=CAN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇦 CAN</a>
<a href="./today.html?noc=CGO" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇬 CGO</a>
<a href="./today.html?noc=CHA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇩 CHA</a>
<a href="./today.html?noc=CHI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇱 CHI</a>
<a href="./today.html?noc=CHN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇳 CHN</a>
<a href="./today.html?noc=CIV" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇮 CIV</a>
<a href="./today.html?noc=CMR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇲 CMR</a>
<a href="./today.html?noc=COD" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇩 COD</a>
<a href="./today.html?noc=COL" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇴 COL</a>
<a href="./today.html?noc=COM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇰🇲 COM</a>
<a href="./today.html?noc=CPV" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇻 CPV</a>
<a href="./today.html?noc=CRC" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇷 CRC</a>
<a href="./today.html?noc=CRO" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇭🇷 CRO</a>
<a href="./today.html?noc=CUB" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇺 CUB</a>
<a href="./today.html?noc=CYP" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇾 CYP</a>
<a href="./today.html?noc=CZE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇿 CZE</a>
<a href="./today.html?noc=DEN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇩🇰 DEN</a>
<a href="./today.html?noc=DJI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇩🇯 DJI</a>
<a href="./today.html?noc=DOM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇩🇴 DOM</a>
<a href="./today.html?noc=ECU" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇪🇨 ECU</a>
<a href="./today.html?noc=EGY" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇪🇬 EGY</a>
<a href="./today.html?noc=EOR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🏳️ EOR</a>
<a href="./today.html?noc=ERI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇪🇷 ERI</a>
<a href="./today.html?noc=ESA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇻 ESA</a>
<a href="./today.html?noc=ESP" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇪🇸 ESP</a>
<a href="./today.html?noc=EST" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇪🇪 EST</a>
<a href="./today.html?noc=FIJ" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇫🇯 FIJ</a>
<a href="./today.html?noc=FIN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇫🇮 FIN</a>
<a href="./today.html?noc=FRA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇫🇷 FRA</a>
<a href="./today.html?noc=GAB" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇦 GAB</a>
<a href="./today.html?noc=GAM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇲 GAM</a>
<a href="./today.html?noc=GBR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇧 GBR</a>
<a href="./today.html?noc=GBS" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇼 GBS</a>
<a href="./today.html?noc=GEO" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇪 GEO</a>
<a href="./today.html?noc=GER" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇩🇪 GER</a>
<a href="./today.html?noc=GRE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇷 GRE</a>
<a href="./today.html?noc=GUA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇹 GUA</a>
<a href="./today.html?noc=GUI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇳 GUI</a>
<a href="./today.html?noc=GUM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇺 GUM</a>
<a href="./today.html?noc=GUY" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇬🇾 GUY</a>
<a href="./today.html?noc=HAI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇭🇹 HAI</a>
<a href="./today.html?noc=HKG" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇭🇰 HKG</a>
<a href="./today.html?noc=HUN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇭🇺 HUN</a>
<a href="./today.html?noc=INA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇮🇩 INA</a>
<a href="./today.html?noc=IND" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇮🇳 IND</a>
<a href="./today.html?noc=IRI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇮🇷 IRI</a>
<a href="./today.html?noc=IRL" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇮🇪 IRL</a>
<a href="./today.html?noc=IRQ" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇮🇶 IRQ</a>
<a href="./today.html?noc=ISL" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇮🇸 ISL</a>
<a href="./today.html?noc=ISR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇮🇱 ISR</a>
<a href="./today.html?noc=ISV" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇻🇮 ISV</a>
<a href="./today.html?noc=ITA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇮🇹 ITA</a>
<a href="./today.html?noc=JAM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇯🇲 JAM</a>
<a href="./today.html?noc=JOR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇯🇴 JOR</a>
<a href="./today.html?noc=JPN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇯🇵 JPN</a>
<a href="./today.html?noc=KAZ" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇰🇿 KAZ</a>
<a href="./today.html?noc=KEN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇰🇪 KEN</a>
<a href="./today.html?noc=KGZ" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇰🇬 KGZ</a>
<a href="./today.html?noc=KIR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇰🇮 KIR</a>
<a href="./today.html?noc=KOR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇰🇷 KOR</a>
<a href="./today.html?noc=KOS" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇽🇰 KOS</a>
<a href="./today.html?noc=KUW" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇰🇼 KUW</a>
<a href="./today.html?noc=LAT" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇱🇻 LAT</a>
<a href="./today.html?noc=LBA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇱🇾 LBA</a>
<a href="./today.html?noc=LBN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇱🇧 LBN</a>
<a href="./today.html?noc=LTU" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇱🇹 LTU</a>
<a href="./today.html?noc=LUX" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇱🇺 LUX</a>
<a href="./today.html?noc=MAD" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇬 MAD</a>
<a href="./today.html?noc=MAR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇦 MAR</a>
<a href="./today.html?noc=MAS" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇾 MAS</a>
<a href="./today.html?noc=MDA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇩 MDA</a>
<a href="./today.html?noc=MDV" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇻 MDV</a>
<a href="./today.html?noc=MEX" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇽 MEX</a>
<a href="./today.html?noc=MGL" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇳 MGL</a>
<a href="./today.html?noc=MKD" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇰 MKD</a>
<a href="./today.html?noc=MLI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇱 MLI</a>
<a href="./today.html?noc=MLT" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇹 MLT</a>
<a href="./today.html?noc=MNE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇪 MNE</a>
<a href="./today.html?noc=MON" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇨 MON</a>
<a href="./today.html?noc=MOZ" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇿 MOZ</a>
<a href="./today.html?noc=MRI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇺 MRI</a>
<a href="./today.html?noc=MYA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇲🇲 MYA</a>
<a href="./today.html?noc=NCA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇳🇮 NCA</a>
<a href="./today.html?noc=NED" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇳🇱 NED</a>
<a href="./today.html?noc=NEP" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇳🇵 NEP</a>
<a href="./today.html?noc=NGR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇳🇬 NGR</a>
<a href="./today.html?noc=NIG" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇳🇪 NIG</a>
<a href="./today.html?noc=NOR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇳🇴 NOR</a>
<a href="./today.html?noc=NZL" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇳🇿 NZL</a>
<a href="./today.html?noc=OMA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇴🇲 OMA</a>
<a href="./today.html?noc=PAK" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇰 PAK</a>
<a href="./today.html?noc=PAN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇦 PAN</a>
<a href="./today.html?noc=PAR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇾 PAR</a>
<a href="./today.html?noc=PER" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇪 PER</a>
<a href="./today.html?noc=PHI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇭 PHI</a>
<a href="./today.html?noc=PLE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇸 PLE</a>
<a href="./today.html?noc=PNG" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇬 PNG</a>
<a href="./today.html?noc=POL" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇱 POL</a>
<a href="./today.html?noc=POR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇹 POR</a>
<a href="./today.html?noc=PRK" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇰🇵 PRK</a>
<a href="./today.html?noc=PUR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇵🇷 PUR</a>
<a href="./today.html?noc=QAT" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇶🇦 QAT</a>
<a href="./today.html?noc=ROU" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇷🇴 ROU</a>
<a href="./today.html?noc=RSA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇿🇦 RSA</a>
<a href="./today.html?noc=RWA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇷🇼 RWA</a>
<a href="./today.html?noc=SAM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇼🇸 SAM</a>
<a href="./today.html?noc=SEN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇳 SEN</a>
<a href="./today.html?noc=SGP" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇬 SGP</a>
<a href="./today.html?noc=SLE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇱 SLE</a>
<a href="./today.html?noc=SLO" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇮 SLO</a>
<a href="./today.html?noc=SMR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇲 SMR</a>
<a href="./today.html?noc=SRB" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇷🇸 SRB</a>
<a href="./today.html?noc=SRI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇱🇰 SRI</a>
<a href="./today.html?noc=SSD" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇸 SSD</a>
<a href="./today.html?noc=STP" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇹 STP</a>
<a href="./today.html?noc=SUI" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇨🇭 SUI</a>
<a href="./today.html?noc=SUR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇷 SUR</a>
<a href="./today.html?noc=SVK" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇰 SVK</a>
<a href="./today.html?noc=SWE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇪 SWE</a>
<a href="./today.html?noc=SYR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇸🇾 SYR</a>
<a href="./today.html?noc=TAN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇿 TAN</a>
<a href="./today.html?noc=TGA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇴 TGA</a>
<a href="./today.html?noc=THA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇭 THA</a>
<a href="./today.html?noc=TJK" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇯 TJK</a>
<a href="./today.html?noc=TKM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇲 TKM</a>
<a href="./today.html?noc=TPE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇼 TPE</a>
<a href="./today.html?noc=TUN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇳 TUN</a>
<a href="./today.html?noc=TUR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇹🇷 TUR</a>
<a href="./today.html?noc=UAE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇦🇪 UAE</a>
<a href="./today.html?noc=UKR" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇺🇦 UKR</a>
<a href="./today.html?noc=URU" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇺🇾 URU</a>
<a href="./today.html?noc=USA" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇺🇸 USA</a>
<a href="./today.html?noc=UZB" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇺🇿 UZB</a>
<a href="./today.html?noc=VAN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇻🇺 VAN</a>
<a href="./today.html?noc=VEN" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇻🇪 VEN</a>
<a href="./today.html?noc=VIE" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇻🇳 VIE</a>
<a href="./today.html?noc=YEM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇾🇪 YEM</a>
<a href="./today.html?noc=ZAM" class="inline-block bg-slate-400 hover:bg-blue-400 text-white px-2 py-1 my-px rounded-lg text-base">🇿🇲 ZAM</a>
</div>
<div class="text-sm my-10 text-center">
This webiste is not affiliated with the International Olympic Committee.
All trademarks, logos and brand names are the property of their respective owners.

View File

@ -527,9 +527,15 @@ video {
.table {
display: table;
}
.hidden {
display: none;
}
.h-10 {
height: 2.5rem;
}
.w-1\/4 {
width: 25%;
}
.w-10 {
width: 2.5rem;
}
@ -554,6 +560,9 @@ video {
.border-b {
border-bottom-width: 1px;
}
.border-r {
border-right-width: 1px;
}
.border-slate-900\/10 {
border-color: rgb(15 23 42 / 0.1);
}
@ -572,9 +581,19 @@ video {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.py-4 {
padding-top: 1rem;
padding-bottom: 1rem;
}
.pb-4 {
padding-bottom: 1rem;
}
.pl-2 {
padding-left: 0.5rem;
}
.pr-2 {
padding-right: 0.5rem;
}
.pt-8 {
padding-top: 2rem;
}
@ -584,6 +603,13 @@ video {
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.text-2xl {
font-size: 1.5rem;
line-height: 2rem;
}
.text-3xl {
font-size: 1.875rem;
line-height: 2.25rem;
@ -592,6 +618,10 @@ video {
font-size: 2.25rem;
line-height: 2.5rem;
}
.text-5xl {
font-size: 3rem;
line-height: 1;
}
.text-base {
font-size: 1rem;
line-height: 1.5rem;
@ -603,6 +633,10 @@ video {
.font-bold {
font-weight: 700;
}
.text-black {
--tw-text-opacity: 1;
color: rgb(0 0 0 / var(--tw-text-opacity));
}
.text-slate-200 {
--tw-text-opacity: 1;
color: rgb(226 232 240 / var(--tw-text-opacity));
@ -616,6 +650,26 @@ html {
font-size: 12px;
}
.blue {
color: #0081C8;
}
.yellow {
color: #FCB131;
}
.black {
color: #000000;
}
.green {
color: #00A651;
}
.red {
color: #EE334E;
}
.even\:bg-slate-200:nth-child(even) {
--tw-bg-opacity: 1;
background-color: rgb(226 232 240 / var(--tw-bg-opacity));

23926
docs/today.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -108,6 +108,7 @@ const extractSportCalendar = async (sportKey) => {
LOCATION: unit.venueDescription,
_SPORT: sportKey,
_NOCS: [],
_UNITNAME: unit.eventUnitName,
};
if (unit.competitors) {
@ -209,18 +210,54 @@ const generateOutputPage = () => {
html.push("</tr>");
html.push("</table>");
const template = fs.readFileSync(`${__dirname}/template.html`, "utf-8");
const output = template.replace("{{calendars}}", html.join("\r\n"));
const todays = [];
NOCS.sort().forEach((noc) => {
todays.push(`<a href="./today.html?noc=${noc}" class="${linkClass}">${getNOCFlag(noc)} ${noc}</a>`);
});
const template = fs.readFileSync(`${__dirname}/index/template.html`, "utf-8");
const output = template
.replace("{{calendars}}", html.join("\r\n"))
.replace("{{todays}}", todays.join("\r\n"));
fs.writeFileSync("docs/index.html", output);
postcss([autoprefixer, tailwindcss])
.process(fs.readFileSync(`${__dirname}/template.css`, "utf-8"), { from: "template.css", to: "docs/style.css" })
.process(fs.readFileSync(`${__dirname}/index/template.css`, "utf-8"), { from: "index/template.css", to: "docs/style.css" })
.then((result) => {
fs.writeFileSync("docs/style.css", result.css);
});
;
};
const generateTodayPage = () => {
const html = [];
EVENTS.forEach((event) => {
let sport = SPORTS.find((sport) => sport.key === event._SPORT);
if (!sport) {
sport = {
name: "Ceremony",
key: "",
};
}
const summary = event.SUMMARY.match(/ceremony/gi) ? event.SUMMARY : event.SUMMARY.split(" ").slice(1).join(" ");
html.push(`<div class="event py-4" data-start="${event.DTSTART}" data-end="${event.DTEND}" data-noc="${event._NOCS.join(",")}">`);
html.push(" <div class=\"time w-1/4 text-right inline-block text-5xl text-center pr-2 border-r border-slate-900/10\">__:__</div>");
html.push(" <div class=\"inline-block text-black pl-2\">");
html.push(` <div class="text-2xl">${sport.name.toUpperCase()}</div>`);
html.push(` <div class="">${summary}</div>`);
html.push(" </div>");
html.push("</div>");
});
const template = fs.readFileSync(`${__dirname}/today/template.html`, "utf-8");
const output = template
.replace("{{events}}", html.join("\r\n"));
fs.writeFileSync("docs/today.html", output);
};
const main = async () => {
await Promise.all(
[
@ -275,6 +312,7 @@ const main = async () => {
generateCeremoniesEvents();
generateCalendars();
generateOutputPage();
generateTodayPage();
};
main();

27
src/index/template.css Normal file
View File

@ -0,0 +1,27 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
html {
font-size: 12px;
}
.blue {
color: #0081C8;
}
.yellow {
color: #FCB131;
}
.black {
color: #000000;
}
.green {
color: #00A651;
}
.red {
color: #EE334E;
}

View File

@ -41,6 +41,12 @@
<div>
{{calendars}}
</div>
<div class="text-sm my-10">
<h2 class="text-3xl pb-4 pt-8">View today's events by NOC</h2>
{{todays}}
</div>
<div class="text-sm my-10 text-center">
This webiste is not affiliated with the International Olympic Committee.
All trademarks, logos and brand names are the property of their respective owners.

View File

@ -1,7 +0,0 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
html {
font-size: 12px;
}

View File

85
src/today/template.html Normal file
View File

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html>
<head>
<title>Paris 2024 Summer Olympic Games - Today's events</title>
<link href="./style.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Paris 2024 Summer Olympic Games - Today's events">
<meta name="keywords" content="Paris 2024, Summer Olympic Games - Today's events">
<meta name="author" content="Fabrice LAMANT">
<script src="https://cdn.jsdelivr.net/npm/luxon@3.4.4/build/global/luxon.min.js"></script>
<meta http-equiv="refresh" content="900">
</head>
<body>
<div class="p-4">
<div class="border-b pb-4 border-slate-900/10">
<h1 class="text-4xl text-center">Paris 2024 - Today's events</h1>
</div>
<div>
{{events}}
</div>
<div class="no-event my-10 text-center text-2xl hidden">
No event today, come back tomorrow! :)
</div>
<div class="text-sm my-10 text-center">
This webiste is not affiliated with the International Olympic Committee.
All trademarks, logos and brand names are the property of their respective owners.
</div>
</div>
<script type="text/javascript">
const DateTime = luxon.DateTime;
const now = DateTime.now();
const noc = new URLSearchParams(window.location.search).get('noc');
let color = 0;
const cycleColor = () => {
color++
color = color % 5
console.log(color);
switch (color) {
case 0: return "blue";
case 1: return "yellow";
case 2: return "black";
case 3: return "green";
case 4: return "red";
}
};
document.querySelectorAll('.event').forEach((element) => {
const start = DateTime.fromISO(element.getAttribute('data-start'));
const end = DateTime.fromISO(element.getAttribute('data-end'));
const nocs = element.getAttribute('data-noc').split(",");
if (nocs.includes(noc)) {
if (now.day === start.day) {
element.querySelector(".time").textContent = start.toLocaleString(DateTime.TIME_24_SIMPLE);
if (end < now) {
element.remove();
} else {
element.classList.add(cycleColor());
}
} else {
element.remove();
}
} else {
element.remove();
}
});
if (document.querySelectorAll('.event').length === 0) {
document.querySelector('.no-event').classList.remove('hidden');
}
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-0KQC1F1K4H"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-0KQC1F1K4H');
</script>
</body>