Correggere la formattazione HTML usando la semplice shell scripting

Correggere la formattazione HTML usando la semplice shell scripting / Programmazione

Se scrivi spesso HTML in un editor e poi lo incolli in WordPress, noterai che a volte i fastidiosi tag di formattazione (come tag) vengono aggiunti. Usando semplici script di shell, è possibile ripulire automaticamente la formattazione di rifiuti in formato HTML con alcuni semplici comandi.

Perché usare lo scripting di shell? Se sei nuovo alla programmazione, è molto, molto meglio iniziare in piccolo. Non solo hai meno probabilità di mollare, ma avrai l'opportunità di fermarti e imparare lungo la strada. Detto questo, i tuoi primi programmi possono essere davvero utili anche se sono anche molto semplici.

Scripting della shell Qual è lo scripting della shell e perché dovresti usarlo Che cos'è lo scripting della shell e perché dovresti usarlo Oltre alla possibilità di accettare ed eseguire i comandi in modo interattivo, la shell può anche eseguire i comandi memorizzati in un file. Questo è noto come script di shell. Qui trattiamo le basi dello scripting di shell. Leggi altro è un ottimo modo per iniziare a programmare per questo preciso motivo: è facile mettere insieme qualcosa in un paio di righe di codice che ti consentiranno di risparmiare un po 'di tempo. Diamo un'occhiata ad un paio di ricette, o “modelli,” puoi riutilizzare in script dei tuoi.

Perché Shell Scripting?

Innanzitutto, iniziamo definendo “script di shell” come scrivere script da eseguire nella shell Bash. Tecnicamente parlando, potrebbero essere definiti anche altri linguaggi di scripting come Powershell “script di shell.” Ma perché concentrarsi sullo scripting di shell in generale, e in particolare sugli script di Bash, in primo luogo?

  • Con l'introduzione del sottosistema Windows per Linux, la shell Bash è ora compatibile con tutte le principali piattaforme PC. Una guida rapida per Linux Bash Shell in Windows 10 Una guida rapida per Linux Bash Shell in Windows 10 Ora puoi eseguire Linux su Windows. Scopri di più su Bash su Windows, da come e perché dovresti installarlo, a funzionalità nascoste che probabilmente non conoscevi. Leggi di più . (È anche incluso su macOS e praticamente su tutte le distribuzioni Linux per impostazione predefinita.) È disponibile anche su telefoni Android con Termux Come utilizzare la riga di comando Linux su Android Con Termux Come utilizzare la riga di comando Linux su Android con Termux Sostituisci tantissime app Android ingombranti con una sola app da riga di comando Linux. Leggi altro, un download gratuito e open source da Google Play.
  • Lo scripting della shell ti consente di concentrarti sulla programmazione dei fondamentali, perché il sollevamento più pesante viene eseguito per te dai comandi che includerai. Supponiamo di voler comprimere alcuni file in un'applicazione desktop tradizionale scritta in C. Dovrai o scrivere un piccolo codice per usare una libreria software compatibile Una dimensione non va bene a tutti: Perché il software non è universalmente compatibile Una dimensione non Adatta a tutti: perché il software non è universalmente compatibile Il software è lo stesso su qualsiasi sistema operativo, giusto? Sbagliato. Potrebbe sembrare lo stesso, e funzionare in modo simile, ma è diverso dietro le quinte. Leggi di più che farà il lavoro o scrivi Un sacco di codice da zero per fare effettivamente la compressione. In uno script di shell, tutto ciò che devi fare è eseguire catrame comando sui file desiderati.
  • Puoi sviluppare piccoli passi, in modo interattivo. Per continuare nell'esempio sopra, supponiamo tu abbia deciso di usarlo catrame per fare la tua compressione, ma non sei ancora sicuro di quale delle sue opzioni desideri. Basta giocarci al prompt finché non ottieni il risultato desiderato, quindi copia / incolla il comando che hai usato nel tuo script.

Tenendo presente quanto sopra, ecco un paio di idee per utili script di shell che è possibile combinare con un paio di linee di codice. Creeremo un paio di script per migliorare i già considerevoli poteri dell'utilità di conversione Pandoc Come convertire facilmente tra formati di documenti in Linux Come convertire facilmente i formati di documenti in Linux Passare a Linux può causare problemi di compatibilità dei file. Ad esempio, i documenti non sono uguali in LibreOffice come in Word. Questa è solo una delle ragioni per cui hai bisogno di Pandoc. Leggi di più .

