Yt2md Converter YouTube to Markdown

 

Yt2md Converter YouTube to Markdown

 

Nel corso dello sviluppo di vari progetti open source, mi sono spesso trovato nella necessità di integrare video tutorial nei file README e nella documentazione tecnica. Il processo manuale di creazione dei link Markdown con thumbnail cliccabili richiedeva tempo e attenzione ai dettagli. Per risolvere questo problema in modo efficiente, ho sviluppato Yt2md Converter (YouTube to Markdown Converter), una suite completa di strumenti in bash che automatizza la conversione di link YouTube in codice Markdown formattato, pronto per l’inserimento in README di GitHub, documentazione tecnica e blog.

Problema e Soluzione

Il Problema

L’integrazione di video YouTube nella documentazione richiede tipicamente:
1. Estrazione del Video ID dall’URL
2. Costruzione dell’URL della thumbnail
3. Scrittura manuale della sintassi Markdown
4. Verifica della correttezza del codice generato

Questo processo, ripetuto per ogni video, diventa rapidamente tedioso e soggetto ad errori.

La Soluzione

Yt2md automatizza completamente questo workflow, offrendo:
– Conversione istantanea da Video ID a Markdown
– Supporto per multipli formati di output
– Interfaccia CLI per automazione
– Interfaccia GUI per utenti non tecnici
– Modalità batch per conversioni multiple
– Zero dipendenze per le versioni CLI base

Installazione Base

Clone repository

git clone https://github.com/fconidi/Yt2md-Converter
cd yt2md
bash yt2md.sh --help
Installazione Sistema (Opzionale)

Copia in /usr/local/bin

sudo cp yt2md.sh /usr/local/bin/yt2md
sudo chmod +x /usr/local/bin/yt2md

Dipendenze GUI

Ubuntu/Debian

sudo apt install zenity xclip

Architettura del Progetto

Il progetto è strutturato in quattro componenti principali:

1. yt2md.sh – CLI Semplificato

La versione consigliata per uso quotidiano. Sintassi minimalista:

bash yt2md.sh VIDEO_ID "TITOLO" "AUTORE"

 

**Caratteristiche tecniche:**

– Parsing robusto degli ID video da URL multipli formati
– Costruzione dinamica degli URL thumbnail
– Nessuna dipendenza esterna
– Output su stdout o file
– Supporto per 4 formati di output

 

**Esempio di utilizzo:**
bash yt2md.sh dQw4w9WgXcQ "Tutorial Linux Base" "TechChannel"

 

**Output generato:**
[![Tutorial Linux Base](https://img.youtube.com/vi/dQw4w9WgXcQ/hqdefault.jpg)](https://www.youtube.com/watch?v=dQw4w9WgXcQ)
2. yt2md-gui.sh – Interfaccia Grafica (Consigliato)

Implementazione basata su Zenity per utenti che preferiscono un’interfaccia visuale.

**Funzionalità:**

– Dialog guidati step-by-step
– Validazione input in tempo reale
– Progress bar per feedback visuale
– Integrazione clipboard (xclip)
– Conversione batch con formato strutturato
– Menu help integrato

**Dipendenze:**

– zenity
– xclip (opzionale, per clipboard)

**Workflow conversione singola:**

1. Input Video ID o URL completo
2. Input titolo (validato, obbligatorio)
3. Input autore (opzionale, default fornito)
4. Selezione formato output
5. Selezione qualità thumbnail
6. Opzioni risultato: clipboard, file, visualizzazione

**Conversione batch:**

Formato input strutturato:

VIDEO_ID | TITOLO | AUTORE

Supporta:
– Parsing automatico con rimozione spazi
– Commenti (linee che iniziano con )
– Progress bar per ogni elemento
– Report errori e successi

3. yt2md-offline.sh – CLI con Opzioni

Versione con sintassi più tradizionale per utenti abituati agli strumenti Unix standard.

bash yt2md-offline.sh -t "TITOLO" -a "AUTORE" VIDEO_ID
4. yt2md-cli.sh – CLI Avanzato

Versione completa con tutte le opzioni disponibili:

bash yt2md-cli.sh --offline --title "TITOLO" --author "AUTORE" VIDEO_ID

Supporta:
– Modalità offline esplicita
– Opzioni estese
– Help dettagliato
– Gestione errori avanzata

Formati Output Supportati

Standard Format
Il formato predefinito, ottimale per README di GitHub:

[![TITOLO](THUMBNAIL_URL)](VIDEO_URL)

Simple Format
Link testuale senza thumbnail:

[TITOLO](VIDEO_URL)

Table Format
Per liste strutturate:

| [![TITOLO](THUMB)](URL) | AUTORE |

Embed Format
Codice HTML completo con iframe:

<a href="VIDEO_URL">
<img src="THUMBNAIL" alt="TITOLO" width="480">
</a>
<iframe width="560" height="315" src="EMBED_URL"></iframe>

Il sistema supporta multipli formati di URL YouTube:

Supporta:
– URL standard: `youtube.com/watch?v=ID`
– URL brevi: `youtu.be/ID`
– Shorts: `youtube.com/shorts/ID`
– ID diretti: `ID` (11 caratteri)

Costruzione URL Thumbnail

YouTube fornisce thumbnail a diverse risoluzioni:

case "$size" in
default) thumb="https://img.youtube.com/vi/${id}/default.jpg" 120x90
medium) thumb="https://img.youtube.com/vi/${id}/mqdefault.jpg" 320x180
high) thumb="https://img.youtube.com/vi/${id}/hqdefault.jpg" 480x360
maxres) thumb="https://img.youtube.com/vi/${id}/maxresdefault.jpg" 1280x720
esac

