link YouTube in HUGO

Mentre giocavo a rifare il sito avvalendomi di HUGO, e barcamenandomi tra export improbabili da Wordpress, nel tentativo di non distruggere tutto mi sono reso conto di come si possano inserire link a video Youtube direttamente nel file .MD MarkDown senza la necessità di incorporare codice HTML.

Voi, giustamente mi direte, beh niente di nuovo sotto il sole, è ampiamente documentato nel file guida rich-content.md contenuto nei file di HUGO, verissimo ma coma saprete se avete letto la documentazione per agganciare un file YouTube dobbiamo inserire precisamente una parte de link completo al video, ovvero l'ID del video che ci interessa collegare, questo ci richiede una analisi dell'indirizzo del video che ci interessa e sarà nostro onere ritagliare la parte relativa all'ID che ci interessa. Fare ciò non è certo un'impresa impossibile tuttavia può dimostrarsi un po' noiosa, soprattutto se dovete farlo per diversi video. Ci viene in aiuto, come molto spesso accade, la bash, per la quale di seguito vi indico un semplice scritpt con il quale potrete estrarre in automatico l'ID e generare direttamente il codice da inserire nel vostro file markdown futuro post da renderizzare e pubblicare attraverso HUGO.

yt2hugo.sh

 1#!/bin/bash
 2
 3# Controlla se è stato passato un link
 4if [ -z "$1" ]; then
 5  echo " Errore: Devi fornire un link di YouTube."
 6  echo " Esempio: ./yt2hugo.sh https://youtu.be/Q5-PCV-t_MU"
 7  exit 1
 8fi
 9
10# Estrai l'ID del video da un link normale o abbreviato
11video_id=$(echo "$1" | sed -E 's#.*(watch\?v=|youtu\.be/)([^&?]+).*#\2#')
12
13# Controlla se è stato trovato un ID valido
14if [ -z "$video_id" ]; then
15  echo "No! Errore: Impossibile estrarre l'ID del video."
16  exit 1
17fi
18
19# Genera lo shortcode
20echo "OK Shortcode Hugo generato:"
21echo "||< youtube $video_id >||" <-- Sostituite || con doppie parentesi graffe {{  }} aperte e chiuse

salvate il file con estensione .sh per renderlo utilizzabile nella shell di linux, modificate i permessi con il classico:

1chmod +x yt2hugo.sh

utilizzo:

1./yt2hugo <indirizzo_video_youtube>

esempio di output:

1belzebu@rymstudio: ./yt2hugo.sh https://www.youtube.com/LINK-COMPLETO-DI-ID-DEL-VIDEO-E-ALTRO
2OK Shortcode Hugo generato:
3||< youtube ID-DEL-VIDEO >||

Copiate lo shortcode generato ed il gioco è fatto.

spero possa tornarvi utile.