1. Raccolta di elenchi lunghi di parametri

Il modo più semplice e diretto per usare uno script di shell è come un knd di collegamento per un comando esistente. Alcuni programmi della riga di comando hanno un sacco di flag e la loro sintassi non è sempre chiara. Ma puoi prendere uno di questi comandi, con tutte le sue complicate opzioni, e inserirli in uno script di shell con un nome che è più facile da inserire. Si consideri il seguente comando, che esegue Pandoc su un file Markdown e crea un file ODT, utilizzando un file modello:

pandoc -r markdown -w odt --reference-odt = / percorso / alla / cartella / contenente / mscript-template.odt -o manuscript.odt manuscript.md

Uso Pandoc quotidianamente, poiché autore tutto nel markup leggero come Markdown What Is Markdown? 4 motivi per cui dovresti impararlo ora Cos'è Markdown? 4 motivi per cui dovresti impararlo ora Stanco degli editor HTML e WYSIWYG? Allora Markdown è la risposta per te, indipendentemente da chi tu sia. Ulteriori informazioni e Asciidoc Lightweight Markup Languages: ecco perché è necessario utilizzare AsciiDoc Over Regular Markup Lingue di marcatura leggera: ecco perché è necessario utilizzare AsciiDoc Over Regular Markdown Il linguaggio Markdown è disponibile in molti formati, alcuni dei quali sono migliori di altri. Le lingue leggere come AsciiDoc sono facili da imparare ed estremamente utili. Ecco come si confronta. Leggi di più . Eppure quando si converte in ODT, scrivo “ODT-riferimento” invece di “riferimento-odt.” Ogni. Singolo. Tempo. Inoltre, il percorso del modello non verrà completato automaticamente come la maggior parte dei comandi della shell. La creazione di un semplice script può salvare tutta quella mistificazione del codice:

#! / bin / bash pandoc -r docbook -w odt --reference-odt = / percorso / alla / cartella / contenente / mscript-template.odt -o $ 1.odt $ 1

La prima riga dello script indica al sistema di usare la shell Bash per eseguirla. Il prossimo prende il primo argomento alla riga di comando ($ 1), ed esegue Pandoc con una serie di flag su di esso. Vale la pena notare che ci sono altri modi per farlo, come usare il alias comando su sistemi Unix-ish. Ma fare piccoli script di shell significa che puoi tenerli a portata di mano (come nella tua cartella ~ / bin), copiarli (o sincronizzarli rapidamente altrove) e cambiarli con qualsiasi editor di testo. Salva il tuo script con un nome di file facile da ricordare e digitare (ad es. “markdown2odt.sh”). Non dimenticare di dargli permessi eseguibili Uno degli strumenti più importanti di Linux - Capire Chmod Uno degli strumenti più importanti di Linux - Capire Chmod Ci sono molte funzionalità che rendono Linux speciale, ma uno di questi lo rende così sicuro è il suo sistema di permessi. Puoi avere il controllo fine su tutti i file nel tuo sistema e ... Leggi altro .

2. Piping Output per pulire la formattazione HTML

Collegamento di due comandi del terminale con un tubo (“|”) carattere causa l'uscita del primo da utilizzare come input del secondo. (Se non l'hai mai visto prima, consulta la nostra guida rapida alla riga di comando. Una guida rapida per iniziare con la linea di comando di Linux Una guida rapida per iniziare con la riga di comando di Linux Puoi fare un sacco di cose incredibili con i comandi in Linux e non è davvero difficile da imparare.Per saperne di più.) Ma dover digitare Due i comandi nell'ordine corretto, con i giusti parametri, non fanno altro che risolvere il problema appena discusso. Racchiudere questo doppio comando in uno script di shell lo rende molto più conveniente.

Un trucco che uso con Pandoc è “pulito” Formattazione HTML, o rimuovere tutti gli stili in linea 9 Errori che non dovresti creare quando costruisci un sito Web 9 Errori che non dovresti creare quando costruisci una pagina Web Questi errori di codifica HTML sono facili da realizzare, ma se li allontani prima piuttosto più tardi, la tua pagina avrà un aspetto migliore, sarà più facile da mantenere e funzionerà come desideri. Leggi di più . Se hai mai provato ad esportare un documento di word processor in HTML, puoi vedere che ci sono un sacco di stili (campata tag) che vengono aggiunti in e tra il testo.