Default consigliato: `high` (480×360) per bilanciamento qualità/peso.

Limitazioni Attuali

1. **Modalità Offline:**
– Titolo e autore devono essere forniti manualmente
– Nessuna verifica esistenza video

2. **Metadata:**
– Non recupera durata video
– Non recupera conteggio visualizzazioni
– Non recupera data pubblicazione

3. **Thumbnail:**
– URL fissi (nessuna verifica disponibilità)
– MaxRes potrebbe non esistere per video vecchi

4. **Playlist:**
– Nessun supporto diretto per playlist
– Richiede estrazione manuale ID

Conclusioni

Yt2md Converter rappresenta una soluzione completa per l’integrazione di contenuti YouTube in documentazione tecnica. La sua architettura modulare, la varietà di interfacce disponibili e l’assenza di dipendenze per le versioni base lo rendono adatto a scenari d’uso diversificati.Il progetto è completamente open source (licenza MIT) e accetta contributi dalla community. Il codice è disponibile su GitHub.

Yt2md Converter YouTube to Markdown

enjoy 😉

 

Advanced Comics Converter CBZ/CBR in PDF

 

Advanced Comics Converter CBZ/CBR in PDF

Introduzione

Advanced Comics Converter (ACC) è un potente strumento professionale multipiattaforma, progettato per automatizzare la conversione di archivi digitali di fumetti in formato PDF. Lo strumento integra elaborazione parallela, validazione avanzata dei file e un’interfaccia grafica per gestire efficientemente collezioni di qualsiasi dimensione. Questo programma è l’evoluzione di comics-converter presente su GitHub, ma nella versione advanced. Ottimo se utilizzato insieme ad RCU (Rename Comics Converter). Esiste anche la versione per gli utenti Windows.

Architettura e funzionalità principali

Elaborazione parallela intelligente

ACC sfrutta GNU Parallel per processare multipli file contemporaneamente, utilizzando fino all’80% dei core disponibili. Questo approccio riduce drasticamente i tempi di conversione su collezioni estese, mantenendo la stabilità del sistema.

Validazione basata su magic bytes

Lo script implementa un controllo rigoroso delle estensioni file attraverso l’analisi dei magic bytes, correggendo automaticamente archivi con estensioni errate. Supporta:

  • ZIP/CBZ: 50 4B 03 04, 50 4B 05 06, 50 4B 07 08
  • RAR4/CBR: 52 61 72 21
  • RAR5/CBR: 06 00 00 00 52 61 72 21 1A 07 01 00
Gestione multi-tool degli archivi RAR

Per massimizzare la compatibilità con formati RAR corrotti o varianti non standard, ACC implementa una strategia di fallback sequenziale:

  1. rar con riparazione automatica (rar r -y)
  2. unar per estrazione alternativa
  3. unrar come opzione di backup
  4. 7z come ultimo tentativo
