Update project configuration and documentation: set version in package.json, enhance spec.md with canvas feature details, add credits URL in zola.toml, and improve footer layout in base.html. Remove unused static files including 404.html, index.html, main.css, robots.txt, site.webmanifest, and sitemap.xml.
3
static/icons/social/ATTRIBUTION.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
Social icons are from [Tabler Icons](https://tabler.io/icons) ([MIT License](https://github.com/tabler/tabler-icons/blob/master/LICENSE)).
|
||||
|
||||
Source: https://github.com/tabler/tabler-icons/tree/main/icons/outline
|
||||
19
static/icons/social/bluesky.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
tags: [decentralized, network, protocol, innovative, communication, new-wave, future, tech, connectivity, open]
|
||||
category: Brand
|
||||
version: "2.45"
|
||||
unicode: "fd75"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M6.335 5.144c-1.654 -1.199 -4.335 -2.127 -4.335 .826c0 .59 .35 4.953 .556 5.661c.713 2.463 3.13 2.75 5.444 2.369c-4.045 .665 -4.889 3.208 -2.667 5.41c1.03 1.018 1.913 1.59 2.667 1.59c2 0 3.134 -2.769 3.5 -3.5c.333 -.667 .5 -1.167 .5 -1.5c0 .333 .167 .833 .5 1.5c.366 .731 1.5 3.5 3.5 3.5c.754 0 1.637 -.571 2.667 -1.59c2.222 -2.203 1.378 -4.746 -2.667 -5.41c2.314 .38 4.73 .094 5.444 -2.369c.206 -.708 .556 -5.072 .556 -5.661c0 -2.953 -2.68 -2.025 -4.335 -.826c-2.293 1.662 -4.76 5.048 -5.665 6.856c-.905 -1.808 -3.372 -5.194 -5.665 -6.856" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 932 B |
22
static/icons/social/discord.svg
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<!--
|
||||
tags: [app, application, logo, communication, talks, gamers, freeware, platform, brand, discord]
|
||||
category: Brand
|
||||
version: "1.21"
|
||||
unicode: "ece3"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M8 12a1 1 0 1 0 2 0a1 1 0 0 0 -2 0" />
|
||||
<path d="M14 12a1 1 0 1 0 2 0a1 1 0 0 0 -2 0" />
|
||||
<path d="M15.5 17c0 1 1.5 3 2 3c1.5 0 2.833 -1.667 3.5 -3c.667 -1.667 .5 -5.833 -1.5 -11.5c-1.457 -1.015 -3 -1.34 -4.5 -1.5l-.972 1.923a11.913 11.913 0 0 0 -4.053 0l-.975 -1.923c-1.5 .16 -3.043 .485 -4.5 1.5c-2 5.667 -2.167 9.833 -1.5 11.5c.667 1.333 2 3 3.5 3c.5 0 2 -2 2 -3" />
|
||||
<path d="M7 16.5c3.5 1 6.5 1 10 0" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 785 B |
20
static/icons/social/email.svg
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<!--
|
||||
tags: [inbox, gmail, email, envelope, message, mail, contact, conversation, letter, post]
|
||||
category: Communication
|
||||
version: "1.0"
|
||||
unicode: "eae5"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10" />
|
||||
<path d="M3 7l9 6l9 -6" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 485 B |
19
static/icons/social/facebook.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
tags: [logo, app, application, community, social, communication, website, user, post, images, photos, comment, feedback, fb]
|
||||
category: Brand
|
||||
version: "1.18"
|
||||
unicode: "ec1a"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 478 B |
19
static/icons/social/github.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
tags: [logo, website, hosting, project, programming, software, development, brand, github, company]
|
||||
category: Brand
|
||||
version: "1.18"
|
||||
unicode: "ec1c"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 673 B |
19
static/icons/social/gitlab.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
tags: [logo, website, software, code, programming, programmers, brand, gitlab, company, trademark]
|
||||
category: Brand
|
||||
version: "1.9"
|
||||
unicode: "ec1d"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M21 14l-9 7l-9 -7l3 -11l3 7h6l3 -7l3 11" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 418 B |
21
static/icons/social/instagram.svg
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<!--
|
||||
tags: [logo, app, application, images, photos, videos, post, stories, online, community]
|
||||
category: Brand
|
||||
version: "1.9"
|
||||
unicode: "ec20"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M4 8a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4l0 -8" />
|
||||
<path d="M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0" />
|
||||
<path d="M16.5 7.5v.01" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 524 B |
23
static/icons/social/linkedin.svg
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<!--
|
||||
tags: [logo, website, corporation, work, business, internet, brand, linkedin, company, trademark]
|
||||
category: Brand
|
||||
version: "1.15"
|
||||
unicode: "ec8c"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M8 11v5" />
|
||||
<path d="M8 8v.01" />
|
||||
<path d="M12 16v-5" />
|
||||
<path d="M16 16v-3a2 2 0 1 0 -4 0" />
|
||||
<path d="M3 7a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v10a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4l0 -10" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 571 B |
20
static/icons/social/mastodon.svg
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<!--
|
||||
tags: [web, app, social, nodes, network, brand, mastodon, logo, company, trademark]
|
||||
category: Brand
|
||||
version: "1.75"
|
||||
unicode: "f250"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M18.648 15.254c-1.816 1.763 -6.648 1.626 -6.648 1.626a18.262 18.262 0 0 1 -3.288 -.256c1.127 1.985 4.12 2.81 8.982 2.475c-1.945 2.013 -13.598 5.257 -13.668 -7.636l-.026 -1.154c0 -3.036 .023 -4.115 1.352 -5.633c1.671 -1.91 6.648 -1.666 6.648 -1.666s4.977 -.243 6.648 1.667c1.329 1.518 1.352 2.597 1.352 5.633s-.456 4.074 -1.352 4.944" />
|
||||
<path d="M12 11.204v-2.926c0 -1.258 -.895 -2.278 -2 -2.278s-2 1.02 -2 2.278v4.722m4 -4.722c0 -1.258 .895 -2.278 2 -2.278s2 1.02 2 2.278v4.722" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 845 B |
24
static/icons/social/medium.svg
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!--
|
||||
tags: [logo, website, brand, wordmark, design, medium, company, trademark, identity, corporate]
|
||||
category: Brand
|
||||
version: "1.13"
|
||||
unicode: "ec70"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12" />
|
||||
<path d="M8 9h1l3 3l3 -3h1" />
|
||||
<path d="M8 15l2 0" />
|
||||
<path d="M14 15l2 0" />
|
||||
<path d="M9 9l0 6" />
|
||||
<path d="M15 9l0 6" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 590 B |
19
static/icons/social/orcid.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
tags: [software, code, developer, public, licence, technology, brand, open, source, logo]
|
||||
category: Brand
|
||||
version: "1.36"
|
||||
unicode: "edd0"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M12 3a9 9 0 0 1 3.618 17.243l-2.193 -5.602a3 3 0 1 0 -2.849 0l-2.193 5.603a9 9 0 0 1 3.617 -17.244" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 469 B |
21
static/icons/social/rss.svg
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<!--
|
||||
category: Communication
|
||||
tags: [feed, subscribe, rss, design]
|
||||
version: "1.0"
|
||||
unicode: "eb19"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M4 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" />
|
||||
<path d="M4 4a16 16 0 0 1 16 16" />
|
||||
<path d="M4 11a9 9 0 0 1 9 9" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 432 B |
20
static/icons/social/scholar.svg
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<!--
|
||||
category: Map
|
||||
tags: [students, class, teachers, professors, doctors, hall, classroom, subject, science, break, lesson]
|
||||
version: "1.22"
|
||||
unicode: "ecf7"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M22 9l-10 -4l-10 4l10 4l10 -4v6" />
|
||||
<path d="M6 10.6v5.4a6 3 0 0 0 12 0v-5.4" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 462 B |
22
static/icons/social/substack.svg
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<!--
|
||||
tags: [newspaper, article, news, file, paper, text, record, information]
|
||||
category: Document
|
||||
version: "1.0"
|
||||
unicode: "eafd"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M16 6h3a1 1 0 0 1 1 1v11a2 2 0 0 1 -4 0v-13a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1v12a3 3 0 0 0 3 3h11" />
|
||||
<path d="M8 8l4 0" />
|
||||
<path d="M8 12l4 0" />
|
||||
<path d="M8 16l4 0" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 528 B |
19
static/icons/social/threads.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
tags: [textile, discussion, conversation, needlework, clothing, forum, dialogue, social, sewing, fabric]
|
||||
category: Brand
|
||||
version: "2.25"
|
||||
unicode: "fb02"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M19 7.5c-1.333 -3 -3.667 -4.5 -7 -4.5c-5 0 -8 2.5 -8 9s3.5 9 8 9s7 -3 7 -5s-1 -5 -7 -5c-2.5 0 -3 1.25 -3 2.5c0 1.5 1 2.5 2.5 2.5c2.5 0 3.5 -1.5 3.5 -5s-2 -4 -3 -4s-1.833 .333 -2.5 1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 567 B |
19
static/icons/social/tiktok.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
tags: [logo, app, application, mobile, video, music, brand, tiktok, company, trademark]
|
||||
category: Brand
|
||||
version: "1.13"
|
||||
unicode: "ec73"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M21 7.917v4.034a9.948 9.948 0 0 1 -5 -1.951v4.5a6.5 6.5 0 1 1 -8 -6.326v4.326a2.5 2.5 0 1 0 4 2v-11.5h4.083a6.005 6.005 0 0 0 4.917 4.917" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 506 B |
23
static/icons/social/website.svg
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<!--
|
||||
tags: [earth, globe, global, language, union, world, location, navigation, geography, place]
|
||||
category: Map
|
||||
version: "1.0"
|
||||
unicode: "eb54"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0" />
|
||||
<path d="M3.6 9h16.8" />
|
||||
<path d="M3.6 15h16.8" />
|
||||
<path d="M11.5 3a17 17 0 0 0 0 18" />
|
||||
<path d="M12.5 3a17 17 0 0 1 0 18" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 542 B |
20
static/icons/social/x.svg
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<!--
|
||||
tags: [twitter, brand, logo, company, trademark, identity, corporate, business, x]
|
||||
category: Brand
|
||||
version: "2.29"
|
||||
unicode: "fc0f"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M4 4l11.733 16h4.267l-11.733 -16l-4.267 0" />
|
||||
<path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 463 B |
20
static/icons/social/youtube.svg
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<!--
|
||||
tags: [logo, platform, channel, film, video, youtuber, maker, comments, stream, streamer]
|
||||
category: Brand
|
||||
version: "1.15"
|
||||
unicode: "ec90"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8" />
|
||||
<path d="M10 9l5 3l-5 3l0 -6" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 482 B |