diff options
| author | Tolmachev Igor <me@igorek.dev> | 2025-09-28 19:54:06 +0300 |
|---|---|---|
| committer | Tolmachev Igor <me@igorek.dev> | 2025-09-28 19:54:06 +0300 |
| commit | 56ff63a455d36f0cae3a08e508675fd607e6ca4b (patch) | |
| tree | 6b4fe30176be227c9319ff0e4625fa8985d2a9d1 | |
| parent | 45a8f14d336fe9372f8d1461c830d66f94a7c7b2 (diff) | |
| download | pages-56ff63a455d36f0cae3a08e508675fd607e6ca4b.tar.gz pages-56ff63a455d36f0cae3a08e508675fd607e6ca4b.zip | |
Improve project page
| -rw-r--r-- | index.html | 8 | ||||
| -rw-r--r-- | projects/index.html | 126 | ||||
| -rw-r--r-- | style.css | 40 |
3 files changed, 130 insertions, 44 deletions
| @@ -23,7 +23,8 @@ | |||
| 23 | Welcome to | 23 | Welcome to |
| 24 | <a href="https://codeberg.org/igorechek06/pages">my page</a> | 24 | <a href="https://codeberg.org/igorechek06/pages">my page</a> |
| 25 | </h1> | 25 | </h1> |
| 26 | 26 | </main> | |
| 27 | <section> | ||
| 27 | <h2>About me</h2> | 28 | <h2>About me</h2> |
| 28 | I'm a second-year student at | 29 | I'm a second-year student at |
| 29 | <a href="https://en.itmo.ru">ITMO University</a>, studying | 30 | <a href="https://en.itmo.ru">ITMO University</a>, studying |
| @@ -34,7 +35,8 @@ | |||
| 34 | I use Arch, btw</a | 35 | I use Arch, btw</a |
| 35 | >. I am interested in various fields, from systems programming, robotics, and computer | 36 | >. I am interested in various fields, from systems programming, robotics, and computer |
| 36 | vision to web applications and technologies. | 37 | vision to web applications and technologies. |
| 37 | 38 | </section> | |
| 39 | <section> | ||
| 38 | <h2>Socials</h2> | 40 | <h2>Socials</h2> |
| 39 | <ul> | 41 | <ul> |
| 40 | <li> | 42 | <li> |
| @@ -66,6 +68,6 @@ | |||
| 66 | <a href="https://github.com/igorechek06"> https://github.com/igorechek06 </a> | 68 | <a href="https://github.com/igorechek06"> https://github.com/igorechek06 </a> |
| 67 | </li> | 69 | </li> |
| 68 | </ul> | 70 | </ul> |
| 69 | </main> | 71 | </section> |
| 70 | </body> | 72 | </body> |
| 71 | </html> | 73 | </html> |
diff --git a/projects/index.html b/projects/index.html index 2fe7e87..0b212e1 100644 --- a/projects/index.html +++ b/projects/index.html | |||
| @@ -18,32 +18,104 @@ | |||
| 18 | <a href="/projects" class="current">~/projects</a> | 18 | <a href="/projects" class="current">~/projects</a> |
| 19 | </nav> | 19 | </nav> |
| 20 | 20 | ||
| 21 | <main> | 21 | <section> |
| 22 | <h1>My projects</h1> | 22 | <h2>async-crypto-pay-api <i class="nf nf-dev-python"></i></h2> |
| 23 | <ul> | 23 | <span> |
| 24 | <li> | 24 | Lightweight async wrapper for the |
| 25 | <a href="https://pypi.org/project/async-crypto-pay-api/" | 25 | <a href="https://t.me/CryptoBot">@CryptoBot</a> api |
| 26 | >async_crypto_pay_api</a | 26 | </span> |
| 27 | > | 27 | <div class="links"> |
| 28 | - lightweight async wrapper for | 28 | <a href="https://help.send.tg/en/articles/10279948-crypto-pay-api"> |
| 29 | <a href="https://t.me/CryptoBot">@CryptoBot</a> api | 29 | <i class="nf nf-dev-git"></i> Source code |
| 30 | </li> | 30 | </a> |
| 31 | <li> | 31 | <a href="https://pypi.org/project/async-crypto-pay-api/"> |
| 32 | <a href="https://codeberg.org/igorechek06/minecraft_http_whitelist" | 32 | <i class="nf nf-dev-python"></i> PyPI |
| 33 | >minecraft_http_whitelist</a | 33 | </a> |
| 34 | > | 34 | <a href="https://help.send.tg/en/articles/10279948-crypto-pay-api"> |
| 35 | - http API server written in pure Python for whitelist management | 35 | <i class="nf nf-fa-book"></i> Docs |
| 36 | </li> | 36 | </a> |
| 37 | <li> | 37 | </div> |
| 38 | <a href="https://codeberg.org/igorechek06/video2story">video2story</a> - Python | 38 | </section> |
| 39 | utility for cutting and uploading large videos in telegram stories | 39 | |
| 40 | </li> | 40 | <section> |
| 41 | <li> | 41 | <h2>Minecraft HTTP whitelist <i class="nf nf-dev-python"></i></h2> |
| 42 | <a href="https://github.com/ThePollify/">Pollify</a> - interactive poll charts | 42 | <span> |
| 43 | for your presentation (MVP) | 43 | An HTTP API server written in pure Python for managing a Minecraft whitelist |
| 44 | </li> | 44 | </span> |
| 45 | </ul> | 45 | <div class="links"> |
| 46 | <h2>... and other stupid programs I wrote</h2> | 46 | <a href="https://codeberg.org/igorechek06/minecraft_http_whitelist"> |
| 47 | </main> | 47 | <i class="nf nf-dev-git"></i> Source code |
| 48 | </a> | ||
| 49 | </div> | ||
| 50 | </section> | ||
| 51 | |||
| 52 | <section> | ||
| 53 | <h2>FunnyPineappleBot a.k.a KarpovAI <i class="nf nf-dev-python"></i></h2> | ||
| 54 | <span>A simple Telegram bot using a Markov chain-based text generator</span> | ||
| 55 | <div class="links"> | ||
| 56 | <a href="https://github.com/funny-pineapples/FunnyPineappleBot"> | ||
| 57 | <i class="nf nf-dev-git"></i> Source code | ||
| 58 | </a> | ||
| 59 | <a href="https://t.me/KarpovAIBot"> | ||
| 60 | <i class="nf nf-fa-telegram"></i> Telegram bot | ||
| 61 | </a> | ||
| 62 | </div> | ||
| 63 | </section> | ||
| 64 | |||
| 65 | <section> | ||
| 66 | <h2>video2story <i class="nf nf-dev-python"></i></h2> | ||
| 67 | <span>A Python utility for cutting and uploading large videos to Telegram Stories</span> | ||
| 68 | <div class="links"> | ||
| 69 | <a href="https://codeberg.org/igorechek06/video2story"> | ||
| 70 | <i class="nf nf-dev-git"></i> Source code | ||
| 71 | </a> | ||
| 72 | <a href="https://pypi.org/project/video2story/"> | ||
| 73 | <i class="nf nf-dev-python"></i> PyPI | ||
| 74 | </a> | ||
| 75 | </div> | ||
| 76 | </section> | ||
| 77 | |||
| 78 | <section> | ||
| 79 | <h2>Pollify <i class="nf nf-dev-python"></i></h2> | ||
| 80 | <span>Interactive poll charts for your presentation (MVP)</span> | ||
| 81 | <div class="links"> | ||
| 82 | <a href="https://github.com/ThePollify"> | ||
| 83 | <i class="nf nf-dev-git"></i> Project organization | ||
| 84 | </a> | ||
| 85 | </div> | ||
| 86 | </section> | ||
| 87 | |||
| 88 | <section> | ||
| 89 | <h2>Archivator <i class="nf nf-dev-rust"></i></h2> | ||
| 90 | <span> | ||
| 91 | A universal archive library for all popular formats (work in progress, only reading | ||
| 92 | of zip files is currently supported) | ||
| 93 | </span> | ||
| 94 | <div class="links"> | ||
| 95 | <a href="https://github.com/ThePollify/"> | ||
| 96 | <i class="nf nf-dev-git"></i> Source code | ||
| 97 | </a> | ||
| 98 | </div> | ||
| 99 | </section> | ||
| 100 | |||
| 101 | <section> | ||
| 102 | <h2>ITMO queue service (server) <i class="nf nf-dev-rust"></i></h2> | ||
| 103 | <span> | ||
| 104 | A queue service for lab work (the website and Telegram bot are under development) | ||
| 105 | </span> | ||
| 106 | <div class="links"> | ||
| 107 | <a href="https://codeberg.org/igorechek06/itmo_queue_server"> | ||
| 108 | <i class="nf nf-dev-git"></i> Source code | ||
| 109 | </a> | ||
| 110 | <a href="https://codeberg.org/igorechek06/itmo_queue_server"> | ||
| 111 | <i class="nf nf-md-web"></i> Website | ||
| 112 | </a> | ||
| 113 | <a href="https://codeberg.org/igorechek06/itmo_queue_server"> | ||
| 114 | <i class="nf nf-fa-book"></i> Docs | ||
| 115 | </a> | ||
| 116 | </div> | ||
| 117 | </section> | ||
| 118 | |||
| 119 | <footer><h2>... and more</h2></footer> | ||
| 48 | </body> | 120 | </body> |
| 49 | </html> | 121 | </html> |
| @@ -1,4 +1,5 @@ | |||
| 1 | @import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wdth,wght@0,62.5..100,100..900;1,62.5..100,100..900&display=swap"); | 1 | @import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wdth,wght@0,62.5..100,100..900;1,62.5..100,100..900&display=swap"); |
| 2 | @import "https://www.nerdfonts.com/assets/css/webfont.css"; | ||
| 2 | 3 | ||
| 3 | @media (prefers-color-scheme: light) { | 4 | @media (prefers-color-scheme: light) { |
| 4 | :root { | 5 | :root { |
| @@ -65,23 +66,28 @@ nav > * { | |||
| 65 | } | 66 | } |
| 66 | 67 | ||
| 67 | nav > .current { | 68 | nav > .current { |
| 68 | background-color: var(--color-primary); | 69 | outline: 0.1rem solid var(--color-primary); |
| 69 | color: var(--color-on-primary); | ||
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | main { | 72 | main, |
| 73 | section, | ||
| 74 | footer { | ||
| 73 | background-color: var(--color-surface-container); | 75 | background-color: var(--color-surface-container); |
| 74 | border-radius: 2rem; | 76 | border-radius: 2rem; |
| 75 | 77 | ||
| 76 | margin: 1rem 0 5rem 0; | 78 | margin: 1rem 0; |
| 77 | padding: 1.5rem; | 79 | padding: 1.5rem; |
| 78 | } | 80 | } |
| 79 | 81 | ||
| 80 | main > *:first-child { | 82 | main > :first-child, |
| 83 | section > :first-child, | ||
| 84 | footer > :first-child { | ||
| 81 | margin-top: 0; | 85 | margin-top: 0; |
| 82 | } | 86 | } |
| 83 | 87 | ||
| 84 | main > *:last-child { | 88 | main > :last-child, |
| 89 | section > :last-child, | ||
| 90 | footer > :last-child { | ||
| 85 | margin-bottom: 0; | 91 | margin-bottom: 0; |
| 86 | } | 92 | } |
| 87 | 93 | ||
| @@ -96,16 +102,22 @@ a, | |||
| 96 | } | 102 | } |
| 97 | 103 | ||
| 98 | ul { | 104 | ul { |
| 99 | padding-left: 1.5rem; | 105 | list-style: none; |
| 106 | padding-left: 0; | ||
| 100 | } | 107 | } |
| 101 | 108 | ||
| 102 | input { | 109 | .links { |
| 103 | background: none; | 110 | display: flex; |
| 104 | color: var(--color-primary); | 111 | gap: 1rem; |
| 105 | border: none; | 112 | } |
| 106 | 113 | ||
| 107 | width: 10rem; | 114 | .links > a { |
| 115 | flex: 1; | ||
| 116 | |||
| 117 | text-align: center; | ||
| 118 | margin-top: 1rem; | ||
| 119 | padding: 0.25rem; | ||
| 108 | 120 | ||
| 109 | border-bottom: 0.01rem solid var(--color-primary); | 121 | border: 0.1rem solid var(--color-primary); |
| 110 | font-size: 1rem; | 122 | border-radius: 1rem; |
| 111 | } | 123 | } |
