diff --git a/content/projects/_index.ca.md b/content/projects/_index.ca.md index a87b307..a63e7b9 100644 --- a/content/projects/_index.ca.md +++ b/content/projects/_index.ca.md @@ -2,7 +2,10 @@ title = "Projectes" sort_by = "weight" template = "cards.html" +insert_anchor_links = "left" [extra] -social_media_card = "img/social_cards/ca_projects.jpg" +social_media_card = "img/ca_projects.jpg" +show_reading_time = false +quick_navigation_buttons = true +++ diff --git a/content/projects/_index.es.md b/content/projects/_index.es.md index caab7a3..035f7c1 100644 --- a/content/projects/_index.es.md +++ b/content/projects/_index.es.md @@ -2,7 +2,10 @@ title = "Proyectos" sort_by = "weight" template = "cards.html" +insert_anchor_links = "left" [extra] social_media_card = "img/social_cards/es_projects.jpg" +show_reading_time = false +quick_navigation_buttons = true +++ diff --git a/content/projects/_index.md b/content/projects/_index.md index 9a4bbce..9cb7ebd 100644 --- a/content/projects/_index.md +++ b/content/projects/_index.md @@ -2,7 +2,10 @@ title = "Projects" sort_by = "weight" template = "cards.html" +insert_anchor_links = "left" [extra] social_media_card = "img/social_cards/projects.jpg" +show_reading_time = false +quick_navigation_buttons = true +++ diff --git a/content/projects/chu.ca.md b/content/projects/chu.ca.md index c29cbf8..ff017ff 100644 --- a/content/projects/chu.ca.md +++ b/content/projects/chu.ca.md @@ -1,9 +1,29 @@ +++ title = "chu" -description = "Aplicació Flask per a càrregues de fitxers segures, amb eliminació de metadades, compressió, protecció amb contrasenya i més." +description = "Aplicació Flask per pujar arxius de manera segura, amb eliminació de metadades, compressió, protecció amb contrasenya i més." weight = 2 [extra] local_image = "img/chu.webp" -link_to = "https://github.com/welpo/chu" +social_media_card = "img/social_cards/ca_projects_chu.jpg" +++ + +[**chu**](https://github.com/welpo/chu) és una aplicació per pujar arxius creada amb Python, Flask i uWSGI. Aquest projecte integra diverses tècniques d'optimització per fer que la pujada d'arxius sigui no només més senzilla, sinó també més intel·ligent. + +#### [Veure a GitHub](https://github.com/welpo/chu) {.centered-text} + +### Característiques tècniques + +- **Eficiència a través de la compressió**: Utilitza [compressió Lepton JPEG](https://github.com/microsoft/lepton_jpeg_rust) i [optipng](http://optipng.sourceforge.net/) per assolir un estalvi d'espai d'fins al 22%. + +- **Mesures de seguretat**: Implementa límits de grandària de pujada, controls d'extensió i autenticació amb contrasenya. + +- **Facilitat d'ús**: Genera una URL per a cada arxiu pujat amb èxit, permetent noms d'arxiu aleatoris o definits per l'usuari. + +- **Eliminació de metadades**: Elimina les metadades dels arxius per millorar la privacitat. + +- **Grandària de pujada configurable**: Ofereix la possibilitat d'establir límits a la grandària dels arxius pujats. + +- **Controls específics d'extensió**: Proporciona configuracions per restringir les pujades a extensions d'arxiu específiques. + +- **Resposta d'URL directa**: Després de cada pujada exitosa, retorna una URL que apunta a l'arxiu. diff --git a/content/projects/chu.es.md b/content/projects/chu.es.md index 1580759..b5624b5 100644 --- a/content/projects/chu.es.md +++ b/content/projects/chu.es.md @@ -5,5 +5,25 @@ weight = 2 [extra] local_image = "img/chu.webp" -link_to = "https://github.com/welpo/chu" +social_media_card = "img/es_projects_chu.jpg" +++ + +[**chu**](https://github.com/welpo/chu) es un subidor de archivos creado con Python, Flask y uWSGI. Este proyecto integra diversas técnicas de optimización para hacer que la subida de archivos sea no solo más sencilla, sino también más inteligente. + +#### [Ver en GitHub](https://github.com/welpo/chu) {.centered-text} + +### Características técnicas + +- **Eficiencia a través de la compresión**: Utiliza [compresión Lepton JPEG](https://github.com/microsoft/lepton_jpeg_rust) y [optipng](http://optipng.sourceforge.net/) para lograr un ahorro de espacio de hasta el 22%. + +- **Medidas de seguridad**: Implementa límites de tamaño de subida, controles de extensión y autenticación con contraseña. + +- **Facilidad de uso**: Genera una URL para cada archivo subido con éxito, permitiendo nombres de archivo aleatorios o definidos por el usuario. + +- **Eliminación de metadatos**: Elimina los metadatos de los archivos por privacidad. + +- **Tamaño de subida configurable**: Ofrece la posibilidad de establecer límites al tamaño de los archivos subidos. + +- **Controles específicos de extensión**: Proporciona configuraciones para restringir las subidas a extensiones de archivo específicas. + +- **Respuesta de URL directa**: Tras cada subida exitosa, devuelve una URL que apunta al archivo. diff --git a/content/projects/chu.md b/content/projects/chu.md index 199c00d..ad6275b 100644 --- a/content/projects/chu.md +++ b/content/projects/chu.md @@ -1,10 +1,29 @@ +++ title = "chu" -description = "Flask app for secure file uploads, with metadata removal, compression, password protection, and more." +description = "Python-based file uploader using Flask and uWSGI, focused on efficiency and security." weight = 2 - [extra] local_image = "img/chu.webp" -link_to = "https://github.com/welpo/chu" +social_media_card = "img/projects_chu.jpg" +++ + +[**chu**](https://github.com/welpo/chu) is a Python-based file uploader built using Python, Flask, and uWSGI. It integrates multiple optimization techniques to make file uploads not just simpler, but smarter. + +#### [View on GitHub](https://github.com/welpo/chu) {.centered-text} + +### Technical Features + +- **Efficiency Through Compression**: Uses [Lepton JPEG Compression](https://github.com/microsoft/lepton_jpeg_rust) and [optipng](http://optipng.sourceforge.net/) to achieve up to 22% space savings. + +- **Security Measures**: Implements upload size limits, extension controls, and password-based authentication. + +- **Ease of Use**: Generates a URL for each successfully uploaded file, accommodates either random or user-defined filenames. + +- **Metadata Purging**: Removes metadata from files for enhanced privacy. + +- **Configurable Upload Size**: Allows users to set limits on the size of uploaded files. + +- **Extension-Specific Controls**: Provides settings to restrict uploads to specific file extensions. + +- **Direct URL Response**: After each successful upload, returns a URL pointing to the file. diff --git a/content/projects/nani.ca.md b/content/projects/nani.ca.md index 261ae6e..c71eac8 100644 --- a/content/projects/nani.ca.md +++ b/content/projects/nani.ca.md @@ -1,9 +1,81 @@ +++ title = "nani" -description = "Script Bash per crear URL públiques a partir de fitxers o text en servidors remots." +description = "Script Bash per crear URLs públiques a partir d'arxius o text en servidors remots." weight = 3 [extra] local_image = "img/nani.webp" -link_to = "https://github.com/welpo/nani" +social_media_card = "img/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. + +#### [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] +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 ) + -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 ) + -t, --transcode Revert the transcode setting + -x, --xclip Revert the xclip setting + -y, --symbolic Create a symbolic link for files and directories +``` + +{% end %} diff --git a/content/projects/nani.es.md b/content/projects/nani.es.md index 84a3f80..1490a1a 100644 --- a/content/projects/nani.es.md +++ b/content/projects/nani.es.md @@ -1,9 +1,80 @@ +++ title = "nani" -description = "Script Bash para crear URL públicas desde archivos o texto en servidores remotos." +description = "Script Bash para crear URLs públicas a partir de archivos o texto en servidores remotos." weight = 3 [extra] local_image = "img/nani.webp" -link_to = "https://github.com/welpo/nani" +social_media_card = "img/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. + +#### [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] +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 ) + -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 ) + -t, --transcode Revert the transcode setting + -x, --xclip Revert the xclip setting + -y, --symbolic Create a symbolic link for files and directories +``` + +{% end %} diff --git a/content/projects/nani.md b/content/projects/nani.md index 6e3ac2c..f2aed8f 100644 --- a/content/projects/nani.md +++ b/content/projects/nani.md @@ -5,5 +5,75 @@ weight = 3 [extra] local_image = "img/nani.webp" -link_to = "https://github.com/welpo/nani" +social_media_card = "img/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. + +#### [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] +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 ) + -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 ) + -t, --transcode Revert the transcode setting + -x, --xclip Revert the xclip setting + -y, --symbolic Create a symbolic link for files and directories +``` + +{% end %} diff --git a/content/projects/spectro.ca.md b/content/projects/spectro.ca.md index 62b3e77..5eb993c 100644 --- a/content/projects/spectro.ca.md +++ b/content/projects/spectro.ca.md @@ -1,9 +1,76 @@ +++ title = "spectro" -description = "Script de Bash per generar espectrogrames, comparar-los, carregar-los a Imgur i proporcionar els corresponents URLs per compartir-los." +description = "Script en Bash per generar espectrogrames, comparar-los, pujar-los a Imgur i proporcionar les URL corresponents per compartir." weight = 4 [extra] local_image = "img/spectro.webp" -link_to = "https://github.com/welpo/spectro" +social_media_card = "img/ca_projects_spectro.jpg" +++ + +Transforma fitxers d'àudio en espectrogrames amb format BBCode de manera senzilla amb `spectro`. Aquest script en Bash suporta una àmplia varietat de formats d'àudio com Ogg, MP3, FLAC, AAC i més. + +{{ full_width_image(src="img/spectrogram.webp", alt="Espectrograma de Jardin du Sommeil Chant d'Amour Sur La Nuit Grandissante, de Tourette") }} + +#### [Veure a GitHub](https://github.com/welpo/spectro) {.centered-text} + +## Característiques + +- **Suport de múltiples formats**: Ogg, MP3, FLAC, AAC, ape, WMA, MP4 i WAV. +- **Sortida en BBCode**: Genera automàticament BBCode per a fòrums o llocs web. +- **Processament per lots**: Pot gestionar directoris sencers o fitxers específics. +- **Extensible**: Opcions per a personalització, incloent l'emmagatzemament local i la pujada a Imgur. + +## Inici ràpid + +1. Descarrega `spectro` en un directori dins del teu PATH, per exemple, `~/bin`. +2. Atorga permisos d'execució: `chmod +x spectro`. + +## Ús + +**Generar BBCode per a un directori complet:** + +```bash +spectro Path/To/Directory/ +``` + +Sortida: + +``` +[hide=Spectrograms][size=3] +[url=https://i.imgur.com/ClzzbP8.png]01. Jardin Du Sommeil.flac[/url] +[/size][/hide] +``` + +**Generar BBCode per a fitxers específics:** + +```bash +spectro arxiu1.flac arxiu2.mp3 +``` + +Opcions addicionals i configuracions estan disponibles. Consulta `spectro --help`: + +{% wide_container() %} + +``` +Usage: spectro [options] +Generate BBCode-formatted spectrograms from audio files. + +Options: + -c, --compare Create a .gif comparison of spectrograms (requires ImageMagick) + -d, --double Create both zoomed and full spectrograms + -h, --help Display this help and exit + -l, --local Save spectrograms locally + -o, --optipng Reverse optipng setting + -p, --parallel Compatible with 'parallel' + -q, --quiet Suppress 'Uploading' text + -s, --sha Display SHA value + -t, --text Use [url] or [img] tags + -z, --zoom Create zoomed-in spectrogram + +Examples: + spectro -ol DirectoryWithMusic/ + printf "[hide=Spectrograms][size=3]" && ls | parallel -k spectro -p; printf "[/size][/hide]" +``` + +{% end %} diff --git a/content/projects/spectro.es.md b/content/projects/spectro.es.md index 7a42ebd..7859abc 100644 --- a/content/projects/spectro.es.md +++ b/content/projects/spectro.es.md @@ -1,9 +1,78 @@ +++ title = "spectro" -description = "Script de Bash para generar espectrogramas, compararlos, subirlos a Imgur y proporcionar las correspondientes URLs para compartir." +description = "Script en Bash para generar espectrogramas, compararlos, subirlos a Imgur y proporcionar las URL correspondientes para compartir." weight = 4 [extra] local_image = "img/spectro.webp" -link_to = "https://github.com/welpo/spectro" +social_media_card = "img/es_projects_spectro.jpg" +++ + +Transforma archivos de audio en espectrogramas con formato BBCode de manera sencilla con `spectro`. Este script en Bash soporta una amplia variedad de formatos de audio como Ogg, MP3, FLAC, AAC y más. + +{{ full_width_image(src="img/spectrogram.webp", alt="Espectrograma de Jardin du Sommeil Chant d'Amour Sur La Nuit Grandissante, de Tourette") }} + +#### [Ver en GitHub](https://github.com/welpo/spectro) {.centered-text} + +## Características + +- **Soporte de múltiples formatos**: Ogg, MP3, FLAC, AAC, ape, WMA, MP4 y WAV. +- **Salida en BBCode**: Genera automáticamente BBCode para foros o sitios web. +- **Procesamiento por lotes**: Puede manejar directorios enteros o archivos específicos. +- **Extensible**: Opciones para personalización, incluido el almacenamiento local y la subida a Imgur. + +## Inicio rápido + +1. Descarga `spectro` en un directorio dentro de tu PATH, por ejemplo, `~/bin`. +2. Otorga permisos de ejecución: `chmod +x spectro`. + +Para una guía completa de instalación, [lee la documentación completa](https://github.com/welpo/spectro#install). + +## Uso + +**Generar BBCode para un directorio completo:** + +```bash +spectro Path/To/Directory/ +``` + +Salida: + +``` +[hide=Spectrograms][size=3] +[url=https://i.imgur.com/ClzzbP8.png]01. Jardin Du Sommeil.flac[/url] +[/size][/hide] +``` + +**Generar BBCode para archivos específicos:** + +```bash +spectro archivo1.flac archivo2.mp3 +``` + +Opciones adicionales y configuraciones están disponibles. Consulta `spectro --help`: + +{% wide_container() %} + +``` +Usage: spectro [options] +Generate BBCode-formatted spectrograms from audio files. + +Options: + -c, --compare Create a .gif comparison of spectrograms (requires ImageMagick) + -d, --double Create both zoomed and full spectrograms + -h, --help Display this help and exit + -l, --local Save spectrograms locally + -o, --optipng Reverse optipng setting + -p, --parallel Compatible with 'parallel' + -q, --quiet Suppress 'Uploading' text + -s, --sha Display SHA value + -t, --text Use [url] or [img] tags + -z, --zoom Create zoomed-in spectrogram + +Examples: + spectro -ol DirectoryWithMusic/ + printf "[hide=Spectrograms][size=3]" && ls | parallel -k spectro -p; printf "[/size][/hide]" +``` + +{% end %} diff --git a/content/projects/spectro.md b/content/projects/spectro.md index f0e8289..b6236d0 100644 --- a/content/projects/spectro.md +++ b/content/projects/spectro.md @@ -5,5 +5,74 @@ weight = 4 [extra] local_image = "img/spectro.webp" -link_to = "https://github.com/welpo/spectro" +social_media_card = "img/social_cards/projects_spectro.jpg" +++ + +Transform audio files into BBCode-formatted spectrograms effortlessly with `spectro`. This Bash script supports a wide array of audio formats such as Ogg, MP3, FLAC, AAC, and more. + +{{ full_width_image(src="img/spectrogram.webp", alt="Spectrogram of Jardin du Sommeil Chant d'Amour Sur La Nuit Grandissante, by Tourette") }} + +#### [View on GitHub](https://github.com/welpo/spectro) {.centered-text} + +## Features + +- **Versatile Format Support**: Ogg, MP3, FLAC, AAC, ape, WMA, MP4, and WAV. +- **BBCode Output**: Automatically generates BBCode for forums or websites. +- **Batch Processing**: Can handle entire directories or specific files. +- **Extensible**: Options for customisation including local storage and imgur uploading. + +## Quick Start + +1. Download `spectro` to a directory within your PATH, for example, `~/bin`. +2. Grant execute permissions: `chmod +x spectro`. + +For a complete installation guide, [read the full documentation](https://github.com/welpo/spectro#install). + +## Usage + +**Generate BBCode for an Entire Directory:** + +```bash +spectro Path/To/Directory/ +``` + +Output: + +``` +[hide=Spectrograms][size=3] +[url=https://i.imgur.com/ClzzbP8.png]01. Jardin Du Sommeil.flac[/url] +[/size][/hide] +``` + +**Generate BBCode for Specific Files:** + +```bash +spectro file1.flac file2.mp3 +``` + +Additional options and configurations are available. See `spectro --help`: + +{% wide_container() %} + +``` +Usage: spectro [options] +Generate BBCode-formatted spectrograms from audio files. + +Options: + -c, --compare Create a .gif comparison of spectrograms (requires ImageMagick) + -d, --double Create both zoomed and full spectrograms + -h, --help Display this help and exit + -l, --local Save spectrograms locally + -o, --optipng Reverse optipng setting + -p, --parallel Compatible with 'parallel' + -q, --quiet Suppress 'Uploading' text + -s, --sha Display SHA value + -t, --text Use [url] or [img] tags + -z, --zoom Create zoomed-in spectrogram + +Examples: + spectro -ol DirectoryWithMusic/ + printf "[hide=Spectrograms][size=3]" && ls | parallel -k spectro -p; printf "[/size][/hide]" +``` + +{% end %} diff --git a/content/projects/tabi.ca.md b/content/projects/tabi.ca.md index 25292e7..1009a6a 100644 --- a/content/projects/tabi.ca.md +++ b/content/projects/tabi.ca.md @@ -1,9 +1,56 @@ +++ title = "tabi" -description = "Un tema de Zola ràpid, lleuger i modern amb JavaScript opcional." +description = "Un tema de Zola ràpid, lleuger i modern amb suport multilingüe." weight = 1 [extra] local_image = "img/tabi.webp" -link_to = "https://github.com/welpo/tabi" +social_media_card = "img/ca_projects_tabi.jpg" +++ + +[**tabi**](https://github.com/welpo/tabi) és un tema modern i ric en característiques per a [Zola](https://www.getzola.org/), un generador de llocs web estàtics molt ràpid. + +{{ full_width_image(src="img/light_dark_tabi.webp", alt="Modes clar i fosc de tabi") }} + +#### [Veure a GitHub](https://github.com/welpo/tabi) {.centered-text} + +## Característiques + +- [Suport multilingüe complet](https://welpo.github.io/tabi/ca/blog/faq-languages/#how-does-tabi-handle-multilingual-support). Afegeix tants idiomes com vulguis. +- [Estableix qualsevol idioma com a predeterminat](https://welpo.github.io/tabi/ca/blog/faq-languages/#how-do-i-set-a-default-language-for-my-site). Configura el teu lloc en xinès, espanyol, francès, hindi... o qualsevol [altre idioma compatible](https://github.com/welpo/tabi/tree/main/i18n). La interfície del tema es traduirà en conseqüència. +- Temes clars i foscos. S'adapta a la configuració del sistema operatiu, amb un interruptor a la barra de navegació. +- Suport per a [comentaris utilitzant giscus, utterances, Hyvor Talk o Isso](https://welpo.github.io/tabi/ca/blog/comments/). +- Puntuació perfecta a Lighthouse (Rendiment, Accessibilitat, Millors Pràctiques i SEO). +- Suport de [KaTeX](https://katex.org/). +- Tot el JavaScript es pot [deshabilitar completament](https://welpo.github.io/tabi/ca/blog/javascript/). +- [Aspectes personalitzables](https://welpo.github.io/tabi/ca/blog/customise-tabi/). +- [Feed estilitzat](https://welpo.github.io/tabi/ca/atom.xml). +- [Pàgina de projectes](https://welpo.github.io/tabi/ca/projects/). +- [Pàgina d'arxiu](https://welpo.github.io/tabi/ca/archive/). +- [Taula de continguts](https://welpo.github.io/tabi/ca/blog/toc/). +- Etiquetes. +- Enllaços socials. +- Disseny responsiu. +- Ressaltat sintàctic del codi. +- [Capçaleres de seguretat personalitzables](https://welpo.github.io/tabi/ca/blog/security/). +- [Shortcodes personalitzats](https://welpo.github.io/tabi/ca/blog/shortcodes/). + +## 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. diff --git a/content/projects/tabi.es.md b/content/projects/tabi.es.md index 00a6101..9dcc667 100644 --- a/content/projects/tabi.es.md +++ b/content/projects/tabi.es.md @@ -1,9 +1,56 @@ +++ title = "tabi" -description = "Un tema de Zola rápido, ligero y moderno con JavaScript opcional." +description = "Un tema de Zola rápido, ligero y moderno con soporte multilingüe." weight = 1 [extra] local_image = "img/tabi.webp" -link_to = "https://github.com/welpo/tabi" +social_media_card = "img/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="img/light_dark_tabi.webp", alt="Modos claro y oscuro de tabi") }} + +#### [Ver en GitHub](https://github.com/welpo/tabi) {.centered-text} + +## Características + +- [Soporte multilingüe completo](https://welpo.github.io/tabi/es/blog/faq-languages/#how-does-tabi-handle-multilingual-support). Añade tantos idiomas como desees. +- [Establece cualquier idioma como predeterminado](https://welpo.github.io/tabi/es/blog/faq-languages/#how-do-i-set-a-default-language-for-my-site). Configura tu sitio en chino, español, francés, hindi… o cualquier [otro idioma compatible](https://github.com/welpo/tabi/tree/main/i18n). La interfaz del tema se traducirá en consecuencia. +- Temas claros y oscuros. Se adapta a la configuración del sistema operativo, con un interruptor en la barra de navegación. +- Soporte para [comentarios usando giscus, utterances, Hyvor Talk o Isso](https://welpo.github.io/tabi/es/blog/comments/). +- Puntuación perfecta en Lighthouse (Rendimiento, Accesibilidad, Mejores Prácticas y SEO). +- Soporte de [KaTeX](https://katex.org/). +- Todo el JavaScript se puede [deshabilitar completamente](https://welpo.github.io/tabi/es/blog/javascript/). +- [Skins personalizables](https://welpo.github.io/tabi/es/blog/customise-tabi/). +- [Feed estilizado](https://welpo.github.io/tabi/es/atom.xml). +- [Página de proyectos](https://welpo.github.io/tabi/es/projects/). +- [Página de archivo](https://welpo.github.io/tabi/es/archive/). +- [Tabla de contenido](https://welpo.github.io/tabi/es/blog/toc/). +- Etiquetas. +- Enlaces sociales. +- Diseño responsive. +- Resaltado sintáctico de código. +- [Cabeceras de seguridad personalizables](https://welpo.github.io/tabi/es/blog/security/). +- [Shortcodes personalizados](https://welpo.github.io/tabi/es/blog/shortcodes/). + +## 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. diff --git a/content/projects/tabi.md b/content/projects/tabi.md index 6dcd680..845874c 100644 --- a/content/projects/tabi.md +++ b/content/projects/tabi.md @@ -1,9 +1,56 @@ +++ title = "tabi" -description = "A fast, lightweight and modern Zola theme with optional JavaScript." +description = "A fast, lightweight, and modern Zola theme with multi-language support." weight = 1 [extra] local_image = "img/tabi.webp" -link_to = "https://github.com/welpo/tabi" +social_media_card = "img/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="img/light_dark_tabi.webp", alt="tabi light and dark mode") }} + +#### [View on GitHub](https://github.com/welpo/tabi) {.centered-text} + +## Features + +- [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. +- [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://github.com/welpo/tabi/tree/main/i18n). The theme's interface will be translated accordingly. +- Dark and light themes. Defaults to the OS setting, with a switcher in the navigation bar. +- Support for [comments using giscus, utterances, Hyvor Talk, or Isso](https://welpo.github.io/tabi/blog/comments/). +- Perfect Lighthouse score (Performance, Accessibility, Best Practices and SEO). +- [KaTeX](https://katex.org/) support. +- All JavaScript can be [fully disabled](https://welpo.github.io/tabi/blog/javascript/). +- [Customizable skins](https://welpo.github.io/tabi/blog/customise-tabi/). +- [Stylized feed](https://welpo.github.io/tabi/atom.xml). +- [Projects page](https://welpo.github.io/tabi/projects/). +- [Archive page](https://welpo.github.io/tabi/archive/). +- [Table of Contents](https://welpo.github.io/tabi/blog/toc/). +- Tags. +- Social links. +- Responsive design. +- Code syntax highlighting. +- [Customizable secure headers](https://welpo.github.io/tabi/blog/security/). +- [Custom shortcodes](https://welpo.github.io/tabi/blog/shortcodes/). + +## 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. diff --git a/static/img/ca_projects.jpg b/static/img/ca_projects.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/ca_projects.jpg differ diff --git a/static/img/ca_projects_nani.jpg b/static/img/ca_projects_nani.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/ca_projects_nani.jpg differ diff --git a/static/img/ca_projects_spectro.jpg b/static/img/ca_projects_spectro.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/ca_projects_spectro.jpg differ diff --git a/static/img/ca_projects_tabi.jpg b/static/img/ca_projects_tabi.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/ca_projects_tabi.jpg differ diff --git a/static/img/es_projects_chu.jpg b/static/img/es_projects_chu.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/es_projects_chu.jpg differ diff --git a/static/img/es_projects_nani.jpg b/static/img/es_projects_nani.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/es_projects_nani.jpg differ diff --git a/static/img/es_projects_spectro.jpg b/static/img/es_projects_spectro.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/es_projects_spectro.jpg differ diff --git a/static/img/es_projects_tabi.jpg b/static/img/es_projects_tabi.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/es_projects_tabi.jpg differ diff --git a/static/img/light_dark_tabi.webp b/static/img/light_dark_tabi.webp new file mode 100644 index 0000000..8025a04 Binary files /dev/null and b/static/img/light_dark_tabi.webp differ diff --git a/static/img/projects_chu.jpg b/static/img/projects_chu.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/projects_chu.jpg differ diff --git a/static/img/projects_nani.jpg b/static/img/projects_nani.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/projects_nani.jpg differ diff --git a/static/img/projects_tabi.jpg b/static/img/projects_tabi.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/projects_tabi.jpg differ diff --git a/static/img/social_cards/ca_projects.jpg b/static/img/social_cards/ca_projects.jpg index 16aa83e..5de0a33 100644 Binary files a/static/img/social_cards/ca_projects.jpg and b/static/img/social_cards/ca_projects.jpg differ diff --git a/static/img/social_cards/ca_projects_chu.jpg b/static/img/social_cards/ca_projects_chu.jpg new file mode 100644 index 0000000..d6a216c Binary files /dev/null and b/static/img/social_cards/ca_projects_chu.jpg differ diff --git a/static/img/social_cards/ca_projects_nani.jpg b/static/img/social_cards/ca_projects_nani.jpg new file mode 100644 index 0000000..a5e960a Binary files /dev/null and b/static/img/social_cards/ca_projects_nani.jpg differ diff --git a/static/img/social_cards/ca_projects_spectro.jpg b/static/img/social_cards/ca_projects_spectro.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/social_cards/ca_projects_spectro.jpg differ diff --git a/static/img/social_cards/es_projects.jpg b/static/img/social_cards/es_projects.jpg index d67a0a5..ebd9689 100644 Binary files a/static/img/social_cards/es_projects.jpg and b/static/img/social_cards/es_projects.jpg differ diff --git a/static/img/social_cards/es_projects_chu.jpg b/static/img/social_cards/es_projects_chu.jpg new file mode 100644 index 0000000..d785fab Binary files /dev/null and b/static/img/social_cards/es_projects_chu.jpg differ diff --git a/static/img/social_cards/es_projects_nani.jpg b/static/img/social_cards/es_projects_nani.jpg new file mode 100644 index 0000000..520a876 Binary files /dev/null and b/static/img/social_cards/es_projects_nani.jpg differ diff --git a/static/img/social_cards/es_projects_spectro.jpg b/static/img/social_cards/es_projects_spectro.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/social_cards/es_projects_spectro.jpg differ diff --git a/static/img/social_cards/es_projects_tabi.jpg b/static/img/social_cards/es_projects_tabi.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/social_cards/es_projects_tabi.jpg differ diff --git a/static/img/social_cards/projects.jpg b/static/img/social_cards/projects.jpg index b7d94ea..dce4ac0 100644 Binary files a/static/img/social_cards/projects.jpg and b/static/img/social_cards/projects.jpg differ diff --git a/static/img/social_cards/projects_chu.jpg b/static/img/social_cards/projects_chu.jpg new file mode 100644 index 0000000..04f860a Binary files /dev/null and b/static/img/social_cards/projects_chu.jpg differ diff --git a/static/img/social_cards/projects_nani.jpg b/static/img/social_cards/projects_nani.jpg new file mode 100644 index 0000000..a454908 Binary files /dev/null and b/static/img/social_cards/projects_nani.jpg differ diff --git a/static/img/social_cards/projects_tabi.jpg b/static/img/social_cards/projects_tabi.jpg new file mode 100644 index 0000000..a362670 Binary files /dev/null and b/static/img/social_cards/projects_tabi.jpg differ diff --git a/static/img/spectrogram.webp b/static/img/spectrogram.webp new file mode 100644 index 0000000..c472e7b Binary files /dev/null and b/static/img/spectrogram.webp differ diff --git a/templates/partials/cards_pages.html b/templates/partials/cards_pages.html index 50c7ee7..12d0e91 100644 --- a/templates/partials/cards_pages.html +++ b/templates/partials/cards_pages.html @@ -1,36 +1,31 @@ {%- set rel_attributes = macros_rel_attributes::rel_attributes() | trim -%} -{%- if config.markdown.external_links_target_blank -%} - {%- set blank_target = "target=_blank" -%} -{%- else -%} - {%- set blank_target = "" -%} -{%- endif -%} -
{%- for page in show_pages %}
- {% if page.extra.link_to %} - - {% endif %} - {% if page.extra.local_image %} - {% set meta = get_image_metadata(path=page.extra.local_image, allow_missing=true) %} - {{ - {% elif page.extra.remote_image %} - {{ - {% else %} -
- {% endif %} - {% if page.extra.link_to %} -
- {% endif %} + {# Determine which URL to use, default is page.permalink #} + {%- if page.extra.link_to and config.markdown.external_links_target_blank -%} + {%- set blank_target = "target=_blank" -%} + {%- else -%} + {%- set blank_target = "" -%} + {%- endif -%} + + {% set target_url = page.extra.link_to | default(value=page.permalink) %} + + + {% if page.extra.local_image %} + {% set meta = get_image_metadata(path=page.extra.local_image, allow_missing=true) %} + {{ page.extra.local_image }} + {% elif page.extra.remote_image %} + {{ page.extra.remote_image }} + {% else %} +
+ {% endif %} +

- {% if page.extra.link_to %} - {{page.title}} - {% else %} - {{page.title}} - {% endif %} + {{ page.title }}

@@ -40,6 +35,5 @@
- {% endfor -%}