Interfaccia grafica e logging selettivo

L’integrazione con Zenity fornisce feedback visivo attraverso finestre di selezione directory e barre di progresso in tempo reale. Il sistema di logging registra esclusivamente errori critici, facilitando il debugging senza generare output ridondante.

Pipeline di conversione

Il processo di conversione segue un workflow ottimizzato:

  1. Selezione directory tramite GUI Zenity
  2. Verifica automatica delle dipendenze di sistema
  3. Scansione ricorsiva dei file CBZ/CBR
  4. Validazione e correzione delle estensioni
  5. Filtro intelligente per escludere file già convertiti
  6. Estrazione parallela degli archivi
  7. Normalizzazione immagini in formato JPG
  8. Generazione PDF individuali per pagina
  9. Merge finale con PDFtk
  10. Pulizia automatica dei file temporanei
Dipendenze core su Linux
sudo apt install imagemagick img2pdf pdftk unzip zenity coreutils parallel
Strumenti opzionali per CBR

WinRAR per Linux (ma altamente consigliato per funzionalità di riparazione):

wget https://www.win-rar.com/fileadmin/winrar-versions/rarlinux-x64-712.tar.gz
tar -xvf rarlinux-x64-712.tar.gz
cd rar/ 
sudo cp rar unrar /usr/local/bin
Installare: unar, unrar-free, p7zip-full
sudo apt install unar unrar-free p7zip-full

DOWNLOAD

 

Utilizzo base

da script
chmod +x advanced-comics-converter.sh
./advanced-comics-converter.sh
oppure il pacchetto deb
sudo dpkg -i advanced-comics-converter_2.0.0_all.deb

Selezionare la directory contenente i file tramite la finestra di dialogo. I PDF vengono generati nella stessa posizione dei file sorgente, con log degli errori in comics_converter_errors.log.

Ottimizzazione e personalizzazione

Regolazione del parallelismo

Modificare il parametro -j alla linea 338 circa:

parallel -j 50% # riduce il carico su sistemi con RAM limitata
parallel -j 100% # massimizza le prestazioni su hardware potente
parallel -j 4 # numero fisso di job simultanei

Controllo qualità immagini

Aggiungere il parametro -quality nella conversione ImageMagick (linea 180):

convert "$img" -quality 85 "$TEMPNAME"

Valori consigliati: 75-95 (bilanciamento tra dimensione file e qualità visiva).

Gestione errori e troubleshooting

Il sistema di logging strutturato registra:

  • Timestamp di esecuzione
  • Path della directory elaborata
  • Errori di estrazione per singolo file
  • Fallimenti nella conversione immagini
  • Problemi nel merge PDF
  • Statistiche riepilogative (file convertiti, saltati, falliti)

Per archivi corrotti non riparabili automaticamente:

rar r -y file_corrotto.cbr # tentativo manuale di riparazione
rar t file_corrotto.cbr # test di integrità

Considerazioni sulle prestazioni

Requisiti di sistema

  • RAM: proporzionale al parallelismo (consigliati 2GB per job)
  • Spazio disco: buffer temporaneo pari a 2x il file più grande
  • CPU: beneficio lineare fino a 8 core, miglioramenti marginali oltre

Limitazioni tecniche

  • Formati supportati limitati a CBZ (ZIP) e CBR (RAR/RAR5)
  • Conversione forzata a JPG per compatibilità PDF universale
  • Impossibilità di processare archivi protetti da password
  • Dipendenza da X11 per l’interfaccia Zenity

Conclusioni

Advanced Comics Converter rappresenta una soluzione completa per la gestione automatizzata di collezioni digitali di fumetti. La combinazione di elaborazione parallela, validazione rigorosa e riparazione automatica degli archivi lo rende uno strumento affidabile per conversioni batch su larga scala.

Il progetto è rilasciato come software libero, utilizzabile e modificabile secondo le esigenze specifiche dell’utente.

Risorse

 

DOWNLOAD

 

Advanced Comics Converter CBZ/CBR in PDF

 

Advanced Comics Converter CBZ/CBR in PDF

enjoy 😉

