wordpress pressato in markdown

Stasera ho in mano l’ennesimo caso di “skill issue a posteriori”, cioè di una roba che viene da chiedermi come ho fatto a non pensarci prima… vabbè va. Convertire siti #WordPress in file pseudo-Markdown per i generatori statici non è mai stato semplice quanto 30 righe scarsissime di #XSLT. 🔥

Ovvio, a posteriori è tutto banale — corollario di Murphy — però, se mi fosse venuta in mente prima questa come soluzione, mi sarei risparmiata qualche mal di capa quasi un anno fa fino ad ora… e qualche scelta forse un po’ scomodina ancora più tempo prima. 🥴

A differenza di anche solo 2 anni fa, in realtà, negli ultimi mesi sono usciti su GitHub ancora nuovi programmini e script, per convertire file di esportazione #XRSS di WordPress in file Markdown — giusto per reference, li ho raccolti su https://memos.octt.eu.org/m/X6v7w4FccbBon6J6jxCYoJ — però, oggi che ne cercavo uno ideale, comunque ho visto che fanno tutti cahà. ☠️

Gli autori di questi programmi pensano di essere culi intelligenti, e quindi non solo leggono l’XML di esportazione per convertire i metadati in YAML e salvare su multipli file con il nome giusto…… ma convertono tutto il corpo #HTML in #Markdown, cosa che non so come altro descrivere se non come la mossa più stupida dell’universo, perché è una procedura lossy che letteralmente rompe il contenuto, se non vengono considerati tutti i casi limite. 😵

Tutta questa scienza però evidentemente non serve, se un foglio di trasformazione XML tirato su in 10 minuti è sufficiente… yikes. L’ho caricato per i consumatori (inclusa me di qualche ora dopo) sulla mia repo di monnezza: https://gitlab.com/octospacc/Snippets/-/blob/main/WordPress-To-Yaml+Html.xslt. Per usarlo, basta darlo come primo argomento al programma xsltproc (che è nelle repo di Debian, quindi presumo ovunque), e come secondo argomento specificare il file .xml esportato da WordPress… 🥰

Chiaramente, troppa #magia con così poco codice non è possibile, quindi questo metodo da in output un enorme flusso di testo con tutte le pagine “esportate” concatenate… e si dovrà usare uno #script aggiuntivo per separare il file singolo in tanti dal nome giusto; appena una manciata di righe in qualsiasi linguaggio, ma questo è come lo faccio io in sh (per l’archivioctt): https://gitlab.com/octospacc/archivioctt/-/blob/mkdocs/scripts/wordpress-to-mkdocs.sh 😽

(Per chi non sa leggere: viene usato “<!-- wp:item /-->” come separadore, quindi quello deve essere usato per splittare. Opzionalmente si possono aggiungere e modificare i filtri XPath usati nel xsl:for-each per includere ed escludere tipi di robe, ad esempio includere solo i post, o solo le pagine pubbliche, nonché aggiungere e togliere proprietà ai metadati YAML… però di base è già alla massima goduria!!!)

#HTML #magia #Markdown #script #WordPress #XRSS #XSLT

finalmente backup veri. - fritto misto di octospacc

Ben 2 mesi fa (pensavo meno…) avevo detto qualche dettaglio sul #backup del #MicroBlog… la metà delle cose rimane ancora valida, ma è uscita fuori qualche #rogna nel tempo. 🕤️ Troppo troppo pallose ‘ste cosine qui, ma menomale che proprio oggi mi è venuto lo schiribizzo di tentare di sistemarle, un po’ anche grazie alla […]

fritto misto di octospacc

Ben 2 mesi fa (pensavo meno…) avevo detto qualche dettaglio sul #backup del #MicroBlog… la metà delle cose rimane ancora valida, ma è uscita fuori qualche #rogna nel tempo. 🕤️

  • Avevo notato che #Altervista tende ad invalidare le sessioni un po’ a caso, quindi puntualmente lo #script falliva ad esportare il file #XRSS con cURL. Per un po’ di #tempo non ho tentato di risolvere il problema, immaginando che ci dovesse essere un modo migliore dello scraping di farlo, ma allo stesso tempo non riuscendo a pensare a nulla, e ho fatto giusto qualche #esportazione a mano di routine. ✍️
  • Non mi preoccupavo troppo perché (e ricordavo di averlo detto, ma temo di non averlo mai fatto, non trovo il post) avevo installato il plugin “Writing on GitHub“, che in automatico esporta i nuovi #post in Markdown nel posto lì dove dice il nome… sembrava perfetto, ma appena 2 settimane (meglio tardi che troppo tardi) fa ho scoperto che non fa il commit di eventuali modifiche apportate ad un post dopo la creazione (nemmeno con il tasto per forzare), che è quantomeno un #problemino. 🧨️