Il formato XML Docbook non ha alcuna convenzione per gli stili in linea, quindi se convertiamo HTML in DocBook tutta questa formattazione viene sballottata. Quindi possiamo usare Pandoc per convertire il DocBook indietro in HTML, e otteniamo un bel po 'di markup che puoi (per esempio) incollare in WordPress. Piuttosto che farlo con singole chiamate a Pandoc, il seguente script le unisce per:

  1. Converti il ​​file HTML esportato in DocBook, che non ha stili in linea (prima della pipe)
  2. Converti il ​​DocBook in quello che ora è bello, pulisci la formattazione HTML (dopo il pipe)
#! / bin / bash pandoc -w docbook $ 1 | pandoc -r docbook -w html -o $ 1 -

Spiegazione di input / output standard

Quanto sopra si avvantaggia dei concetti terminali di “input standard” e “uscita standard.” Se dovessi eseguire la prima parte del comando, otterresti un intero gruppo di XML mostrato nel terminale. Il motivo per cui non abbiamo fornito a Pandoc nessun altro output (come un file) da utilizzare. Quindi sta usando l'unica caduta che ha: output standard, in questo caso il terminale.

D'altra parte, il carattere di trattino alla fine del secondo comando Pandoc significa che dovrebbe essere usato “input standard.” Eseguito da solo, verrai accolto con un prompt, in cui la shell ti aspetterebbe di fornire del testo tramite il suo input predefinito, digitando sulla tastiera. Quando li combiniamo, puoi quasi immaginare il primo comando che sputa un mucchio di XML al terminale dove viene immediatamente inviato al secondo comando come input.

Il risultato è, se si rinomina questo a “clean-html.sh,” puoi eseguirlo su qualsiasi file HTML per sbarazzarti di quegli stili fastidiosi. La parte migliore è che Pandoc leggerà il file, quindi lo sovrascriverà alla fine, il che significa che non ci sono file temporanei disseminati su.

3. Esecuzione di programmi su più file HTML

Alcuni programmi ti permettono di specificare jolly come l'asterisco sulla riga di comando. Ciò ti consente, ad esempio, di spostare tutte le immagini JPG sul tuo “Immagini” cartella:

mv * .jpg ~ / Immagini

Ma altri programmi prendono un solo file alla volta come input e Pandoc è uno di questi. Quindi cosa succede quando abbiamo un'intera directory piena di file HTML esportati e vogliamo pulire la formattazione HTML? Abbiamo bisogno di gestire il nostro “clean-html.sh” script su ognuno di essi manualmente?

No, perché non siamo neofiti. Possiamo avvolgere il nostro comando in un a “per ciascuno” ciclo continuo. Questo andrà a turno a ciascun file HTML nella directory corrente ed eseguirà l'operazione di pulizia su di esso. Aggiungiamo anche un piccolo messaggio tramite il eco dichiarazione per farci sapere che tutti i file sono stati curati:

per nome file in ./*.html do pandoc -w docbook $ 1 | pandoc -r docbook -w html -o $ 1 - echo "Lavorando su $ 1 ... HTML è pulito!" fatto

Ora se hai una cartella piena di “sporco” HTML, puoi eseguire questo script e finire con una formattazione HTML scintillante.

Dove andare da qui

Se ti piace armeggiare, amerai lo scripting di shell, perché c'è sempre un ritocco da fare. Alcune idee su come utilizzare questi modelli come base per altri script includono quanto segue:

  • Aggiunta del supporto per la conversione direttamente dal file di elaborazione testi, poiché Pandoc supporta l'input ODT e DOCX (vale a dire che la catena diventa ODT / DOCX> DocBook XML> HTML).
  • Combinando entrambi i pulitori HTML in uno, in modo tale che se viene fornito un file lo pulisce, altrimenti pulisce automaticamente tutto nella directory corrente (aggiunge gli argomenti della riga di comando Una guida rapida per iniziare con la riga di comando di Linux Una guida rapida per ottenere Iniziato con la linea di comando di Linux Puoi fare un sacco di cose incredibili con i comandi in Linux e non è davvero difficile da imparare..
  • Fornire all'utente opzioni di esportazione aggiuntive come PDF (aggiunge scelte in base all'input, tramite istruzioni if-then o case).

Come puoi vedere, con gli script di shell puoi costruire le cose un po 'alla volta, provarle al prompt e incollarle sugli script mentre vai.

Che cosa dici, lo script di shell sembra un po 'meno intimidatorio ora? Sei pronto a provare a automatizzare i tuoi compiti più noiosi? Se decidi di saltare, facci sapere come va sotto nei commenti!

Scopri di più su: HTML, scripting.