P-AI Desktop: Client Linux per Perplexity AI

 

P-AI Desktop: Client Linux per Perplexity AI

P-AI Desktop: Client Linux non ufficiale per Perplexity AI

 

P-AI Desktop: Client Linux per Perplexity AI. Presento P-AI Desktop, un client desktop per Linux che porta l’interfaccia di Perplexity AI direttamente sul vostro ambiente di lavoro. Si tratta di un progetto open source, sviluppato come wrapper Electron, che risponde all’esigenza di avere un’applicazione nativa per un servizio attualmente disponibile solo via browser su piattaforme Linux. Recandomi sul sito di Perplexity ho visto che sono presenti le App per Windows, OSX, Android ed iphone, quindi mancava solo quella per Linux. Ho deciso di portarla su Linux, sia come paccheto deb per Debian/SysLinuxOS/Ubuntu che direttamente come Appimage.

Caratteristiche tecniche

Il progetto è costruito interamente su Electron e Node.js, offrendo un’integrazione pulita con l’ecosistema desktop Linux. L’applicazione carica direttamente l’interfaccia web ufficiale di Perplexity mantenendo la piena funzionalità del servizio.

Tra le funzionalità implementate:

  • Scorciatoia globale da tastiera (Ctrl+Shift+P) per richiamare rapidamente la finestra da qualsiasi workspace

  • Gestione intelligente dei link esterni: gli URL non appartenenti al dominio Perplexity vengono aperti automaticamente nel browser di sistema, garantendo una separazione netta tra applicazione e navigazione web

  • Integrazione completa con il desktop environment attraverso file .desktop e icona personalizzata

  • Packaging nativo per distribuzioni Debian-based (.deb) e formato universale AppImage

Stack tecnologico

  • Runtime: Electron 28+

  • Build system: electron-builder per la generazione automatica dei pacchetti

  • Formato distribuzione: .deb (Debian/Ubuntu) e AppImage (universale)

Note legali e licenza

È importante sottolineare che P-AI Desktop è un progetto indipendente, non affiliato né approvato da Perplexity AI. Il nome, i marchi e il logo di Perplexity sono proprietà dei rispettivi titolari. L’icona dell’applicazione è stata progettata specificamente per evitare qualsiasi confusione con il brand ufficiale.

Il progetto è rilasciato con licenza MIT, garantendo massima libertà di utilizzo, modifica e distribuzione del codice sorgente.

Installazione

L’installazione è immediata attraverso i pacchetti precompilati. Per sistemi Debian/Ubuntu:

sudo dpkg -i p-ai-desktop_1.0.0_amd64.deb

Per distribuzioni generiche, il formato AppImage garantisce compatibilità universale:

chmod +x P-AI-Desktop-1.0.0.AppImage
./P-AI-Desktop-1.0.0.AppImage

Installazione da sorgente

 

Prerequisiti
  • Node.js 18+
  • npm
Istruzioni
git clone https://github.com/fconidi/P-AI-Desktop.git
cd P-AI-Desktop
npm install
npm run build

i pacchetti saranno generati nella cartella /dist.

Sviluppo futuro

Il progetto è nelle fasi iniziali e sono già pianificate diverse estensioni: integrazione con system tray, supporto per configurazioni personalizzate delle scorciatoie, packaging Flatpak e Snap per una distribuzione ancora più capillare.

Il codice sorgente è disponibile su GitHub, dove contributi e segnalazioni sono benvenuti dalla community.


Disclaimer: P-AI Desktop è un progetto community-driven non ufficiale. Per il servizio ufficiale Perplexity AI, si rimanda al sito www.perplexity.ai

P-AI Desktop: Client Linux non ufficiale per Perplexity AI

 

enjoy 😉

 

Rilasciata SysLinuxOS 13 Gnome

 

Rilasciata SysLinuxOS 13 Gnome

 

Rilasciata SysLinuxOS 13 Gnome. Dopo la recente pubblicazione di SysLinuxOS 13 Mate, il progetto SysLinuxOS annuncia con soddisfazione il rilascio della nuova edizione: SysLinuxOS 13 GNOME.
Questa release introduce l’ambiente desktop GNOME 48, con l’obiettivo di offrire un’esperienza moderna, pulita e focalizzata sulla produttività, senza compromettere stabilità e affidabilità.

