mirror of
https://github.com/welpo/tabi.git
synced 2025-10-11 07:46:15 +02:00
2 lines
No EOL
17 KiB
HTML
2 lines
No EOL
17 KiB
HTML
<!doctype html><html lang=en><head><meta charset=UTF-8><meta content="default-src 'self';font-src 'self' data:;img-src 'self' https://* data:;media-src 'self' https://cdn.jsdelivr.net/;style-src 'self';frame-src player.vimeo.com https://www.youtube-nocookie.com;connect-src 'self' https://tabi-stats.osc.garden;script-src 'self' https://tabi-stats.osc.garden 'self'" http-equiv=Content-Security-Policy><meta content="width=device-width,initial-scale=1.0" name=viewport><meta content=https://welpo.github.io/tabi name=base><title>
|
|
~/tabi • Projects</title><link href=https://welpo.github.io/tabi/img/seedling.png rel=icon type=image/png><link href='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y="50%" x="50%" dominant-baseline="central" text-anchor="middle" font-size="88">🌱</text></svg>' rel=icon><link title="~/tabi - Atom Feed" href=https://welpo.github.io/tabi/atom.xml rel=alternate type=application/atom+xml><link href="https://welpo.github.io/tabi/custom_subset.css?h=0b9535a28bc3d5bf2321" rel=stylesheet><link href="https://welpo.github.io/tabi/main.css?h=e9648e8ea2820aa9b15b" rel=stylesheet><meta content="light dark" name=color-scheme><meta content=#087e96 name=theme-color><meta content="tabi is an accessible Zola theme with search, multi-language support, optional JavaScript, a perfect Lighthouse score, and comprehensive documentation. Crafted for personal websites and blogs." name=description><meta content="tabi is an accessible Zola theme with search, multi-language support, optional JavaScript, a perfect Lighthouse score, and comprehensive documentation. Crafted for personal websites and blogs." property=og:description><meta content=~/tabi property=og:title><meta content=article property=og:type><meta content="https://welpo.github.io/tabi/projects/projects.jpg?h=a73344fb325a4d4664f1" property=og:image><meta content=1400 property=og:image:width><meta content=800 property=og:image:height><meta content="https://welpo.github.io/tabi/projects/projects.jpg?h=a73344fb325a4d4664f1" name=twitter:image><meta content=summary_large_image name=twitter:card><meta content=en_GB property=og:locale:alternate><link href=https://welpo.github.io/tabi/projects/ hreflang=en rel=alternate><meta content=ar_SA property=og:locale:alternate><link href=https://welpo.github.io/tabi/ar/projects/ hreflang=ar rel=alternate><meta content=ca_ES property=og:locale:alternate><link href=https://welpo.github.io/tabi/ca/projects/ hreflang=ca rel=alternate><meta content=es_ES property=og:locale:alternate><link href=https://welpo.github.io/tabi/es/projects/ hreflang=es rel=alternate><meta content=https://welpo.github.io/tabi/projects/ property=og:url><meta content=~/tabi property=og:site_name><noscript><link href=https://welpo.github.io/tabi/no_js.css rel=stylesheet></noscript><script src=https://welpo.github.io/tabi/js/initializeTheme.min.js></script><script defer src=https://welpo.github.io/tabi/js/themeSwitcher.min.js></script><script async data-goatcounter=https://tabi-stats.osc.garden/count src=https://tabi-stats.osc.garden/count.js></script><script src="https://welpo.github.io/tabi/js/searchElasticlunr.min.js?h=3626c0ef99daa745b31e" defer></script><body><header><nav class=navbar><div class=nav-title><a class=home-title href=https://welpo.github.io/tabi/>~/tabi</a></div><div class=nav-navs><ul><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/blog/>blog </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/archive/>archive </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/tags/>tags </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/projects/>projects </a><li class=menu-icons-container><ul class=menu-icons-group><li class="js menu-icon"><div aria-label="Click or press $SHORTCUT to open search" class="search-icon interactive-icon" title="Click or press $SHORTCUT to open search" id=search-button role=button tabindex=0><svg viewbox="0 -960 960 960" xmlns=http://www.w3.org/2000/svg><path d="M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z"/></svg></div><li class=language-switcher><details class=dropdown><summary aria-label="Language selection" title="Language selection" aria-haspopup=true role=button><div class=language-switcher-icon></div></summary> <div class=dropdown-content role=menu>English<a aria-label=Español href=https://welpo.github.io/tabi/es/projects/ lang=es role=menuitem>Español</a><a aria-label=Català href=https://welpo.github.io/tabi/ca/projects/ lang=ca role=menuitem>Català</a><a aria-label=العربية href=https://welpo.github.io/tabi/ar/projects/ lang=ar role=menuitem>العربية</a></div></details><li class="theme-switcher-wrapper js"><div aria-label="Toggle dark mode" title="Toggle dark/light mode" aria-pressed=false class=theme-switcher role=button tabindex=0></div><div aria-label="Reset mode to default" class="theme-resetter arrow" title="Reset mode to default" aria-hidden=true role=button tabindex=0></div></ul></ul></div></nav></header><div class=content><h1 class="title-container section-title bottom-divider">Projects</h1><main><ul aria-label="Project filters" class=filter-controls role=group><li class="taxonomy-item no-hover-padding"><a class="no-hover-padding active" data-filter=all href=https://welpo.github.io/tabi/projects id=all-projects-filter>All projects</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=cli href=https://welpo.github.io/tabi/tags/cli/>CLI</a><li class="taxonomy-item no-hover-padding"><a data-filter="continuous integration" class=no-hover-padding href=https://welpo.github.io/tabi/tags/continuous-integration/>Continuous Integration</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=git href=https://welpo.github.io/tabi/tags/git/>Git</a><li class="taxonomy-item no-hover-padding"><a data-filter="github actions" class=no-hover-padding href=https://welpo.github.io/tabi/tags/github-actions/>GitHub Actions</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=japanese href=https://welpo.github.io/tabi/tags/japanese/>Japanese</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=javascript href=https://welpo.github.io/tabi/tags/javascript/>JavaScript</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=pwa href=https://welpo.github.io/tabi/tags/pwa/>PWA</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=python href=https://welpo.github.io/tabi/tags/python/>Python</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=rust href=https://welpo.github.io/tabi/tags/rust/>Rust</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=automation href=https://welpo.github.io/tabi/tags/automation/>automation</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=backend href=https://welpo.github.io/tabi/tags/backend/>backend</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=bash href=https://welpo.github.io/tabi/tags/bash/>bash</a><li class="taxonomy-item no-hover-padding"><a data-filter="data analysis" class=no-hover-padding href=https://welpo.github.io/tabi/tags/data-analysis/>data analysis</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=interactive href=https://welpo.github.io/tabi/tags/interactive/>interactive</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=linguistics href=https://welpo.github.io/tabi/tags/linguistics/>linguistics</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=media href=https://welpo.github.io/tabi/tags/media/>media</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=music href=https://welpo.github.io/tabi/tags/music/>music</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=privacy href=https://welpo.github.io/tabi/tags/privacy/>privacy</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=productivity href=https://welpo.github.io/tabi/tags/productivity/>productivity</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=sleep href=https://welpo.github.io/tabi/tags/sleep/>sleep</a><li class="taxonomy-item no-hover-padding"><a class=no-hover-padding data-filter=web href=https://welpo.github.io/tabi/tags/web/>web</a><li class="taxonomy-item no-hover-padding"><a data-filter="web app" class=no-hover-padding href=https://welpo.github.io/tabi/tags/web-app/>web app</a></ul><script src="https://welpo.github.io/tabi/js/filterCards.min.js?h=f6354573c71e1b3ca9df" defer></script><div class=cards><a data-tags="git,rust,continuous integration,github actions,cli,automation" class=card href=https://welpo.github.io/tabi/projects/git-sumi/> <img alt=projects/git-sumi/git-sumi_logo.webp class=card-image height=300 src=https://welpo.github.io/tabi/projects/git-sumi/git-sumi_logo.webp width=300> <div class=card-info><h2 class=card-title>git-sumi</h2><div class=card-description>The non-opinionated Rust-based commit message linter.</div></div> </a><a class=card data-tags=web,javascript,privacy,backend href=https://welpo.github.io/tabi/projects/iine/> <img alt=projects/iine/iine_logo.webp class=card-image height=938 src=https://welpo.github.io/tabi/projects/iine/iine_logo.webp width=938> <div class=card-info><h2 class=card-title>iine</h2><div class=card-description>Privacy-focused & accessible like buttons for the small web.</div></div> </a><a class=card data-tags=python,media,linguistics,cli href=https://welpo.github.io/tabi/projects/shuku/> <img alt=projects/shuku/shuku_logo.webp class=card-image height=300 src=https://welpo.github.io/tabi/projects/shuku/shuku_logo.webp width=300> <div class=card-info><h2 class=card-title>shuku</h2><div class=card-description>Shrink media to keep only the dialogue. For immersion language learning.</div></div> </a><a data-tags="github actions,automation,python" class=card href=https://welpo.github.io/tabi/projects/doteki/> <img alt=projects/doteki/doteki_logo.webp class=card-image height=300 src=https://welpo.github.io/tabi/projects/doteki/doteki_logo.webp width=300> <div class=card-info><h2 class=card-title>dōteki</h2><div class=card-description>Add dynamic content to your GitHub profile through an intuitive plugin system.</div></div> </a><a data-tags="sleep,interactive,web app,web,javascript" class=card href=https://welpo.github.io/tabi/projects/nemui/> <img alt=projects/nemui/nemui_logo.webp class=card-image height=537 src=https://welpo.github.io/tabi/projects/nemui/nemui_logo.webp width=537> <div class=card-info><h2 class=card-title>nemui</h2><div class=card-description>Gradually adjust your sleep schedule with support for DST transitions.</div></div> </a><a data-tags="interactive,productivity,web app,web,javascript" class=card href=https://welpo.github.io/tabi/projects/zutsu/> <img alt=projects/zutsu/zutsu_logo.webp class=card-image height=400 src=https://welpo.github.io/tabi/projects/zutsu/zutsu_logo.webp width=400> <div class=card-info><h2 class=card-title>zutsu</h2><div class=card-description>A private minimalist task management app.</div></div> </a><a data-tags="japanese,interactive,web app,web,pwa,javascript" class=card href=https://welpo.github.io/tabi/projects/ramu/> <img alt=projects/ramu/ramu_logo.webp class=card-image height=500 src=https://welpo.github.io/tabi/projects/ramu/ramu_logo.webp width=500> <div class=card-info><h2 class=card-title>ramu</h2><div class=card-description>A web app to practice reading and listening to Japanese numbers.</div></div> </a><a class=card data-tags=web,javascript href=https://welpo.github.io/tabi/projects/tabi/> <img alt=projects/tabi/tabi.webp class=card-image height=1153 src=https://welpo.github.io/tabi/projects/tabi/tabi.webp width=1153> <div class=card-info><h2 class=card-title>tabi</h2><div class=card-description>A feature-rich modern Zola theme with first-class multi-language support.</div></div> </a><a data-tags="music,interactive,web app,web,javascript,data analysis" class=card href=https://welpo.github.io/tabi/projects/streaming-royalties-calculator/> <img alt=projects/streaming-royalties-calculator/streaming-royalties-calculator_logo.webp class=card-image height=400 src=https://welpo.github.io/tabi/projects/streaming-royalties-calculator/streaming-royalties-calculator_logo.webp width=400> <div class=card-info><h2 class=card-title>Streaming Royalties Calculator</h2><div class=card-description>A tool to calculate streaming royalties for musicians.</div></div> </a><a class=card data-tags=bash,cli href=https://welpo.github.io/tabi/projects/nani/> <img alt=projects/nani/nani_logo.webp class=card-image height=628 src=https://welpo.github.io/tabi/projects/nani/nani_logo.webp width=627> <div class=card-info><h2 class=card-title>nani</h2><div class=card-description>Bash script to create public URLs from files or text on remote servers.</div></div> </a></div></main></div><footer><section><nav class="socials nav-navs"><ul><li><a class="nav-links no-hover-padding social" href=https://welpo.github.io/tabi/atom.xml> <img alt=feed loading=lazy src=https://welpo.github.io/tabi/social_icons/rss.svg title=feed> </a><li class=js><a class="nav-links no-hover-padding social" data-encoded-email=dGFiaUBvc2MuZ2FyZGVu href=#><img alt=email loading=lazy src=https://welpo.github.io/tabi/social_icons/email.svg title=email> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://github.com/welpo/> <img alt=github loading=lazy src=https://welpo.github.io/tabi/social_icons/github.svg title=github> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://soundcloud.com/oskerwyld> <img alt=soundcloud loading=lazy src=https://welpo.github.io/tabi/social_icons/soundcloud.svg title=soundcloud> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://instagram.com/oskerwyld> <img alt=instagram loading=lazy src=https://welpo.github.io/tabi/social_icons/instagram.svg title=instagram> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://youtube.com/@oskerwyld> <img alt=youtube loading=lazy src=https://welpo.github.io/tabi/social_icons/youtube.svg title=youtube> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://open.spotify.com/artist/5Hv2bYBhMp1lUHFri06xkE> <img alt=spotify loading=lazy src=https://welpo.github.io/tabi/social_icons/spotify.svg title=spotify> </a></ul></nav><nav class=nav-navs><small> <ul><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/about/> about </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/privacy/> privacy policy </a><li><a class="nav-links no-hover-padding" href=https://tabi-stats.osc.garden/> site statistics </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/sitemap.xml> sitemap </a></ul> </small></nav><div class=credits><small> Powered by <a href=https://www.getzola.org>Zola</a> & <a href=https://github.com/welpo/tabi>tabi</a> • <a href=https://github.com/welpo/tabi> Site source </a></small></div></section><script async src=https://welpo.github.io/tabi/js/decodeMail.min.js></script><div class="search-modal js" aria-labelledby=modalTitle id=searchModal role=dialog><h1 class=visually-hidden id=modalTitle>Search</h1><div id=modal-content><div id=searchBar><div aria-hidden=true class=search-icon><svg viewbox="0 -960 960 960" xmlns=http://www.w3.org/2000/svg><path d="M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z"/></svg></div><input aria-controls=results-container aria-expanded=false autocomplete=off id=searchInput placeholder=Search… role=combobox spellcheck=false><div class="close-icon interactive-icon" title="Clear search" id=clear-search role=button tabindex=0><svg viewbox="0 -960 960 960" xmlns=http://www.w3.org/2000/svg><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg></div></div><div id=results-container><div id=results-info><span id=zero_results> No results</span><span id=one_results> $NUMBER result</span><span id=many_results> $NUMBER results</span><span id=two_results> $NUMBER results</span><span id=few_results> $NUMBER results</span></div><div id=results role=listbox></div></div></div></div></footer> |