Add files to repos
10
themes/tabi/content/projects/_index.ar.md
Normal file
@@ -0,0 +1,10 @@
|
||||
+++
|
||||
title = "مشاريعي"
|
||||
sort_by = "weight"
|
||||
template = "cards.html"
|
||||
insert_anchor_links = "right"
|
||||
|
||||
[extra]
|
||||
show_reading_time = false
|
||||
quick_navigation_buttons = true
|
||||
+++
|
||||
11
themes/tabi/content/projects/_index.ca.md
Normal file
@@ -0,0 +1,11 @@
|
||||
+++
|
||||
title = "Projectes"
|
||||
sort_by = "weight"
|
||||
template = "cards.html"
|
||||
insert_anchor_links = "left"
|
||||
|
||||
[extra]
|
||||
social_media_card = "projects/ca_projects.jpg"
|
||||
show_reading_time = false
|
||||
quick_navigation_buttons = true
|
||||
+++
|
||||
11
themes/tabi/content/projects/_index.es.md
Normal file
@@ -0,0 +1,11 @@
|
||||
+++
|
||||
title = "Proyectos"
|
||||
sort_by = "weight"
|
||||
template = "cards.html"
|
||||
insert_anchor_links = "left"
|
||||
|
||||
[extra]
|
||||
social_media_card = "projects/es_projects.jpg"
|
||||
show_reading_time = false
|
||||
quick_navigation_buttons = true
|
||||
+++
|
||||
11
themes/tabi/content/projects/_index.md
Normal file
@@ -0,0 +1,11 @@
|
||||
+++
|
||||
title = "Projects"
|
||||
sort_by = "weight"
|
||||
template = "cards.html"
|
||||
insert_anchor_links = "left"
|
||||
|
||||
[extra]
|
||||
social_media_card = "projects/projects.jpg"
|
||||
show_reading_time = false
|
||||
quick_navigation_buttons = true
|
||||
+++
|
||||
BIN
themes/tabi/content/projects/ca_projects.jpg
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
themes/tabi/content/projects/doteki/doteki_logo.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
60
themes/tabi/content/projects/doteki/index.ca.md
Normal file
@@ -0,0 +1,60 @@
|
||||
+++
|
||||
title = "dōteki"
|
||||
description = "Afegeix contingut dinàmic al teu perfil de GitHub amb un sistema intuïtiu de plugins."
|
||||
weight = 30
|
||||
|
||||
[taxonomies]
|
||||
tags = ["GitHub Actions", "automatització", "Python"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/doteki/doteki_logo.webp"
|
||||
social_media_card = "social_cards/projects_doteki.jpg"
|
||||
canonical_url = "https://osc.garden/ca/projects/doteki/"
|
||||
+++
|
||||
|
||||
**dōteki** actualitza el teu perfil de GitHub automàticament. Afegeix les teves últimes publicacions del blog, la música que escoltes o qualsevol altre contingut dinàmic mitjançant plugins.
|
||||
|
||||

|
||||
|
||||
#### [GitHub](https://github.com/welpo/doteki) • [Lloc web](https://doteki.org/) • [Documentació](https://doteki.org/docs/) {.centered-text}
|
||||
|
||||
## Com funciona
|
||||
|
||||
1. Afegeix marcadors al teu README:
|
||||
|
||||
```md,name=README.md
|
||||
<!-- blog start -->
|
||||
<!-- blog end -->
|
||||
```
|
||||
|
||||
2. Configura què hi va:
|
||||
|
||||
```toml,name=doteki.toml
|
||||
[sections.blog]
|
||||
plugin = "feed"
|
||||
url = "https://osc.garden/atom.xml" # Substitueix amb el teu feed.
|
||||
|
||||
[sections.last_updated]
|
||||
plugin = "current_date"
|
||||
inline = true
|
||||
```
|
||||
|
||||
3. Configura l'[Acció de GitHub](https://github.com/welpo/doteki-action).
|
||||
|
||||
Això és tot! El teu README s'actualitzarà automàticament.
|
||||
|
||||
## Característiques
|
||||
|
||||
- **Sistema de plugins**: Mostra [entrades del blog](https://doteki.org/docs/plugins/feed), [música](https://doteki.org/docs/plugins/lastfm), o [crea el teu propi plugin](https://doteki.org/docs/developer-guide/plugin-standard)
|
||||
- **Configuració simple**: Un arxiu TOML, una Acció de GitHub
|
||||
- **Flexible**: Cada plugin té les seves pròpies opcions (ordre, entrades màximes, format…)
|
||||
- **[Documentació detallada](https://doteki.org/docs/)**: Informació detallada sobre com configurar i utilitzar **dōteki** i els seus plugins. Inclou [instruccions clares per als desenvolupadors](https://doteki.org/docs/developer-guide/) que vulguin contribuir.
|
||||
|
||||
## Documentació
|
||||
|
||||
Consulta la [documentació](https://doteki.org/docs/) per a:
|
||||
|
||||
- [Guia d'inici](https://doteki.org/docs/)
|
||||
- [Plugins disponibles](https://doteki.org/docs/category/plugins)
|
||||
- [Desenvolupament de plugins](https://doteki.org/docs/developer-guide/)
|
||||
- [Opcions de configuració](https://doteki.org/docs/configuration/)
|
||||
60
themes/tabi/content/projects/doteki/index.es.md
Normal file
@@ -0,0 +1,60 @@
|
||||
+++
|
||||
title = "dōteki"
|
||||
description = "Añade contenido dinámico a tu perfil de GitHub con un sistema intuitivo de plugins."
|
||||
weight = 30
|
||||
|
||||
[taxonomies]
|
||||
tags = ["GitHub Actions", "automatización", "Python"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/doteki/doteki_logo.webp"
|
||||
social_media_card = "social_cards/projects_doteki.jpg"
|
||||
canonical_url = "https://osc.garden/es/projects/doteki/"
|
||||
+++
|
||||
|
||||
**dōteki** actualiza tu perfil de GitHub automáticamente. Añade tus últimas publicaciones del blog, la música que escuchas o cualquier otro contenido dinámico mediante plugins.
|
||||
|
||||

|
||||
|
||||
#### [GitHub](https://github.com/welpo/doteki) • [Sitio web](https://doteki.org/) • [Documentación](https://doteki.org/docs/) {.centered-text}
|
||||
|
||||
## Cómo funciona
|
||||
|
||||
1. Añade marcadores a tu README:
|
||||
|
||||
```md,name=README.md
|
||||
<!-- blog start -->
|
||||
<!-- blog end -->
|
||||
```
|
||||
|
||||
2. Configura qué va ahí:
|
||||
|
||||
```toml,name=doteki.toml
|
||||
[sections.blog]
|
||||
plugin = "feed"
|
||||
url = "https://osc.garden/atom.xml" # Reemplaza con tu feed.
|
||||
|
||||
[sections.last_updated]
|
||||
plugin = "current_date"
|
||||
inline = true
|
||||
```
|
||||
|
||||
3. Configura la [Acción de GitHub](https://github.com/welpo/doteki-action).
|
||||
|
||||
¡Eso es todo! Tu README se actualizará automáticamente.
|
||||
|
||||
## Características
|
||||
|
||||
- **Sistema de plugins**: Muestra [entradas del blog](https://doteki.org/docs/plugins/feed), [música](https://doteki.org/docs/plugins/lastfm), o [crea tu propio plugin](https://doteki.org/docs/developer-guide/plugin-standard)
|
||||
- **Configuración simple**: Un archivo TOML, una Acción de GitHub
|
||||
- **Flexible**: Cada plugin tiene sus propias opciones (orden, entradas máximas, formato…)
|
||||
- **[Documentación detallada](https://doteki.org/docs/)**: Información detallada sobre cómo configurar y usar **dōteki** y sus plugins. Incluye [instrucciones claras para los desarrolladores](https://doteki.org/docs/developer-guide/) que quieran contribuir.
|
||||
|
||||
## Documentación
|
||||
|
||||
Consulta la [documentación](https://doteki.org/docs/) para:
|
||||
|
||||
- [Guía de inicio rápido](https://doteki.org/docs/)
|
||||
- [Plugins disponibles](https://doteki.org/docs/category/plugins)
|
||||
- [Desarrollo de plugins](https://doteki.org/docs/developer-guide/)
|
||||
- [Opciones de configuración](https://doteki.org/docs/configuration/)
|
||||
60
themes/tabi/content/projects/doteki/index.md
Normal file
@@ -0,0 +1,60 @@
|
||||
+++
|
||||
title = "dōteki"
|
||||
description = "Add dynamic content to your GitHub profile through an intuitive plugin system."
|
||||
weight = 30
|
||||
|
||||
[taxonomies]
|
||||
tags = ["GitHub Actions", "automation", "Python"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/doteki/doteki_logo.webp"
|
||||
social_media_card = "social_cards/projects_doteki.jpg"
|
||||
canonical_url = "https://osc.garden/projects/doteki/"
|
||||
+++
|
||||
|
||||
**dōteki** updates your GitHub profile README automatically. Add your latest blog posts, music you're listening to, or any other dynamic content using plugins.
|
||||
|
||||

|
||||
|
||||
#### [GitHub](https://github.com/welpo/doteki) • [Website](https://doteki.org/) • [Documentation](https://doteki.org/docs/) {.centered-text}
|
||||
|
||||
## How it works
|
||||
|
||||
1. Add markers to your README:
|
||||
|
||||
```md,name=README.md
|
||||
<!-- blog start -->
|
||||
<!-- blog end -->
|
||||
```
|
||||
|
||||
2. Configure what goes there:
|
||||
|
||||
```toml,name=doteki.toml
|
||||
[sections.blog]
|
||||
plugin = "feed"
|
||||
url = "https://osc.garden/atom.xml" # Replace with your feed.
|
||||
|
||||
[sections.last_updated]
|
||||
plugin = "current_date"
|
||||
inline = true
|
||||
```
|
||||
|
||||
3. Set up the [GitHub Action](https://github.com/welpo/doteki-action).
|
||||
|
||||
That's it! Your README will stay updated automatically.
|
||||
|
||||
## Features
|
||||
|
||||
- **Plugin system**: Show [blog posts](https://doteki.org/docs/plugins/feed), [music](https://doteki.org/docs/plugins/lastfm), or [build your own plugin](https://doteki.org/docs/developer-guide/plugin-standard)
|
||||
- **Simple setup**: One TOML file, one GitHub Action
|
||||
- **Flexible**: Each plugin has its own options (sort order, max entries, format…)
|
||||
- **[Extensive documentation](https://doteki.org/docs/)**: Detailed information on how to set up and use **dōteki** and its plugins. It includes [clear instructions for developers](https://doteki.org/docs/developer-guide/) looking to contribute.
|
||||
|
||||
## Documentation
|
||||
|
||||
Check the [docs](https://doteki.org/docs/) for:
|
||||
|
||||
- [Getting started guide](https://doteki.org/docs/)
|
||||
- [Available plugins](https://doteki.org/docs/category/plugins)
|
||||
- [Plugin development](https://doteki.org/docs/developer-guide/)
|
||||
- [Configuration options](https://doteki.org/docs/configuration/)
|
||||
|
After Width: | Height: | Size: 261 KiB |
BIN
themes/tabi/content/projects/es_projects.jpg
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
themes/tabi/content/projects/git-sumi/git-sumi_logo.webp
Normal file
|
After Width: | Height: | Size: 22 KiB |
33
themes/tabi/content/projects/git-sumi/index.ca.md
Normal file
@@ -0,0 +1,33 @@
|
||||
+++
|
||||
title = "git-sumi"
|
||||
description = "El linter de missatges de commit no opinat basat en Rust."
|
||||
weight = 10
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Git", "Rust", "Continuous Integration", "GitHub Actions", "CLI", "automatització"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/git-sumi/git-sumi_logo.webp"
|
||||
social_media_card = "social_cards/projects_git-sumi.jpg"
|
||||
canonical_url = "https://osc.garden/ca/projects/git-sumi/"
|
||||
+++
|
||||
|
||||
**git-sumi** és el linter de missatges de commit no opinat escrit en Rust.
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="https://cdn.jsdelivr.net/gh/welpo/git-sumi@main/assets/git-sumi_demo.mp4" title="demo de git-sumi"></video>
|
||||
{% end %}
|
||||
|
||||
#### [GitHub](https://github.com/welpo/git-sumi) • [Lloc web](https://sumi.rs/) • [Documentació](https://sumi.rs/docs/) {.centered-text}
|
||||
|
||||
## Característiques principals
|
||||
|
||||
- **Regles personalitzables**: Configura regles per a Conventional Commits, límits de longitud, ús de [Gitmoji](https://gitmoji.dev/) i [més](https://sumi.rs/docs/rules).
|
||||
- **Informe d'errors clar**: Proporciona errors detallats, fent que la correcció sigui senzilla i educativa.
|
||||
- **Integració senzilla**: Com a binari únic, git-sumi s'integra fàcilment al teu flux de treball. També pots fer servir l'[Acció de GitHub](https://github.com/welpo/git-sumi-action) per validar commits (o títols de PR) sense instal·lar res.
|
||||
|
||||
## Bones pràctiques de desenvolupament
|
||||
|
||||
- **Cobertura de codi**: 98% de cobertura en tests; un linter ha de ser fiable.
|
||||
- **[Integració](https://github.com/welpo/git-sumi/blob/main/.github/workflows/ci.yml) i [publicació](https://github.com/welpo/git-sumi/blob/main/.github/workflows/release.yml) contínua**: Fluxos automatitzats per a testing i publicació de binaris multiplataforma a crates.io, PyPI i GitHub releases.
|
||||
- **Documentació**: [Documentació completa](https://sumi.rs/docs/) amb [guia ràpida](https://sumi.rs/docs/), [exemples](https://sumi.rs/docs/examples), [regles](https://sumi.rs/docs/rules), [integració](https://sumi.rs/docs/integration), [FAQ](https://sumi.rs/docs/faq)...
|
||||
33
themes/tabi/content/projects/git-sumi/index.es.md
Normal file
@@ -0,0 +1,33 @@
|
||||
+++
|
||||
title = "git-sumi"
|
||||
description = "El linter de mensajes de commit no opinado basado en Rust."
|
||||
weight = 10
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Git", "Rust", "Continuous Integration", "GitHub Actions", "CLI", "automatización"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/git-sumi/git-sumi_logo.webp"
|
||||
social_media_card = "social_cards/projects_git-sumi.jpg"
|
||||
canonical_url = "https://osc.garden/es/projects/git-sumi/"
|
||||
+++
|
||||
|
||||
**git-sumi** es el linter de mensajes de commit no opinado escrito en Rust.
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="https://cdn.jsdelivr.net/gh/welpo/git-sumi@main/assets/git-sumi_demo.mp4" title="git-sumi demo"></video>
|
||||
{% end %}
|
||||
|
||||
#### [GitHub](https://github.com/welpo/git-sumi) • [Sitio web](https://sumi.rs/) • [Documentación](https://sumi.rs/docs/) {.centered-text}
|
||||
|
||||
## Características principales
|
||||
|
||||
- **Reglas personalizables**: Configura reglas para [Conventional Commits](https://www.conventionalcommits.org/), límites de longitud, uso de [Gitmoji](https://gitmoji.dev/) y [más](https://sumi.rs/docs/rules).
|
||||
- **Reporte de errores claro**: Proporciona errores detallados, haciendo que la corrección sea sencilla y educativa.
|
||||
- **Integración sencilla**: Al ser único binario, git-sumi se integra fácilmente en tu flujo de trabajo. Puedes usar la [Acción de GitHub](https://github.com/welpo/git-sumi-action) para validar commits (o títulos de PR) sin instalar nada.
|
||||
|
||||
## Buenas prácticas de desarrollo
|
||||
|
||||
- **Cobertura de código**: 98% de cobertura de código; un linter debe ser robusto.
|
||||
- **[Integración](https://github.com/welpo/git-sumi/blob/main/.github/workflows/ci.yml) y [publicación](https://github.com/welpo/git-sumi/blob/main/.github/workflows/release.yml) continua**: Flujos automatizados para testing y publicación de binarios multiplataforma en crates.io, PyPI y GitHub releases.
|
||||
- **Documentación**: [Documentación completa](https://sumi.rs/docs/) con [guía rápida](https://sumi.rs/docs/), [ejemplos](https://sumi.rs/docs/examples), [reglas](https://sumi.rs/docs/rules), [integración](https://sumi.rs/docs/integration), [FAQ](https://sumi.rs/docs/faq)...
|
||||
33
themes/tabi/content/projects/git-sumi/index.md
Normal file
@@ -0,0 +1,33 @@
|
||||
+++
|
||||
title = "git-sumi"
|
||||
description = "The non-opinionated Rust-based commit message linter."
|
||||
weight = 10
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Git", "Rust", "Continuous Integration", "GitHub Actions", "CLI", "automation"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/git-sumi/git-sumi_logo.webp"
|
||||
social_media_card = "social_cards/projects_git-sumi.jpg"
|
||||
canonical_url = "https://osc.garden/projects/git-sumi/"
|
||||
+++
|
||||
|
||||
**git-sumi** is the non-opinionated commit message linter written in Rust.
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="https://cdn.jsdelivr.net/gh/welpo/git-sumi@main/assets/git-sumi_demo.mp4" title="git-sumi demo"></video>
|
||||
{% end %}
|
||||
|
||||
#### [GitHub](https://github.com/welpo/git-sumi) • [Website](https://sumi.rs/) • [Documentation](https://sumi.rs/docs/) {.centered-text}
|
||||
|
||||
## Main features
|
||||
|
||||
- **Customizable rules**: Configure rules to enforce [Conventional Commits](https://www.conventionalcommits.org/), length limits, [Gitmoji](https://gitmoji.dev/) usage, and [more](https://sumi.rs/docs/rules).
|
||||
- **Clear error reporting**: Provides detailed error reporting, making fixing commit messages straightforward and educational.
|
||||
- **Seamless integration**: As a single binary, git-sumi easily integrates into your existing workflow with minimal setup. You can even use the [GitHub Action](https://github.com/welpo/git-sumi-action) to lint your commits (or PR titles) without installing anything.
|
||||
|
||||
## Development best practices
|
||||
|
||||
- **Comprehensive code coverage**: 98% test coverage; linting needs to be reliable.
|
||||
- **Continuous [integration](https://github.com/welpo/git-sumi/blob/main/.github/workflows/ci.yml) and [deployment](https://github.com/welpo/git-sumi/blob/main/.github/workflows/release.yml)**: Automated workflows for testing and releasing cross-compiled binaries to crates.io, PyPI and GitHub releases.
|
||||
- **Documentation**: [Comprehensive documentation](https://sumi.rs/docs/) with a [quick start guide](https://sumi.rs/docs/), [examples](https://sumi.rs/docs/examples), [rules](https://sumi.rs/docs/rules), [integration](https://sumi.rs/docs/integration), [FAQ](https://sumi.rs/docs/faq)…
|
||||
|
After Width: | Height: | Size: 160 KiB |
85
themes/tabi/content/projects/nani/index.ca.md
Normal file
@@ -0,0 +1,85 @@
|
||||
+++
|
||||
title = "nani"
|
||||
description = "Script Bash per crear URLs públiques a partir d'arxius o text en servidors remots."
|
||||
weight = 50
|
||||
|
||||
[taxonomies]
|
||||
tags = ["bash", "CLI"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/nani/nani_logo.webp"
|
||||
canonical_url = "https://osc.garden/ca/projects/tabi/"
|
||||
social_media_card = "social_cards/ca_projects_nani.jpg"
|
||||
+++
|
||||
|
||||
Si treballes en un servidor remot, saps que compartir arxius amb altres persones pot ser un procés feixuc. `nani` és un script en Bash dissenyat per simplificar aquesta tasca. Amb una sola comanda, pots convertir arxius locals o URLs en enllaços accessibles, facilitant el procés de compartir directament des del teu servidor.
|
||||
|
||||
[](https://github.com/welpo/nani/)
|
||||
|
||||
#### [Veure a GitHub](https://github.com/welpo/nani) {.centered-text}
|
||||
|
||||
## Característiques clau
|
||||
|
||||
- **Tot tipus d'arxius**: gestiona directoris, arxius FLAC, arxius de text i fins i tot URLs a vídeos.
|
||||
- **Personalitzable**: adapta els ajustos editant l'script o un arxiu de configuració.
|
||||
- **Notificacions**: notificacions a l'escriptori i integració amb el portaretrats per a una millor experiència.
|
||||
|
||||
## Inici ràpid
|
||||
|
||||
1. Col·loca `nani` en un directori dins del teu PATH.
|
||||
2. Fes que l'script sigui executable.
|
||||
|
||||
Per a passos d'instal·lació més detallats, [consulta la documentació completa](https://github.com/welpo/nani#-install).
|
||||
|
||||
## Ús
|
||||
|
||||
```bash
|
||||
$ nani Ruta/A/foto.png
|
||||
https://example.com/nani/hjRGLZB.png
|
||||
```
|
||||
|
||||
Compartir un directori mantenint el seu nom original:
|
||||
|
||||
```bash
|
||||
$ nani -o Ruta/A/Directori
|
||||
https://example.com/nani/Directori.zip
|
||||
```
|
||||
|
||||
Pots configurar diverses opcions a través dels paràmetres. Aquí tens la sortida de `nani --help`:
|
||||
|
||||
{% wide_container() %}
|
||||
|
||||
```
|
||||
Usage: nani [options] <infile>
|
||||
Provides public URL from input.
|
||||
|
||||
Input handling:
|
||||
Directory Will be stored using zip (or symbolic link)
|
||||
FLAC Can be transcoded to MP3
|
||||
Text (html, php...) Extension can be set to .txt
|
||||
Other files New copy/hard link/symbolic link at output directory
|
||||
URL to video (e.g: youtube) Downloaded using yt-dlp
|
||||
Other URLs Downloaded using wget
|
||||
|
||||
Modify the first lines of the script to change how nani behaves: quiet mode,
|
||||
enabling/disabling transcoding, length of the string, extension truncation...
|
||||
|
||||
Settings and options:
|
||||
-a, --alias Revert the hard link setting
|
||||
-c, --cleanup Remove all files on /nani/ except index.html
|
||||
-h, --help Display this help and exit
|
||||
-i, --insert Open nano to enter text. Saved in output directory as .txt
|
||||
-k, --keep Output dir becomes /nani/k/, to set different cleanup rules
|
||||
-l, --list List files in output directory /nani/
|
||||
-n, --name Use custom name (e.g. nani -n DesiredName <file>)
|
||||
-N, --notify Revert the notify option
|
||||
-o, --original Preserve original file name
|
||||
-p, --push Send push notification
|
||||
-q, --quiet Revert the quiet setting
|
||||
-s, --string Force a certain string length (e.g. nani -s 32 <file>)
|
||||
-t, --transcode Revert the transcode setting
|
||||
-x, --xclip Revert the xclip setting
|
||||
-y, --symbolic Create a symbolic link for files and directories
|
||||
```
|
||||
|
||||
{% end %}
|
||||
84
themes/tabi/content/projects/nani/index.es.md
Normal file
@@ -0,0 +1,84 @@
|
||||
+++
|
||||
title = "nani"
|
||||
description = "Script Bash para crear URLs públicas a partir de archivos o texto en servidores remotos."
|
||||
weight = 50
|
||||
|
||||
[taxonomies]
|
||||
tags = ["bash", "CLI"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/nani/nani_logo.webp"
|
||||
canonical_url = "https://osc.garden/es/projects/tabi/"
|
||||
social_media_card = "social_cards/es_projects_nani.jpg"
|
||||
+++
|
||||
|
||||
Si trabajas en un servidor remoto, sabrás que compartir archivos con otras personas puede ser un proceso tedioso. `nani` es un script en Bash diseñado para simplificar esta tarea. Con un solo comando, puedes convertir archivos locales en enlaces públicos, facilitando el proceso de compartir directamente desde tu servidor.
|
||||
|
||||
[](https://github.com/welpo/nani/)
|
||||
|
||||
#### [Ver en GitHub](https://github.com/welpo/nani) {.centered-text}
|
||||
|
||||
## Características clave
|
||||
|
||||
- **Todo tipo de archivos**: maneja directorios, archivos FLAC, archivos de texto e incluso URLs a vídeos.
|
||||
- **Personalizable**: adapta los ajustes editando el script o un archivo de configuración.
|
||||
- **Notificaciones**: notificaciones en el escritorio e integración con el portapapeles para una mejor experiencia.
|
||||
|
||||
## Inicio rápido
|
||||
|
||||
1. Coloca `nani` en un directorio dentro de tu PATH.
|
||||
2. Haz el script ejecutable.
|
||||
|
||||
Para pasos de instalación más detallados, [consulta la documentación completa](https://github.com/welpo/nani#-install).
|
||||
|
||||
## Uso
|
||||
|
||||
```bash
|
||||
$ nani Ruta/A/foto.png
|
||||
https://example.com/nani/hjRGLZB.png
|
||||
```
|
||||
|
||||
Compartir un directorio manteniendo su nombre original:
|
||||
|
||||
```bash
|
||||
$ nani -o Ruta/A/Directorio
|
||||
https://example.com/nani/Directorio.zip
|
||||
```
|
||||
|
||||
Puedes configurar varias opciones a través de los parámetros. Aquí tienes la salida de `nani` --help:
|
||||
{% wide_container() %}
|
||||
|
||||
```
|
||||
Usage: nani [options] <infile>
|
||||
Provides public URL from input.
|
||||
|
||||
Input handling:
|
||||
Directory Will be stored using zip (or symbolic link)
|
||||
FLAC Can be transcoded to MP3
|
||||
Text (html, php...) Extension can be set to .txt
|
||||
Other files New copy/hard link/symbolic link at output directory
|
||||
URL to video (e.g: youtube) Downloaded using yt-dlp
|
||||
Other URLs Downloaded using wget
|
||||
|
||||
Modify the first lines of the script to change how nani behaves: quiet mode,
|
||||
enabling/disabling transcoding, length of the string, extension truncation...
|
||||
|
||||
Settings and options:
|
||||
-a, --alias Revert the hard link setting
|
||||
-c, --cleanup Remove all files on /nani/ except index.html
|
||||
-h, --help Display this help and exit
|
||||
-i, --insert Open nano to enter text. Saved in output directory as .txt
|
||||
-k, --keep Output dir becomes /nani/k/, to set different cleanup rules
|
||||
-l, --list List files in output directory /nani/
|
||||
-n, --name Use custom name (e.g. nani -n DesiredName <file>)
|
||||
-N, --notify Revert the notify option
|
||||
-o, --original Preserve original file name
|
||||
-p, --push Send push notification
|
||||
-q, --quiet Revert the quiet setting
|
||||
-s, --string Force a certain string length (e.g. nani -s 32 <file>)
|
||||
-t, --transcode Revert the transcode setting
|
||||
-x, --xclip Revert the xclip setting
|
||||
-y, --symbolic Create a symbolic link for files and directories
|
||||
```
|
||||
|
||||
{% end %}
|
||||
85
themes/tabi/content/projects/nani/index.md
Normal file
@@ -0,0 +1,85 @@
|
||||
+++
|
||||
title = "nani"
|
||||
description = "Bash script to create public URLs from files or text on remote servers."
|
||||
weight = 50
|
||||
|
||||
[taxonomies]
|
||||
tags = ["bash", "CLI"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/nani/nani_logo.webp"
|
||||
canonical_url = "https://osc.garden/projects/tabi/"
|
||||
social_media_card = "social_cards/projects_nani.jpg"
|
||||
+++
|
||||
|
||||
If you're working on a remote server, you know that sharing files with others can often involve multiple steps. `nani` is a Bash script designed to streamline this process. By executing a single command, you can convert local files or URLs into accessible links, allowing for easier sharing right from your server.
|
||||
|
||||
[](https://github.com/welpo/nani/)
|
||||
|
||||
#### [View on GitHub](https://github.com/welpo/nani) {.centered-text}
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Multiple File Types**: Handles directories, FLAC files, text files, and even URLs to videos.
|
||||
- **Customisable**: Tailor settings via a config file or runtime flags.
|
||||
- **Notifications**: Desktop notifications and clipboard integration for a better experience.
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Place `nani` in a directory within your PATH.
|
||||
2. Make the script executable.
|
||||
|
||||
For detailed installation steps, [read the full documentation](https://github.com/welpo/nani#-install).
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
$ nani Path/To/picture.png
|
||||
https://example.com/nani/hjRGLZB.png
|
||||
```
|
||||
|
||||
**Share a directory keeping its original name**:
|
||||
|
||||
```bash
|
||||
$ nani -o Path/To/Directory
|
||||
https://example.com/nani/Directory.zip
|
||||
```
|
||||
|
||||
Additional control is available through flags. Here's the output of `nani --help`:
|
||||
|
||||
{% wide_container() %}
|
||||
|
||||
```
|
||||
Usage: nani [options] <infile>
|
||||
Provides public URL from input.
|
||||
|
||||
Input handling:
|
||||
Directory Will be stored using zip (or symbolic link)
|
||||
FLAC Can be transcoded to MP3
|
||||
Text (html, php...) Extension can be set to .txt
|
||||
Other files New copy/hard link/symbolic link at output directory
|
||||
URL to video (e.g: youtube) Downloaded using yt-dlp
|
||||
Other URLs Downloaded using wget
|
||||
|
||||
Modify the first lines of the script to change how nani behaves: quiet mode,
|
||||
enabling/disabling transcoding, length of the string, extension truncation...
|
||||
|
||||
Settings and options:
|
||||
-a, --alias Revert the hard link setting
|
||||
-c, --cleanup Remove all files on /nani/ except index.html
|
||||
-h, --help Display this help and exit
|
||||
-i, --insert Open nano to enter text. Saved in output directory as .txt
|
||||
-k, --keep Output dir becomes /nani/k/, to set different cleanup rules
|
||||
-l, --list List files in output directory /nani/
|
||||
-n, --name Use custom name (e.g. nani -n DesiredName <file>)
|
||||
-N, --notify Revert the notify option
|
||||
-o, --original Preserve original file name
|
||||
-p, --push Send push notification
|
||||
-q, --quiet Revert the quiet setting
|
||||
-s, --string Force a certain string length (e.g. nani -s 32 <file>)
|
||||
-t, --transcode Revert the transcode setting
|
||||
-x, --xclip Revert the xclip setting
|
||||
-y, --symbolic Create a symbolic link for files and directories
|
||||
```
|
||||
|
||||
{% end %}
|
||||
BIN
themes/tabi/content/projects/nani/nani_logo.webp
Normal file
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 63 KiB |
BIN
themes/tabi/content/projects/nani/social_cards/projects_nani.jpg
Normal file
|
After Width: | Height: | Size: 63 KiB |
35
themes/tabi/content/projects/nemui/index.ca.md
Normal file
@@ -0,0 +1,35 @@
|
||||
+++
|
||||
title = "nemui"
|
||||
description = "Ajusta gradualment el teu horari de son amb suport per horari d'estiu."
|
||||
weight = 22
|
||||
|
||||
[taxonomies]
|
||||
tags = ["son", "interactiu", "web app", "web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/nemui/nemui_logo.webp"
|
||||
canonical_url = "https://osc.garden/ca/projects/tabi/"
|
||||
social_media_card = "social_cards/projects_nemui.jpg"
|
||||
+++
|
||||
|
||||
nemui és una aplicació web que t'ajuda a fer una transició suau a un nou horari de son. El seu nom ve de les paraules japoneses per dormir (<ruby>眠<rt>nemu</rt></ruby>) i transició (<ruby>移<rt>i</rt></ruby>), que es llegeix com <ruby>眠い<rt>nemui</rt></ruby> (somnolent).
|
||||
|
||||
#### [Prova-la ara](https://nemui.osc.garden) • [GitHub](https://github.com/welpo/nemui) • [Blog](https://osc.garden/ca/blog/nemui-sleep-schedule-planner/) {.centered-text}
|
||||
|
||||
## Característiques
|
||||
|
||||
- Interfície interactiva de rellotge inspirada en Apple
|
||||
- Ajust gradual de l'horari de son basat en la ciència del son
|
||||
- Suport complet per a l'horari d'estiu (DST)
|
||||
- Exportació a calendari (.ics) amb recordatoris per anar a dormir
|
||||
- Emmagatzematge local per seguir el teu progrés
|
||||
- Accessible: compatible amb navegació per teclat i lectors de pantalla
|
||||
|
||||
## Per què nemui?
|
||||
|
||||
A diferència dels canvis bruscos que poden alterar el teu ritme circadià, nemui t'ajuda a ajustar el teu horari de son de manera gradual. És especialment útil per a:
|
||||
|
||||
- Adaptar-te a nous horaris de feina/estudi
|
||||
- Preparar-te per a canvis de zona horària
|
||||
- Fer una transició suau durant els canvis d'hora
|
||||
- Corregir un horari de son desajustat
|
||||
35
themes/tabi/content/projects/nemui/index.es.md
Normal file
@@ -0,0 +1,35 @@
|
||||
+++
|
||||
title = "nemui"
|
||||
description = "Ajusta gradualmente tu horario de sueño con soporte para horario de verano."
|
||||
weight = 32
|
||||
|
||||
[taxonomies]
|
||||
tags = ["sueño", "interactivo", "web app", "web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/nemui/nemui_logo.webp"
|
||||
canonical_url = "https://osc.garden/es/projects/tabi/"
|
||||
social_media_card = "social_cards/projects_nemui.jpg"
|
||||
+++
|
||||
|
||||
nemui es una aplicación web que te ayuda a hacer una transición suave a un nuevo horario de sueño. Su nombre viene de las palabras japonesas para dormir (<ruby>眠<rt>nemu</rt></ruby>) y transición (<ruby>移<rt>i</rt></ruby>), que se lee como <ruby>眠い<rt>nemui</rt></ruby> (somnoliento).
|
||||
|
||||
#### [Pruébala ahora](https://nemui.osc.garden) • [GitHub](https://github.com/welpo/nemui) • [Blog](https://osc.garden/es/blog/nemui-sleep-schedule-planner/) {.centered-text}
|
||||
|
||||
## Características
|
||||
|
||||
- Interfaz interactiva de reloj inspirada en Apple
|
||||
- Ajuste gradual del horario de sueño basado en la ciencia del sueño
|
||||
- Soporte completo para el horario de verano (DST)
|
||||
- Exportación a calendario (.ics) con recordatorios para dormir
|
||||
- Almacenamiento local para seguir tu progreso
|
||||
- Accesible: compatible con navegación por teclado y lectores de pantalla
|
||||
|
||||
## ¿Por qué nemui?
|
||||
|
||||
A diferencia de los cambios bruscos que pueden alterar tu ritmo circadiano, nemui te ayuda a ajustar tu horario de sueño de forma gradual. Es especialmente útil para:
|
||||
|
||||
- Adaptarte a nuevos horarios de trabajo/estudio
|
||||
- Prepararte para cambios de zona horaria
|
||||
- Hacer una transición suave durante los cambios de hora
|
||||
- Corregir un horario de sueño desajustado
|
||||
35
themes/tabi/content/projects/nemui/index.md
Normal file
@@ -0,0 +1,35 @@
|
||||
+++
|
||||
title = "nemui"
|
||||
description = "Gradually adjust your sleep schedule with support for DST transitions."
|
||||
weight = 32
|
||||
|
||||
[taxonomies]
|
||||
tags = ["sleep", "interactive", "web app", "web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/nemui/nemui_logo.webp"
|
||||
canonical_url = "https://osc.garden/projects/tabi/"
|
||||
social_media_card = "social_cards/projects_nemui.jpg"
|
||||
+++
|
||||
|
||||
nemui is a web app that helps you smoothly transition to a new sleep schedule. Named after the Japanese words for sleep (<ruby>眠<rt>nemu</rt></ruby>) and transition (<ruby>移<rt>i</rt></ruby>), reading as <ruby>眠い<rt>nemui</rt></ruby> (sleepy).
|
||||
|
||||
#### [Try it now](https://nemui.osc.garden) • [GitHub](https://github.com/welpo/nemui) • [Blog post](https://osc.garden/blog/nemui-sleep-schedule-planner/) {.centered-text}
|
||||
|
||||
## Features
|
||||
|
||||
- Interactive clock interface inspired by Apple
|
||||
- Gradual sleep schedule adjustment based on sleep science
|
||||
- Full Daylight Saving Time (DST) support
|
||||
- Calendar (.ics) export with bedtime reminders
|
||||
- Local storage for progress tracking
|
||||
- Accessible: supports keyboard navigation and screen readers
|
||||
|
||||
## Why nemui?
|
||||
|
||||
Unlike abrupt changes that can disrupt your circadian rhythm, nemui helps you adjust your sleep schedule gradually. It's particularly useful for:
|
||||
|
||||
- Adapting to new work/study schedules
|
||||
- Preparing for timezone changes
|
||||
- Smoothly transitioning through DST changes
|
||||
- Fixing a misaligned sleep schedule
|
||||
BIN
themes/tabi/content/projects/nemui/nemui_logo.webp
Normal file
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 100 KiB |
BIN
themes/tabi/content/projects/projects.jpg
Normal file
|
After Width: | Height: | Size: 43 KiB |
33
themes/tabi/content/projects/ramu/index.ca.md
Normal file
@@ -0,0 +1,33 @@
|
||||
+++
|
||||
title = "ramu"
|
||||
description = "Una aplicació web per practicar la lectura i comprensió auditiva de nombres en japonès."
|
||||
weight = 35
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Japonès", "interactiu", "web app", "web", "PWA", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/ramu/ramu_logo.webp"
|
||||
canonical_url = "https://osc.garden/ca/projects/ramu/"
|
||||
social_media_card = "social_cards/projects_ramu.jpg"
|
||||
+++
|
||||
|
||||
<ruby>ラ<rt>ra</rt>ム<rt>mu</rt></ruby> és una aplicació web progressiva per practicar la lectura i comprensió auditiva de nombres en japonès. El nom reflecteix el seu propòsit: aconseguir accès aleatori (RAM; memòria d'accés aleatori) als nombres, en contraposició a una memòria seqüencial (1, 2, 3…).
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="media/ラム_demo.mp4" title="demo de ramu"></video>
|
||||
{% end %}
|
||||
|
||||
#### [Prova-la ara](https://ramu.osc.garden) • [GitHub](https://github.com/welpo/ramu) • [Article](https://osc.garden/ca/blog/ramu-japanese-numbers-practice-web-app/) {.centered-text}
|
||||
|
||||
## Característiques
|
||||
|
||||
- Pràctica amb nombres aràbics (123…) i japonesos (一二三…)
|
||||
- Dos modes de pràctica: lectura i comprensió auditiva
|
||||
- Rangs numèrics configurables (des de 0 fins a més de 100.000.000)
|
||||
- Pràctica de comptadors (個、本、匹…)
|
||||
- Funciona sense connexió com a aplicació web progressiva
|
||||
- Control complet per teclat (<kbd>espai</kbd>/<kbd>→</kbd> per següent, <kbd>esc</kbd> per aturar)
|
||||
- Compatible amb lectors de pantalla per a la pràctica amb nombres aràbics
|
||||
|
||||
[](https://ramu.osc.garden)
|
||||
33
themes/tabi/content/projects/ramu/index.es.md
Normal file
@@ -0,0 +1,33 @@
|
||||
+++
|
||||
title = "ramu"
|
||||
description = "Una aplicación web para practicar la lectura y comprensión auditiva de números en japonés."
|
||||
weight = 35
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Japonés", "interactivo", "web app", "web", "PWA", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/ramu/ramu_logo.webp"
|
||||
canonical_url = "https://osc.garden/es/projects/ramu/"
|
||||
social_media_card = "social_cards/projects_ramu.jpg"
|
||||
+++
|
||||
|
||||
<ruby>ラ<rt>ra</rt>ム<rt>mu</rt></ruby> es una aplicación web progresiva para practicar la lectura y comprensión auditiva de números en japonés. El nombre refleja su propósito: lograr acceso aleatorio (RAM; memoria de acceso aleatorio) a los números, en contraposición a una memoria secuencial (1, 2, 3…).
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="media/ラム_demo.mp4" title="demo de ramu"></video>
|
||||
{% end %}
|
||||
|
||||
#### [Pruébala ahora](https://ramu.osc.garden) • [GitHub](https://github.com/welpo/ramu) • [Artículo](https://osc.garden/es/blog/ramu-japanese-numbers-practice-web-app/) {.centered-text}
|
||||
|
||||
## Características
|
||||
|
||||
- Práctica con números arábigos (123…) y japoneses (一二三…)
|
||||
- Dos modos de práctica: lectura y comprensión auditiva
|
||||
- Rangos numéricos configurables (desde 0 hasta más de 100.000.000)
|
||||
- Práctica de contadores (個、本、匹…)
|
||||
- Funciona sin conexión como aplicación web progresiva
|
||||
- Control por teclado (<kbd>espacio</kbd>/<kbd>→</kbd> para siguiente, <kbd>esc</kbd> para detener)
|
||||
- Compatible con lectores de pantalla para la práctica con números arábigos
|
||||
|
||||
[](https://ramu.osc.garden)
|
||||
33
themes/tabi/content/projects/ramu/index.md
Normal file
@@ -0,0 +1,33 @@
|
||||
+++
|
||||
title = "ramu"
|
||||
description = "A web app to practice reading and listening to Japanese numbers."
|
||||
weight = 35
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Japanese", "interactive", "web app", "web", "PWA", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/ramu/ramu_logo.webp"
|
||||
canonical_url = "https://osc.garden/projects/ramu/"
|
||||
social_media_card = "social_cards/projects_ramu.jpg"
|
||||
+++
|
||||
|
||||
<ruby>ラ<rt>ra</rt>ム<rt>mu</rt></ruby> is a Progressive Web App to practice reading and listening to Japanese numbers. The name reflects its purpose: achieving RAM (Random Access Memory) to numbers, as opposed to sequential memory (1, 2, 3…).
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="media/ラム_demo.mp4" title="ramu demo"></video>
|
||||
{% end %}
|
||||
|
||||
#### [Try it now](https://ramu.osc.garden) • [GitHub](https://github.com/welpo/ramu) • [Blog post](https://osc.garden/blog/ramu-japanese-numbers-practice-web-app/) {.centered-text}
|
||||
|
||||
## Features
|
||||
|
||||
- Practice with both Arabic (123…) and Japanese (一二三…) numerals
|
||||
- Two practice modes: reading and listening comprehension
|
||||
- Configurable number ranges (from 0 to over 100,000,000)
|
||||
- Counter word practice (個、本、匹…)
|
||||
- Works offline as a Progressive Web App
|
||||
- Full keyboard control (<kbd>space</kbd>/<kbd>→</kbd> for next, <kbd>esc</kbd> to stop)
|
||||
- Screen reader friendly for Arabic numeral practice
|
||||
|
||||
[](https://ramu.osc.garden)
|
||||
BIN
themes/tabi/content/projects/ramu/media/ラム_demo.mp4
Normal file
BIN
themes/tabi/content/projects/ramu/ramu_logo.webp
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
themes/tabi/content/projects/ramu/social_cards/projects_ramu.jpg
Normal file
|
After Width: | Height: | Size: 167 KiB |
48
themes/tabi/content/projects/shuku/index.ca.md
Normal file
@@ -0,0 +1,48 @@
|
||||
+++
|
||||
title = "shuku"
|
||||
description = "Condensa pel·lícules i sèries per quedar-te només amb el diàleg. Dissenyat per aprendre idiomes."
|
||||
weight = 20
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Python", "media", "linguistics", "CLI"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/shuku/shuku_logo.webp"
|
||||
social_media_card = "social_cards/projects_shuku.jpg"
|
||||
canonical_url = "https://osc.garden/ca/projects/shuku/"
|
||||
+++
|
||||
|
||||
**shuku** (<ruby><rb>縮</rb><rt>しゅく</rt></ruby><ruby><rb>小</rb><rt>しょう</rt></ruby>: «minificació») crea versions condensades de pel·lícules i sèries conservant només els diàlegs.
|
||||
|
||||
<video class="invertible-image" controls muted width="800" loop="true" autoplay="autoplay" title="demo de shuku" src="https://cdn.jsdelivr.net/gh/welpo/shuku/assets/animation_demo/shuku_demo.mov"></video>
|
||||
|
||||
#### [GitHub](https://github.com/welpo/shuku) • [Blog](https://osc.garden/ca/blog/shuku-condensed-media-language-learning/) • [Documentació](https://github.com/welpo/shuku#readme) • [PyPI](https://pypi.org/project/shuku/) {.centered-text}
|
||||
|
||||
## Característiques
|
||||
|
||||
### Gestió intel·ligent de continguts
|
||||
|
||||
- Detecció i correspondència automàtica de subtítols amb cerca difusa (fuzzy matching)
|
||||
- Selecció intel·ligent de pistes d'àudio/subtítols
|
||||
- Extracció de metadades (títol, temporada, número d'episodi)
|
||||
|
||||
### Output flexible
|
||||
|
||||
- Àudio condensat (MP3, FLAC, AAC, Opus…)
|
||||
- Vídeo condensat
|
||||
- Subtítols sincronitzats (SRT, ASS, o LRC per a apps tipus karaoke)
|
||||
|
||||
### Alta personalització
|
||||
|
||||
- Qualitat i còdecs d'àudio/vídeo configurables
|
||||
- Ajust de temps de subtítols i farciment
|
||||
- Filtra subtítols (efectes de so, lletres, capítols específics)
|
||||
- Suport per a arguments personalitzats de FFmpeg
|
||||
|
||||
### Experiència de l'usuari
|
||||
|
||||
- Multiplataforma: GNU+Linux, macOS i Windows
|
||||
- Logging detallat amb indicadors de progrés
|
||||
- Suport per a processament per lots
|
||||
|
||||
[](https://github.com/welpo/shuku)
|
||||
48
themes/tabi/content/projects/shuku/index.es.md
Normal file
@@ -0,0 +1,48 @@
|
||||
+++
|
||||
title = "shuku"
|
||||
description = "Condensa películas y series para quedarte solo con el diálogo. Diseñado para aprender idiomas."
|
||||
weight = 20
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Python", "media", "linguistics", "CLI"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/shuku/shuku_logo.webp"
|
||||
social_media_card = "social_cards/projects_shuku.jpg"
|
||||
canonical_url = "https://osc.garden/es/projects/shuku/"
|
||||
+++
|
||||
|
||||
**shuku** (<ruby><rb>縮</rb><rt>しゅく</rt></ruby><ruby><rb>小</rb><rt>しょう</rt></ruby>: «minificación») crea versiones condensadas de películas y series conservando solo los diálogos.
|
||||
|
||||
<video class="invertible-image" controls muted width="800" loop="true" autoplay="autoplay" title="demo de shuku" src="https://cdn.jsdelivr.net/gh/welpo/shuku/assets/animation_demo/shuku_demo.mov"></video>
|
||||
|
||||
#### [GitHub](https://github.com/welpo/shuku) • [Blog](https://osc.garden/es/blog/shuku-condensed-media-language-learning/) • [Documentación](https://github.com/welpo/shuku#readme) • [PyPI](https://pypi.org/project/shuku/) {.centered-text}
|
||||
|
||||
## Características
|
||||
|
||||
### Manejo inteligente de medios
|
||||
|
||||
- Detección y correspondencia automática de subtítulos con búsqueda difusa (fuzzy matching)
|
||||
- Selección inteligente de pistas de audio/subtítulos
|
||||
- Extracción de metadatos (título, temporada, número de episodio)
|
||||
|
||||
### Output flexible
|
||||
|
||||
- Audio condensado (MP3, FLAC, AAC, Opus…)
|
||||
- Video condensado
|
||||
- Subtítulos sincronizados (SRT, ASS, o LRC para apps tipo karaoke)
|
||||
|
||||
### Alta personalización
|
||||
|
||||
- Calidad y códecs de audio/video configurables
|
||||
- Ajuste de tiempo de subtítulos y relleno
|
||||
- Filtra subtítulos (efectos de sonido, letras, capítulos específicos)
|
||||
- Soporte para argumentos personalizados de FFmpeg
|
||||
|
||||
### Experiencia del usuario
|
||||
|
||||
- Multiplataforma: GNU+Linux, macOS y Windows
|
||||
- Logging detallado con indicadores de progreso
|
||||
- Soporte para procesamiento por lotes
|
||||
|
||||
[](https://github.com/welpo/shuku)
|
||||
56
themes/tabi/content/projects/shuku/index.md
Normal file
@@ -0,0 +1,56 @@
|
||||
+++
|
||||
title = "shuku"
|
||||
description = "Shrink media to keep only the dialogue. For immersion language learning."
|
||||
weight = 20
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Python", "media", "linguistics", "CLI"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/shuku/shuku_logo.webp"
|
||||
social_media_card = "social_cards/projects_shuku.jpg"
|
||||
canonical_url = "https://osc.garden/projects/shuku/"
|
||||
+++
|
||||
|
||||
**shuku** (<ruby><rb>縮</rb><rt>しゅく</rt></ruby><ruby><rb>小</rb><rt>しょう</rt></ruby>: "minification") creates condensed versions of films and TV shows by keeping only the dialogue.
|
||||
|
||||
<video class="invertible-image" controls muted width="800" loop="true" autoplay="autoplay" title="shuku demo" src="https://cdn.jsdelivr.net/gh/welpo/shuku/assets/animation_demo/shuku_demo.mov"></video>
|
||||
|
||||
#### [GitHub](https://github.com/welpo/shuku) • [Blog post](https://osc.garden/blog/shuku-condensed-media-language-learning/) • [Documentation](https://github.com/welpo/shuku#readme) • [PyPI](https://pypi.org/project/shuku/) {.centered-text}
|
||||
|
||||
## Features
|
||||
|
||||
### Smart media handling
|
||||
|
||||
- Automatic subtitle detection and matching with fuzzy search
|
||||
- Intelligent audio/subtitle track selection
|
||||
- Metadata extraction (title, season, episode number)
|
||||
|
||||
### Flexible output
|
||||
|
||||
- Condensed audio (MP3, FLAC, AAC, Opus...)
|
||||
- Condensed video
|
||||
- Synchronized subtitles (including LRC for karaoke-style review)
|
||||
- Clean filenames in output
|
||||
|
||||
### High customization
|
||||
|
||||
- Configurable audio/video quality and codecs
|
||||
- Subtitle timing adjustment and padding
|
||||
- Skip unwanted content (sound effects, lyrics, specific chapters)
|
||||
- Custom FFmpeg arguments support
|
||||
|
||||
### User experience
|
||||
|
||||
- Cross-platform: GNU+Linux, macOS, and Windows
|
||||
- Detailed logging with progress indicators
|
||||
- Batch processing support
|
||||
|
||||
## Development best practices
|
||||
|
||||
- Comprehensive testing: 100% code coverage
|
||||
- Clean code: Type-hinted Python with clear responsibilities
|
||||
- Continuous Integration/Deployment
|
||||
- Comprehensive documentation
|
||||
|
||||
[](https://github.com/welpo/shuku)
|
||||
BIN
themes/tabi/content/projects/shuku/shuku_logo.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 116 KiB |
@@ -0,0 +1,29 @@
|
||||
+++
|
||||
title = "Calculadora de royalties de streaming"
|
||||
description = "Una eina per calcular els royalties de streaming per a músics."
|
||||
weight = 45
|
||||
|
||||
[taxonomies]
|
||||
tags = ["música", "interactiu", "web app", "web", "JavaScript", "anàlisi de dades"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/streaming-royalties-calculator/streaming-royalties-calculator_logo.webp"
|
||||
canonical_url = "https://osc.garden/ca/projects/streaming-royalties-calculator/"
|
||||
social_media_card = "social_cards/ca_projects_streaming_royalties_calculator.jpg"
|
||||
+++
|
||||
|
||||
La Calculadora de royalties de streaming permet als músics estimar els seus guanys de plataformes com Spotify, Apple Music, Instagram, TikTok i més.
|
||||
|
||||
Pots introduir una quantitat objectiu de guanys per veure quantes reproduccions es necessiten a cada plataforma, o introduir el nombre de reproduccions per servei per calcular les royalties esperades. Aquí tens una captura de pantalla:
|
||||
|
||||
<a href="https://osc.garden/ca/royalties-calculator/" target="_blank">
|
||||
{{ dual_theme_image(light_src="https://cdn.jsdelivr.net/gh/welpo/osc.garden@main/content/blog/data-analysis-music-streaming/img/calculator_light.ca.webp", dark_src="https://cdn.jsdelivr.net/gh/welpo/osc.garden@main/content/blog/data-analysis-music-streaming/img/calculator_dark.ca.webp" alt="Calculadora de royalties de streaming") }}
|
||||
</a>
|
||||
|
||||
#### [Prova-la!](https://osc.garden/ca/royalties-calculator/) • [Codi font (JavaScript)](https://github.com/welpo/osc.garden/blob/main/content/pages/royalties-calculator/js/streamsMonthCalculator.js) {.centered-text}
|
||||
|
||||
## Característiques principals
|
||||
|
||||
- **Dades precises**: Basades en l'últim any de [les meves pròpies dades de royalties](https://osc.garden/ca/blog/data-analysis-music-streaming/).
|
||||
- **Múltiples plataformes**: Inclou Tidal, Spotify, Apple Music, Facebook, Deezer, TikTok i més.
|
||||
- **Modes de càlcul**: Utilitza la taxa de pagament mitjana, mediana, mínima o màxima per estimar els guanys.
|
||||
@@ -0,0 +1,29 @@
|
||||
+++
|
||||
title = "Calculadora de royalties de streaming"
|
||||
description = "Una herramienta para calcular los royalties de streaming para músicos."
|
||||
weight = 45
|
||||
|
||||
[taxonomies]
|
||||
tags = ["música", "interactivo", "web app", "web", "JavaScript", "análisis de datos"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/streaming-royalties-calculator/streaming-royalties-calculator_logo.webp"
|
||||
canonical_url = "https://osc.garden/es/projects/streaming-royalties-calculator/"
|
||||
social_media_card = "social_cards/es_projects_streaming_royalties_calculator.jpg"
|
||||
+++
|
||||
|
||||
La Calculadora de royalties de streaming permite a los músicos estimar sus ganancias de plataformas como Spotify, Apple Music, Instagram, TikTok y más.
|
||||
|
||||
Puedes introducir una cantidad objetivo de ganancias para ver cuántas reproducciones se necesitan en cada plataforma, o introducir el número de reproducciones por servicio para calcular las royalties esperadas. Aquí tienes una captura de pantalla:
|
||||
|
||||
<a href="https://osc.garden/es/royalties-calculator/" target="_blank">
|
||||
{{ dual_theme_image(light_src="https://cdn.jsdelivr.net/gh/welpo/osc.garden@main/content/blog/data-analysis-music-streaming/img/calculator_light.es.webp", dark_src="https://cdn.jsdelivr.net/gh/welpo/osc.garden@main/content/blog/data-analysis-music-streaming/img/calculator_dark.es.webp" alt="Calculadora de royalties de streaming") }}
|
||||
</a>
|
||||
|
||||
#### [¡Pruébala!](https://osc.garden/es/royalties-calculator/) • [Código fuente (JavaScript)](https://github.com/welpo/osc.garden/blob/main/content/pages/royalties-calculator/js/streamsMonthCalculator.js) {.centered-text}
|
||||
|
||||
## Características principales
|
||||
|
||||
- **Datos precisos**: Basada en el último año de [mis propios datos de royalties](https://osc.garden/es/blog/data-analysis-music-streaming/).
|
||||
- **Múltiples plataformas**: Incluye Tidal, Spotify, Apple Music, Facebook, Deezer, TikTok y más.
|
||||
- **Modos de cálculo**: Utiliza la tasa de pago media, mediana, mínima o máxima para estimar las ganancias.
|
||||
@@ -0,0 +1,29 @@
|
||||
+++
|
||||
title = "Streaming Royalties Calculator"
|
||||
description = "A tool to calculate streaming royalties for musicians."
|
||||
weight = 45
|
||||
|
||||
[taxonomies]
|
||||
tags = ["music", "interactive", "web app", "web", "JavaScript", "data analysis"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/streaming-royalties-calculator/streaming-royalties-calculator_logo.webp"
|
||||
canonical_url = "https://osc.garden/projects/streaming-royalties-calculator/"
|
||||
social_media_card = "social_cards/projects_streaming_royalties_calculator.jpg"
|
||||
+++
|
||||
|
||||
The Streaming Royalties Calculator allows musicians to estimate their earnings from platforms like Spotify, Apple Music, Instagram, TikTok, and more.
|
||||
|
||||
You can either input a target earnings amount to see how many streams are needed on each platform, or enter the number of streams per service to calculate the expected royalties. Here's a screenshot:
|
||||
|
||||
<a href="https://osc.garden/royalties-calculator/" target="_blank">
|
||||
{{ dual_theme_image(light_src="https://cdn.jsdelivr.net/gh/welpo/osc.garden@main/content/blog/data-analysis-music-streaming/img/calculator_light.webp", dark_src="https://cdn.jsdelivr.net/gh/welpo/osc.garden@main/content/blog/data-analysis-music-streaming/img/calculator_dark.webp" alt="Streaming Royalties Calculator") }}
|
||||
</a>
|
||||
|
||||
#### [Try it!](https://osc.garden/royalties-calculator/) • [JavaScript Source](https://github.com/welpo/osc.garden/blob/main/content/pages/royalties-calculator/js/streamsMonthCalculator.js) {.centered-text}
|
||||
|
||||
## Main Features
|
||||
|
||||
- **Accurate data**: Based on the last year of [my own royalties data](https://osc.garden/blog/data-analysis-music-streaming/).
|
||||
- **Multiple platforms**: Includes Tidal, Spotify, Apple Music, Facebook, Deezer, TikTok, and more.
|
||||
- **Calculation modes**: Use the mean, median, minimum or maximum values to estimate the earnings.
|
||||
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
46
themes/tabi/content/projects/tabi/index.ar.md
Normal file
@@ -0,0 +1,46 @@
|
||||
+++
|
||||
title = "تابي"
|
||||
description = "سمة زولا عصرية غنية بالمميزات مع دعم متميز لتعدد اللغات"
|
||||
weight = 40
|
||||
|
||||
[taxonomies]
|
||||
tags = ["ويب", "جافا سكريبت"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/tabi/tabi.webp"
|
||||
+++
|
||||
|
||||
[**تابي**](https://github.com/welpo/tabi) هي سمة عصرية غنية بالمميزات لـ[Zola](https://www.getzola.org/)، منشئ مواقع ثابتة سريع.
|
||||
|
||||
{{ full_width_image(src="https://cdn.jsdelivr.net/gh/welpo/tabi@main/light_dark_screenshot.png", alt="تابي في الوضعين الفاتح والداكن") }}
|
||||
|
||||
#### [عرض على GitHub](https://github.com/welpo/tabi) • [عرض توضيحي وتوثيق](https://welpo.github.io/tabi/) {.centered-text}
|
||||
|
||||
## المميزات
|
||||
|
||||
- دعم كامل [للغة العربية والكتابة من اليمين إلى اليسار](https://welpo.github.io/tabi/blog/faq-languages/#how-do-i-set-a-default-language-for-my-site)
|
||||
- [دعم للسلاسل](https://welpo.github.io/tabi/blog/series/) لإنشاء محتوى متسلسل مثل الدروس والدورات
|
||||
- سمتان داكنة وفاتحة، مع التبديل التلقائي حسب إعدادات النظام
|
||||
- [دعم التعليقات](https://welpo.github.io/tabi/blog/comments/) باستخدام giscus أو utterances أو Hyvor Talk أو Isso
|
||||
- [دعم KaTeX](https://katex.org/) للمعادلات الرياضية
|
||||
- [دعم Mermaid](https://welpo.github.io/tabi/blog/shortcodes/#mermaid-diagrams) لإنشاء المخططات
|
||||
- [بحث محلي](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#search) متعدد اللغات
|
||||
- تصميم متجاوب يعمل على جميع الأجهزة
|
||||
- [صفحة مشاريع](https://welpo.github.io/tabi/projects/) و[أرشيف](https://welpo.github.io/tabi/archive/)
|
||||
|
||||
## ممارسات التطوير
|
||||
|
||||
- **[الالتزامات التقليدية](https://www.conventionalcommits.org) و[Gitmoji](https://gitmoji.dev/)**: تتبع رسائل الالتزام تنسيقات موحدة لتحسين القراءة
|
||||
- **تتبع المشكلات**: لكل خطأ أو ميزة جديدة تذكرة مخصصة، مرتبطة بأي التزامات برمجية وطلبات سحب ذات صلة
|
||||
- **تعليقات شاملة**: يتم توثيق التذاكر بالصور ومقاطع الفيديو والأوصاف التفصيلية لتسهيل التواصل الفعال وحل المشكلات
|
||||
- **الإحالات المرجعية**: نربط جميع التذاكر بالتزامات الشفرة وطلبات السحب أو المشكلات ذات الصلة للتتبع الكامل
|
||||
|
||||
## تطور المشروع
|
||||
|
||||
تم تصميم **تابي** في الأصل لموقعي الشخصي، [osc.garden](https://osc.garden). على الرغم من أصولها للاستخدام الشخصي، تم تنفيذ أفضل الممارسات منذ البداية لضمان الجودة وقابلية الصيانة. ومنذ ذلك الحين نمت السمة لتجذب مجتمعًا نشطًا من المساهمين على GitHub.
|
||||
|
||||
## ابدأ رحلة الكتابة مع تابي
|
||||
|
||||
لديك شيء تريد قوله. ربما عن تجربتك في تعلم لغة جديدة، أو عن رحلتك في استكشاف [فن الفلامنكو](https://en.wikipedia.org/wiki/Palo_(flamenco))، أو عن كيف نجحت في حل مشكلة برمجية في مشروع مفتوح المصدر.
|
||||
|
||||
**تابي** توفر الأساس المثالي لمساحة كتابتك، مما يتيح لك التركيز على كلماتك بينما يهتم Zola وتابي بالجانب التقني. ادخل عالم التدوين مع نظام يجعل كل تدوينة متعة في الكتابة والقراءة. صوتك له قيمة—شاركه مع العالم.
|
||||
70
themes/tabi/content/projects/tabi/index.ca.md
Normal file
@@ -0,0 +1,70 @@
|
||||
+++
|
||||
title = "tabi"
|
||||
description = "Un tema de Zola ràpid, lleuger i modern amb suport multilingüe."
|
||||
weight = 40
|
||||
|
||||
[taxonomies]
|
||||
tags = ["web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/tabi/tabi.webp"
|
||||
canonical_url = "https://osc.garden/ca/projects/tabi/"
|
||||
social_media_card = "social_cards/ca_projects_tabi.jpg"
|
||||
+++
|
||||
|
||||
[**tabi**](https://github.com/welpo/tabi) és un tema modern i ric en funcionalitat per a [Zola](https://www.getzola.org/), un generador de llocs web estàtics molt ràpid.
|
||||
|
||||
{{ full_width_image(src="https://cdn.jsdelivr.net/gh/welpo/tabi@main/light_dark_screenshot.png", alt="Modes clar i fosc de tabi") }}
|
||||
|
||||
#### [Veure a GitHub](https://github.com/welpo/tabi) • [Demo i documentación](https://welpo.github.io/tabi/ca/) {.centered-text}
|
||||
|
||||
## Característiques
|
||||
|
||||
- [Estableix qualsevol idioma com a predeterminat](https://welpo.github.io/tabi/ca/blog/faq-languages/#com-estableixo-la-llengua-predeterminada-del-meu-lloc). Configura el teu lloc en xinès, espanyol, francès, hindi… o qualsevol [altre idioma compatible](https://welpo.github.io/tabi/ca/blog/faq-languages/#quines-llengues-admet-tabi). La interfície del tema es traduirà en conseqüència.
|
||||
- [Integració amb repositoris remots](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings#integracio-amb-repositoris-git) a GitHub, GitLab, Gitea i Codeberg per a l'historial de commits i mostrar el codi font del lloc.
|
||||
- Tema clar i fosc. S'adapta a la configuració del sistema operatiu, amb un interruptor a la barra de navegació.
|
||||
- [Suport multilingüe complet](https://welpo.github.io/tabi/ca/blog/faq-languages/#com-gestiona-tabi-el-suport-multilingue). Afegeix tants idiomes com vulguis i deixa que els teus usuaris triin amb el selector d'idioma.
|
||||
- [Suport per a sèries](https://welpo.github.io/tabi/ca/blog/series/) per crear contingut seqüencial com tutorials, cursos i històries multipart.
|
||||
- Puntuació perfecta en Lighthouse (Rendiment, Accessibilitat, Millors Pràctiques i SEO).
|
||||
- Suport per a [diagrames de Mermaid](https://welpo.github.io/tabi/ca/blog/shortcodes/#diagrames-de-mermaid) per a crear diagrames i gràfics amb text.
|
||||
- Ressaltat de sintaxi de codi amb colors basats en [Catppuccin](https://github.com/catppuccin/catppuccin) Frappé.
|
||||
- Suport per a [comentaris usant giscus, utterances, Hyvor Talk o Isso](https://welpo.github.io/tabi/ca/blog/comments/).
|
||||
- [Cerca local](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#cerca) amb una interfície accessible i multilingüe.
|
||||
- Tot el JavaScript es pot [deshabilitar completament](https://welpo.github.io/tabi/ca/blog/javascript/).
|
||||
- [Codificació de correu](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#correu-electronic-codificat) per a protecció contra spam.
|
||||
- [Mapa del lloc estilitzat i llegible per humans](https://welpo.github.io/tabi/sitemap.xml).
|
||||
- [Capçaleres de seguretat personalitzables](https://welpo.github.io/tabi/ca/blog/security/).
|
||||
- [Feed Atom estilitzat i llegible per humans](https://welpo.github.io/tabi/ca/atom.xml).
|
||||
- [Enllaços de retrocés per a notes al peu](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#enllacos-de-retorn-a-les-notes-a-peu-de-pagina).
|
||||
- [Taula de continguts personalitzable](https://welpo.github.io/tabi/ca/blog/toc/).
|
||||
- [Avís de drets d'autor personalitzat](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#copyright).
|
||||
- [Botó de copiar per a blocs de codi](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#boto-de-copiar-en-blocs-de-codi).
|
||||
- [URL canòniques personalitzables](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#url-canonica).
|
||||
- [Targetes per a xarxes socials](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#targetes-per-a-xarxes-socials).
|
||||
- [Botons de navegació ràpida](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#botons-de-navegacio-rapida).
|
||||
- [Shortcodes personalitzats](https://welpo.github.io/tabi/ca/blog/shortcodes/).
|
||||
- [Skins personalitzables](https://welpo.github.io/tabi/ca/blog/customise-tabi/).
|
||||
- [Publicacions fixades](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#fixar-entrades).
|
||||
- [Pàgina de projectes](https://welpo.github.io/tabi/ca/projects/).
|
||||
- Disseny responsive.
|
||||
- Suport de [KaTeX](https://katex.org/).
|
||||
- [Enllaços socials](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#icones-de-xarxes-socials).
|
||||
- [Pàgina d'arxiu](https://welpo.github.io/tabi/ca/archive/).
|
||||
- [Etiquetes](https://welpo.github.io/tabi/ca/blog/mastering-tabi-settings/#etiquetes).
|
||||
|
||||
## Pràctiques de desenvolupament
|
||||
|
||||
- **[Conventional Commits](https://www.conventionalcommits.org) i [Gitmoji](https://gitmoji.dev/)**: els missatges de commit segueixen formats estandarditzats per facilitar la llegibilitat.
|
||||
- **Seguiment d'incidències**: cada error o nova funcionalitat té el seu propi tiquet, que s'enllaça amb els commits de codi i PRs o problemes relacionats.
|
||||
- **Comentaris detallats**: els tiquets es documenten amb imatges, vídeos i descripcions detallades per facilitar una comunicació i resolució de problemes efectives.
|
||||
- **Referències creuades**: enllacem tots els tiquets amb els commits de codi, pull requests o problemes relacionats per a una traçabilitat completa.
|
||||
|
||||
## Evolució del projecte
|
||||
|
||||
**tabi** va néixer com a disseny per al meu lloc web personal, [osc.garden](https://osc.garden). Malgrat les seves arrels personals, des del principi es van implementar bones pràctiques per assegurar la qualitat i la mantenibilitat. Des d'aleshores, el tema ha aconseguit atraure una comunitat activa de col·laboradors a GitHub.
|
||||
|
||||
## Inicia el teu recorregut com a escriptor amb tabi
|
||||
|
||||
Tens alguna cosa a dir. Potser vols parlar sobre com els lingüistes encara no han acordat una [definició de "paraula"](https://ca.wikipedia.org/wiki/Mot), o sobre la teva experiència explorant els diferents [palos del flamenc](https://ca.wikipedia.org/wiki/Estils_flamencs), o de com vas aconseguir resoldre un error d'un projecte de codi obert popular.
|
||||
|
||||
**tabi** t'ofereix la base ideal per al teu espai d'escriptura, permetent-te centrar-te en les teves paraules mentre Zola i tabi s'encarreguen de l'aspecte tècnic. Submergeix-te en el món dels blogs amb un sistema que fa que cada publicació sigui un plaer escriure i llegir. La teva veu té valor; comparteix-la amb el món.
|
||||
70
themes/tabi/content/projects/tabi/index.es.md
Normal file
@@ -0,0 +1,70 @@
|
||||
+++
|
||||
title = "tabi"
|
||||
description = "Un tema de Zola rápido, ligero y moderno con soporte multilingüe."
|
||||
weight = 40
|
||||
|
||||
[taxonomies]
|
||||
tags = ["web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/tabi/tabi.webp"
|
||||
canonical_url = "https://osc.garden/es/projects/tabi/"
|
||||
social_media_card = "social_cards/es_projects_tabi.jpg"
|
||||
+++
|
||||
|
||||
[**tabi**](https://github.com/welpo/tabi) es un tema moderno y rico en funcionalidad para [Zola](https://www.getzola.org/), un generador de sitios web estáticos muy rápido.
|
||||
|
||||
{{ full_width_image(src="https://cdn.jsdelivr.net/gh/welpo/tabi@main/light_dark_screenshot.png", alt="Modos claro y oscuro de tabi") }}
|
||||
|
||||
#### [Ver en GitHub](https://github.com/welpo/tabi) • [Demo y documentación](https://welpo.github.io/tabi/es/) {.centered-text}
|
||||
|
||||
## Características
|
||||
|
||||
- [Establece cualquier idioma como predeterminado](https://welpo.github.io/tabi/es/blog/faq-languages/#como-establezco-el-idioma-predeterminado-de-mi-sitio). Configura tu sitio en chino, español, francés, hindi… o cualquier [otro idioma compatible](https://welpo.github.io/tabi/es/blog/faq-languages/#que-idiomas-admite-tabi). La interfaz del tema se traducirá en consecuencia.
|
||||
- [Integración con repositorios remotos](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#integracion-con-repositorios-git) en GitHub, GitLab, Gitea y Codeberg para el historial de commits y mostrar el código fuente del sitio.
|
||||
- [Soporte multilingüe completo](https://welpo.github.io/tabi/es/blog/faq-languages/#como-gestiona-tabi-el-soporte-multilingue). Añade tantos idiomas como desees y deja que tus usuarios elijan con un selector de idioma.
|
||||
- Tema claro y oscuro. Se adapta a la configuración del sistema operativo, con un interruptor en la barra de navegación.
|
||||
- [Soporte para series](https://welpo.github.io/tabi/es/blog/series/) para crear contenido secuencial como tutoriales, cursos e historias en varias partes.
|
||||
- Puntuación perfecta en Lighthouse (Rendimiento, Accesibilidad, Mejores Prácticas y SEO).
|
||||
- Soporte para [diagramas de Mermaid](https://welpo.github.io/tabi/es/blog/shortcodes/#diagramas-de-mermaid) para crear diagramas y gráficos con texto.
|
||||
- Resaltado de sintaxis de código con colores basados en [Catppuccin](https://github.com/catppuccin/catppuccin) Frappé.
|
||||
- Soporte para [comentarios usando giscus, utterances, Hyvor Talk o Isso](https://welpo.github.io/tabi/es/blog/comments/).
|
||||
- Todo el JavaScript se puede [deshabilitar completamente](https://welpo.github.io/tabi/es/blog/javascript/).
|
||||
- [Búsqueda local](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#busqueda) con una interfaz accesible y multilingüe.
|
||||
- [Codificación de correo](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#correo-electronico-codificado) para protección contra spam.
|
||||
- [Mapa de sitio web estilizado y legible por humanos](https://welpo.github.io/tabi/sitemap.xml).
|
||||
- [Feed de Atom estilizado y legible por humanos](https://welpo.github.io/tabi/es/atom.xml).
|
||||
- [Aviso de derechos de autor personalizado](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#copyright).
|
||||
- [Cabeceras de seguridad personalizables](https://welpo.github.io/tabi/es/blog/security/).
|
||||
- [Botón de copiar para bloques de código](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#boton-de-copiar-en-bloques-de-codigo).
|
||||
- [Enlaces de retroceso para notas al pie](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#enlaces-de-retorno-en-notas-al-pie).
|
||||
- [Tabla de contenidos personalizable](https://welpo.github.io/tabi/es/blog/toc/).
|
||||
- [URL canónicas personalizables](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#url-canonica).
|
||||
- [Botones de navegación rápida](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#botones-de-navegacion-rapida).
|
||||
- [Tarjetas para redes sociales](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#tarjetas-para-redes-sociales).
|
||||
- [Shortcodes personalizados](https://welpo.github.io/tabi/es/blog/shortcodes/).
|
||||
- [Skins personalizables](https://welpo.github.io/tabi/es/blog/customise-tabi/).
|
||||
- [Publicaciones fijadas](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#fijar-publicaciones).
|
||||
- [Página de proyectos](https://welpo.github.io/tabi/es/projects/).
|
||||
- Diseño responsive.
|
||||
- Soporte de [KaTeX](https://katex.org/).
|
||||
- [Página de archivo](https://welpo.github.io/tabi/es/archive/).
|
||||
- [Enlaces sociales](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#iconos-de-redes-sociales).
|
||||
- [Etiquetas](https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#etiquetas).
|
||||
|
||||
## Prácticas de desarrollo
|
||||
|
||||
- **[Conventional Commits](https://www.conventionalcommits.org) y [Gitmoji](https://gitmoji.dev/)**: los mensajes de commit siguen formatos estandarizados para mejorar la legibilidad.
|
||||
- **Seguimiento de problemas**: cada error o nueva funcionalidad tiene su propio ticket, que se vincula a los commits de código y PRs o problemas relacionados.
|
||||
- **Comentarios detallados**: los tickets se documentan con imágenes, vídeos y descripciones detalladas para facilitar una comunicación y resolución de problemas efectivas.
|
||||
- **Referencias cruzadas**: enlazamos todos los tickets con los commits de código, pull requests o problemas relacionados para una rastreabilidad completa.
|
||||
|
||||
## Evolución del proyecto
|
||||
|
||||
**tabi** nació como diseño para mi sitio personal, [osc.garden](https://osc.garden/es/). A pesar de sus raíces personales, desde el principio se implementaron buenas prácticas para asegurar la calidad y mantenibilidad. Desde entonces, el tema ha logrado atraer a una comunidad activa de contribuyentes en GitHub.
|
||||
|
||||
## Empieza tu aventura escribiendo con tabi
|
||||
|
||||
Tienes algo que decir. Tal vez se trate de cómo los lingüistas aún no han acordado una [definición de "palabra"](https://es.wikipedia.org/wiki/Palabra), o sobre tu experiencia explorando los diferentes [palos del flamenco](https://es.wikipedia.org/wiki/Flamenco#Palos), o de cómo lograste resolver un fallo de un proyecto de código abierto popular.
|
||||
|
||||
**tabi** te ofrece la base ideal para tu espacio de escritura, permitiéndote centrarte en tus palabras mientras Zola y tabi se encargan del aspecto técnicos. Sumérgete en el mundo de los blogs con un sistema que hace que cada publicación sea un placer escribir y leer. Tu voz tiene valor; compártela con el mundo.
|
||||
70
themes/tabi/content/projects/tabi/index.md
Normal file
@@ -0,0 +1,70 @@
|
||||
+++
|
||||
title = "tabi"
|
||||
description = "A feature-rich modern Zola theme with first-class multi-language support."
|
||||
weight = 40
|
||||
|
||||
[taxonomies]
|
||||
tags = ["web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/tabi/tabi.webp"
|
||||
social_media_card = "social_cards/projects_tabi.jpg"
|
||||
+++
|
||||
|
||||
[**tabi**](https://github.com/welpo/tabi) is a modern, feature-rich theme for [Zola](https://www.getzola.org/), a fast static site generator.
|
||||
|
||||
{{ full_width_image(src="https://cdn.jsdelivr.net/gh/welpo/tabi@main/light_dark_screenshot.png", alt="tabi light and dark mode") }}
|
||||
|
||||
#### [View on GitHub](https://github.com/welpo/tabi) • [Demo & Documentation](https://welpo.github.io/tabi/) {.centered-text}
|
||||
|
||||
## Features
|
||||
|
||||
- [Set any language as default](https://welpo.github.io/tabi/blog/faq-languages/#how-do-i-set-a-default-language-for-my-site). Set your base site to Chinese, Spanish, French, Hindi… or any [other supported language](https://welpo.github.io/tabi/blog/faq-languages/#what-languages-does-tabi-support). The theme's interface will be translated accordingly.
|
||||
- [Integration with remote repositories](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#git-repository-integration) on GitHub, GitLab, Gitea & Codeberg for commit history and showing the site source.
|
||||
- [Series support](https://welpo.github.io/tabi/blog/series/) for creating sequential content like tutorials, courses, and multi-part stories.
|
||||
- Dark and light themes. Defaults to the OS setting, with a switcher in the navigation bar.
|
||||
- Thorough documentation. See [Mastering tabi Settings: A Comprehensive Guide](https://welpo.github.io/tabi/blog/mastering-tabi-settings/).
|
||||
- Perfect Lighthouse score (Performance, Accessibility, Best Practices and SEO).
|
||||
- [Comprehensive multi-language support](https://welpo.github.io/tabi/blog/faq-languages/#how-does-tabi-handle-multilingual-support). Add as many languages as you wish.
|
||||
- Support for [comments using giscus, utterances, Hyvor Talk, or Isso](https://welpo.github.io/tabi/blog/comments/).
|
||||
- Code syntax highlighting with colours based on [Catppuccin](https://github.com/catppuccin/catppuccin) Frappé.
|
||||
- [Mermaid support](https://welpo.github.io/tabi/blog/shortcodes/#mermaid-diagrams) to create diagrams and charts with text.
|
||||
- [Local search](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#search) with an accessible, multi-lingual interface.
|
||||
- [Custom Twitter card](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#social-media-cards) and automatic Open Graph tags.
|
||||
- [KaTeX](https://katex.org/) support for mathematical notation.
|
||||
- [Stylized and human readable Atom feed](https://welpo.github.io/tabi/atom.xml).
|
||||
- [Stylized and human readable sitemap](https://welpo.github.io/tabi/sitemap.xml).
|
||||
- [Mail encoding](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#encoded-email) for spam protection.
|
||||
- All JavaScript can be [fully disabled](https://welpo.github.io/tabi/blog/javascript/).
|
||||
- [Customizable Table of Contents](https://welpo.github.io/tabi/blog/toc/).
|
||||
- [Customizable secure headers](https://welpo.github.io/tabi/blog/security/).
|
||||
- [Copy button for code blocks](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#copy-button-on-code-blocks).
|
||||
- [Quick navigation buttons](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#quick-navigation-buttons).
|
||||
- [Custom copyright notice](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#copyright).
|
||||
- [Custom canonical URLs](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#canonical-url).
|
||||
- [Customizable skins](https://welpo.github.io/tabi/blog/customise-tabi/).
|
||||
- [Custom shortcodes](https://welpo.github.io/tabi/blog/shortcodes/).
|
||||
- [Social media cards](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#social-media-cards).
|
||||
- Responsive design.
|
||||
- [Projects page](https://welpo.github.io/tabi/projects/).
|
||||
- [Archive page](https://welpo.github.io/tabi/archive/).
|
||||
- [Pinned posts](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#pinning-posts).
|
||||
- [Social links](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#social-media-icons).
|
||||
- [Tags](https://welpo.github.io/tabi/blog/mastering-tabi-settings/#tags).
|
||||
|
||||
## Development Practices
|
||||
|
||||
- **[Conventional Commits](https://www.conventionalcommits.org) & [Gitmoji](https://gitmoji.dev/)**: Commit messages follow standardised formats to enhance readability.
|
||||
- **Issue Tracking**: Each bug or new feature has its dedicated ticket, which is linked to any consequent code commits and related PRs or issues.
|
||||
- **Comprehensive Commentary**: Tickets are documented with images, videos, and detailed descriptions to facilitate effective communication and problem-solving.
|
||||
- **Cross-Referencing**: We link all tickets to the relevant code commits, pull requests, or related issues for complete traceability.
|
||||
|
||||
## Project Evolution
|
||||
|
||||
**tabi** was originally designed for my personal website, [osc.garden](https://osc.garden). Despite its origins for personal use, best practices were implemented from the outset to ensure quality and maintainability. The theme has since grown to attract a vibrant community of contributors on GitHub.
|
||||
|
||||
## Start Your Writing Journey with tabi
|
||||
|
||||
You have something to say. Perhaps it's about how linguists haven't agreed on a [definition of "word"](https://en.wikipedia.org/wiki/Word) yet, or about your journey exploring the different [flamenco palos](https://en.wikipedia.org/wiki/Palo_(flamenco)), or about how you managed to solve a bug in a popular open-source project.
|
||||
|
||||
**tabi** provides the ideal foundation for your writing space, letting you focus on your words while Zola and tabi take care of the technical side. Step into the world of blogging with a system that makes each post a joy to write and to read. Your voice has value—share it with the world.
|
||||
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 57 KiB |
BIN
themes/tabi/content/projects/tabi/social_cards/projects_tabi.jpg
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
themes/tabi/content/projects/tabi/tabi.webp
Normal file
|
After Width: | Height: | Size: 62 KiB |
51
themes/tabi/content/projects/zutsu/index.ca.md
Normal file
@@ -0,0 +1,51 @@
|
||||
+++
|
||||
title = "zutsu"
|
||||
description = "Una aplicació minimalista i privada de gestió de tasques."
|
||||
weight = 32
|
||||
|
||||
[taxonomies]
|
||||
tags = ["interactiu", "productivitat", "web app", "web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/zutsu/zutsu_logo.webp"
|
||||
canonical_url = "https://osc.garden/ca/projects/zutsu/"
|
||||
social_media_card = "social_cards/projects_zutsu.jpg"
|
||||
+++
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="https://cdn.jsdelivr.net/gh/welpo/zutsu/assets/ずつ_demo.mov" title="demostració de zutsu"></video>
|
||||
{% end %}
|
||||
|
||||
#### [Prova-la ara](https://zutsu.osc.garden) • [GitHub](https://github.com/welpo/zutsu) • [Article](https://osc.garden/ca/blog/zutsu-offline-task-planner-web-app/) {.centered-text}
|
||||
|
||||
<ruby>ず<rt>zu</rt>つ<rt>tsu</rt></ruby> és una aplicació web de gestió de tasques dissenyada per ajudar-te a centrar-te en una tasca cada vegada. El nom ve de <ruby>一つ<rt>hitotsu</rt>ずつ<rt>zutsu</rt></ruby>, que significa «d'un en un» en <ruby>日本語<rt>japonès</rt></ruby>.
|
||||
|
||||
## Per què?
|
||||
|
||||
Volia substituir els esdeveniments de calendari inflexibles per a les sessions d'estudi per alguna cosa senzilla i adaptable. Sense aplicacions de tercers, sense sincronització al núvol, només un espai centrat en a la gestió de tasques.
|
||||
|
||||
## Funcionalitats
|
||||
|
||||
### Principals
|
||||
|
||||
- Gestió de tasques amb possibilitat de reordenar-les arrossegant
|
||||
- Temporitzador amb durada personalitzable per tasca
|
||||
- Privada i offline —sense comptes, seguiment ni emmagatzematge al servidor
|
||||
- Importació/exportació de llistes de tasques (JSON)
|
||||
|
||||
### Utilitats
|
||||
|
||||
- Temporitzador Pomodoro
|
||||
- Calendari d'activitat (vista de 30 dies)
|
||||
- Comptador i cronòmetre
|
||||
- Espai per prendre notes
|
||||
- Selectors aleatoris
|
||||
|
||||
### Qualitat de vida
|
||||
|
||||
- Tema fosc i clar
|
||||
- Notificacions del navegador i so
|
||||
- Dreceres de teclat
|
||||
- Disseny responsive
|
||||
|
||||
[](https://zutsu.osc.garden)
|
||||
51
themes/tabi/content/projects/zutsu/index.es.md
Normal file
@@ -0,0 +1,51 @@
|
||||
+++
|
||||
title = "zutsu"
|
||||
description = "Una aplicación minimalista y privada de gestión de tareas."
|
||||
weight = 32
|
||||
|
||||
[taxonomies]
|
||||
tags = ["interactivo", "productividad", "web app", "web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/zutsu/zutsu_logo.webp"
|
||||
canonical_url = "https://osc.garden/es/projects/zutsu/"
|
||||
social_media_card = "social_cards/projects_zutsu.jpg"
|
||||
+++
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="https://cdn.jsdelivr.net/gh/welpo/zutsu/assets/ずつ_demo.mov" title="demostración de zutsu"></video>
|
||||
{% end %}
|
||||
|
||||
#### [Pruébala ahora](https://zutsu.osc.garden) • [GitHub](https://github.com/welpo/zutsu) • [Artículo](https://osc.garden/es/blog/zutsu-offline-task-planner-web-app/) {.centered-text}
|
||||
|
||||
<ruby>ず<rt>zu</rt>つ<rt>tsu</rt></ruby> es una aplicación web de gestión de tareas diseñada para ayudarte a centrarte en una tarea a la vez. El nombre viene de <ruby>一つ<rt>hitotsu</rt>ずつ<rt>zutsu</rt></ruby>, que significa «uno por uno» en <ruby>日本語<rt>japonés</rt></ruby>.
|
||||
|
||||
## ¿Por qué?
|
||||
|
||||
Quería sustituir la inflexibilidad del calendario para planificar las sesiones de estudio por algo simple y adaptable. Sin aplicaciones de terceros, sin sincronización en la nube —solo un espacio centrado en la gestión de tareas.
|
||||
|
||||
## Funcionalidades
|
||||
|
||||
### Principales
|
||||
|
||||
- Gestión de tareas con posibilidad de reordenarlas arrastrando y soltando
|
||||
- Temporizador con duración personalizable por tarea
|
||||
- Privada y offline —sin cuentas, seguimiento ni almacenamiento en servidor
|
||||
- Importación/exportación de listas de tareas (JSON)
|
||||
|
||||
### Utilidades
|
||||
|
||||
- Temporizador Pomodoro
|
||||
- Calendario de actividad (vista de 30 días)
|
||||
- Contador y cronómetro
|
||||
- Espacio para tomar notas
|
||||
- Selectores aleatorios
|
||||
|
||||
### Calidad de vida
|
||||
|
||||
- Tema oscuro y claro
|
||||
- Notificaciones del navegador y sonido
|
||||
- Atajos de teclado
|
||||
- Diseño responsive
|
||||
|
||||
[](https://zutsu.osc.garden)
|
||||
51
themes/tabi/content/projects/zutsu/index.md
Normal file
@@ -0,0 +1,51 @@
|
||||
+++
|
||||
title = "zutsu"
|
||||
description = "A private minimalist task management app."
|
||||
weight = 32
|
||||
|
||||
[taxonomies]
|
||||
tags = ["interactive", "productivity", "web app", "web", "JavaScript"]
|
||||
|
||||
[extra]
|
||||
local_image = "projects/zutsu/zutsu_logo.webp"
|
||||
canonical_url = "https://osc.garden/projects/zutsu/"
|
||||
social_media_card = "social_cards/projects_zutsu.jpg"
|
||||
+++
|
||||
|
||||
{% wide_container() %}
|
||||
<video controls src="https://cdn.jsdelivr.net/gh/welpo/zutsu/assets/ずつ_demo.mov" title="zutsu demo"></video>
|
||||
{% end %}
|
||||
|
||||
#### [Try it now](https://zutsu.osc.garden) • [GitHub](https://github.com/welpo/zutsu) • [Blog post](https://osc.garden/blog/zutsu-offline-task-planner-web-app/) {.centered-text}
|
||||
|
||||
<ruby>ず<rt>zu</rt>つ<rt>tsu</rt></ruby> is a task management web app designed to help you focus on one task at a time. The name comes from <ruby>一つ<rt>hitotsu</rt>ずつ<rt>zutsu</rt></ruby> which means "one at a time" in <ruby>日本語<rt>Japanese</rt></ruby>.
|
||||
|
||||
## Why?
|
||||
|
||||
I wanted to replace inflexible calendar events for study sessions with something simple and adaptable. No third-party apps, no cloud sync —just a focused space for task management.
|
||||
|
||||
## Features
|
||||
|
||||
### Core
|
||||
|
||||
- Task management with drag-and-drop reordering
|
||||
- Timer with customizable duration for each task
|
||||
- Private & offline—no accounts, tracking, or server storage
|
||||
- Import/export task lists (JSON)
|
||||
|
||||
### Utilities
|
||||
|
||||
- Pomodoro timer
|
||||
- Activity calendar (30-day view)
|
||||
- Counter & stopwatch
|
||||
- Note-taking space
|
||||
- Random choice makers
|
||||
|
||||
### Quality of life
|
||||
|
||||
- Dark and light theme support
|
||||
- Browser and sound notifications
|
||||
- Keyboard shortcuts
|
||||
- Responsive design
|
||||
|
||||
[](https://zutsu.osc.garden)
|
||||
|
After Width: | Height: | Size: 114 KiB |
BIN
themes/tabi/content/projects/zutsu/zutsu_logo.webp
Normal file
|
After Width: | Height: | Size: 17 KiB |