Rilasciata SysLinuxOS 13 Gnome

DOWNLOD


Obiettivi del rilascio

SysLinuxOS è una distribuzione Linux costruita per essere stabile, modulare e sicura, pensata in primo luogo per system integrators, amministratori di sistema e professionisti IT.
Non è una distribuzione per utenti inesperti: richiede competenze in ambito Linux e nella gestione di sistemi complessi. L’obiettivo è fornire una piattaforma solida da adottare in ambienti di produzione, capace di adattarsi alle esigenze di chi integra, mantiene e gestisce infrastrutture.


Dettagli tecnici
  • Base: Debian 13 (Trixie – ramo Stable)
  • Kernel: Liquorix, ottimizzato per garantire prestazioni superiori in ambito desktop e multitasking
  • Desktop Environment: GNOME 48, con librerie GTK 4
  • Gestione pacchetti: APT con repository ufficiali Debian
  • Strumenti inclusi di default: LibreOffice, Firefox ESR, GNOME Terminal, GNOME Software e utility essenziali per amministrazione e monitoraggio
  • Sicurezza: aggiornamenti costanti tramite canali Debian Security.
  • Ottimizzazioni: configurazioni preimpostate per velocizzare tempi di avvio, ridurre il consumo di risorse e garantire una migliore reattività su hardware recente

Changelog sintetico: differenze tra edizione Mate e GNOME
  • Desktop Environment: Mate 1.26 → GNOME 48
  • Framework grafico: GTK 3 → GTK 4
  • Gestore finestre: Marco → Mutter
  • File Manager: Caja → Nautilus
  • Terminale: MATE Terminal, Terminator → GNOME Terminal, Terminator
  • Centro di controllo: Control Center Mate → GNOME Settings
  • Ecosistema software: Synaptic-GNOME Extensions
  • Esperienza utente: workflow basato su GNOME Shell, con interfaccia minimalista e multitasking ottimizzato

Conclusione

SysLinuxOS 13 GNOME offre una nuova opzione all’interno della famiglia SysLinuxOS: un desktop moderno, reattivo e fortemente integrato, costruito su Debian 13 Trixie e potenziato dal kernel Liquorix. Si può volendo utilizzare il kernel principale Debian dai repository.
Il progetto continua così ad ampliare la gamma di strumenti a disposizione dei professionisti che cercano una distribuzione Linux affidabile, sicura e pronta per essere inserita in scenari produttivi complessi.

SysLinuxOS 13 (for System Integrator)

Rilasciata SysLinuxOS 13 Gnome

DOWNLOAD

enjoy 😉

 

Gnome 3.6 su Debian Sid/Experimental

 

Gnome 3..6.1 si trova nei repository experimental, e mi sono deciso ad installarlo, giusto per dargli un'occhiata. Al momento mancano 2 pacchetti essenziali, gnome-session-fallback e gnome-shell-extensions, comunque non ci sono problemi nell'utilizzo, e per avere l'estensioni, si può al momento anche usare il pacchetto di ubuntu. Per i temerari, quindi:

 

# apt-get install -t experimental gnome-shell gnome-icon-theme gnome-packagekit gnome-desktop3-data nautilus gnome-packagekit-tools gnome-panel-data mutter libgnome-desktop-3-dev

 

enjoy 😉

Installare Grub 2 versione 2.00-7 su Debian Gnu/Linux

 

Da circa venti giorni nei repo Debian experimental è arrivato Grub 2 con la versione 2.00-7. Non avendo null'altro da fare mi sono deciso ad installarlo:

 

# apt-get install -t experimental grub-pc

 

tutto è andato bene, i sistemi sono stati tutti riconosciuti, e nel menu si nota un cambiamento:

 

Installazione completata, nessun errore segnalato.
Creazione di grub.cfg…
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Trovata immagine linux: /boot/vmlinuz-3.2.0-3-amd64
Trovata immagine initrd: /boot/initrd.img-3.2.0-3-amd64
Attenzione: Please don't use old title `Debian GNU/Linux, con Linux 3.2.0-3-amd64' for GRUB_DEFAULT, use `Advanced options for Debian GNU/Linux>Debian GNU/Linux, con Linux 3.2.0-3-amd64' (for versions before 2.00) or `gnulinux-advanced-ac56aa26-0325-40a2-a4f6-7b82017bafbf>gnulinux-3.2.0-3-amd64-advanced-ac56aa26-0325-40a2-a4f6-7b82017bafbf' (for 2.00 or later)

 