Troppo troppo pallose ‘ste cosine qui, ma menomale che proprio oggi mi è venuto lo schiribizzo di tentare di sistemarle, un po’ anche grazie alla minima ulteriore conoscenza tecnica di #WordPress accumulata in queste lunghe settimane, e quindi ecco i miei aggiustamenti: ⛏️

  • Ho fatto un #plugin mio per esporre un endpoint #REST custom che mi da il documento #XML di esportazione, quindi posso usare sempre il curlo o quello che è, ma senza impazzire. Ho pagato ciò con la pazzia ora, però, in quanto nonostante avessi capito subito di dover usare una certa funzione export_wp(), non mi è stato subito chiaro che io dovessi includere un certo file di libreria per poterla effettivamente chiamare; la documentazione ufficiale a riguardo è scarsa, e di quella terza non ne parliamo proprio. Anche ChatGPT a ‘sto giro è stato fregato dalla realtà del mondo. 😱️
  • Ho invano perso po’ di tempo a ravanare nel #codice di WOGH per capire come mai non prendesse in conto le #modifiche. Temevo non fosse programmato per farlo, ma in effetti lo è (e, a pensarci un attimo, sarebbe strano altrimenti), quindi è un #bug. Vabbè, dopo troppo #debugging sono arrivata alla conclusione che per qualche motivo non salva l’hash dei commit che fa, necessario per crearne di nuovi che modificano file esistenti, ma cercare di sistemarlo per bene è una grossa rogna che non voglio nemmeno iniziare a crearmi. Quindi, dato che la #sincronizzazione perfettamente istantanea non mi serve, ho banalmente aggiunto la scrittura su file in una cartella dall’URL segreto in wp-content, quindi poi prelevo tutto via FTP. Ahimé duplico lo spazio occupato sul #server, ma tanto in primis non ho limiti fissi, e comunque è tutto testo quindi poca roba. 👁️‍🗨️️

https://octospacc.altervista.org/2024/02/14/finalmente-backup-veri/

#AlterVista #backup #bug #codice #debugging #esportazione #MicroBlog #modifiche #plugin #post #problemino #REST #rogna #script #server #sincronizzazione #tempo #WordPress #XML #XRSS

- fritto misto di octospacc

Aggiungendo qualche riga al mio #megascript di #backup (https://gitlab.com/octospacc/Configs/-/blob/1389c5bdbc76d5764bffd52e8bae9b0c4617fe1d/Server/Root/Main/Server/Scripts/BackupAll.zx.mjs#L82), ora dovrei poter tenere il #sito del #FrittoMisto al sicuro. 🍳 Ogni notte o quando è, il mio #server si collegherà via #FTP ad #AlterVista e sincronizzerà in locale la cartella wp-contents grazie ad #rclone. Allo stesso tempo, con un comando #cURL copiato dal browser, si […]

fritto misto di octospacc

Aggiungendo qualche riga al mio #megascript di #backup (https://gitlab.com/octospacc/Configs/-/blob/1389c5bdbc76d5764bffd52e8bae9b0c4617fe1d/Server/Root/Main/Server/Scripts/BackupAll.zx.mjs#L82), ora dovrei poter tenere il #sito del #FrittoMisto al sicuro. 🍳

Ogni notte o quando è, il mio #server si collegherà via #FTP ad #AlterVista e sincronizzerà in locale la cartella wp-contents grazie ad #rclone. Allo stesso tempo, con un comando #cURL copiato dal browser, si scaricherà una copia del file #XRSS di esportazione #WordPress. A quel punto, finirà tutto su una #repository #Git privata, con buona pace delle corporation che mi offrono il servizio, a cui sottrarrò gratuitamente ancora più GB di #archiviazione. 💾

Sono sempre pallose questo tipo di #faccende, ma c’è poco da fare, perché non c’è backup più scocciante di quello non fatto…

https://octospacc.altervista.org/2023/12/12/464/

#AlterVista #archiviazione #backup #cURL #faccende #FrittoMisto #FTP #Git #megascript #rclone #repository #server #sito #WordPress #XRSS

Server/Root/Main/Server/Scripts/BackupAll.zx.mjs · 1389c5bdbc76d5764bffd52e8bae9b0c4617fe1d · octt / Configs · GitLab

GitLab.com

GitLab