nel nuovo menu di Grub 2, nella lista del nostro kernel apparirà la nuova voce, "Opzioni avanzate per Debian GNU/Linux", utile come al solito per eventuali recuperi di sistema.

 

enjoy 😉

Estensioni Shell OSD + Extension List su Debian Sid e gnome-shell 3.4.1

 

 

Dopo aver installato gnome-shell 3.4.1 su Debian Sid, sul sito ufficiale dell'estensioni, ho trovato due estensioni interessanti e che non conoscevo. La prima è Shell OSD, che non fa altro che spostare l'area della notifica, dalla zona in basso centrale, a quella in alto a destra, che secondo me è la zona migliore. La seconda estensione invece è Extensions List, che praticamente ci permette in locale di aggiornare disinstallare l'estensioni installate, senza ricorrere a gnome-tweak-tool.

 

enjoy 😉

Gnome-Shell 3.4.1 su Debian Sid/Experimental

 

Come si può vedere qua, gnome-shell 3.4.1 è arrivato finalmente nei repo experimental. Io l'ho installato e non ho notato nessun problema di sorta. Ho installato anche un po di estensioni, e sono tutte funzionanti. Voglio segnalare una estensione che ho appena scoperto, Panel-Docklet v13, molto utile per una customizzazione di gnome-shell, da la possibilità di creare una dock oppure il classico pannello con i programmi favoriti, tipo Gnome 2.x. Per il momento mi limito a provare gnome-shell 3.4, cercando di capirne i miglioramenti. Per installarlo:

 

# nano /etc/apt/sources.list

 

aggiungere i repo experimental:

 

deb https://ftp.debian.org/debian/ experimental main contrib non-free

 

e poi:

 

# apt-get update

# apt-get install -t experimental gnome-shell

 

 

enjoy 😉

Cinnamon 1.3 su Debian Wheezy/Sid pacchetti Deb

 

 

 

 

 

In rete non si parla altro che dell'uscita di Cinnamon, ed allora mi sono incuriosito ed ho voluto provarlo, chiaramente sulla mia Debian Sid, fresca di una nuova installazione 🙂 Debbo dire con tutta onestà che non è per niente male, anche perchè possono convivere entrambi, sia gnome-shell, sia Cinnamon. Io ho preparato questi pacchetti sia per architettura i386 che amd64, e su Debian Sid, non ho riscontrato nessun problema, credo che anche su Wheezy (testing) dovrebbero andare, ma di questo aspetterò conferme da chi li testerà 🙂 Una volta installati i pacchetti, non bisogna fare altro che riloggarsi e scegliere Cinnamon, se non si avvia al primo colpo, avviare con:

 

$ cinnamon --replace

 

Download amd64

Download i386

 

ps: nel caso di problemi con le dipendenze: sudo apt-get install -f

 

enjoy 😉

(Update) Extension Dock a sinistra su Debian Sid

 

Dopo aver fatto pulizie di tutte le estensioni, poichè ne avevo di "vecchie e doppie", tanto da non capire quale mi davano problemi, mi sono rimesso a reinstallarle. L'estensione Dock a sinistra per me è obbligatoria, quindi come al solito sono andato a modificare GSettings, ma la Dock mi rimaneva sempre a destra. Leggendo attentamente, ho letto che nella versione di Gnome 3.2, adesso bisogna modificare a manina il file extension.js, mentre nelle versioni 3.3 e 3.4, tutto viene memorizzato in GSettings. Nel file extension.js ci sono 12 RIGHT, il primo va tenuto:

 

const PositionMode = {
    LEFT: 0,
    RIGHT: 1
};

 

gli altri 11 dovranno diventare LEFT.

 

Update 13/2:

adesso va con il comando solito….mah!!!!

 

$ gsettings set org.gnome.shell.extensions.dock position left

 

 

enjoy 😉