Fixați formatul HTML utilizând simpla scriptare Shell
Dacă scrieți adesea cod HTML într-un editor și apoi inserați în WordPress, veți observa că uneori etichete de formatare enervante (cum ar fi tag-uri). Folosind simple script-uri de shell, poți să curezi automat acel format de gunoi HTML cu câteva comenzi simple.
De ce să folosiți scripting shell? Dacă sunteți nou la programare, este mult, mult mai bine să începeți mici. Nu numai că este mai puțin probabil să renunți, dar veți avea oportunități de a vă opri și de a învăța pe parcurs. Acestea fiind spuse, primele programe pot fi cu adevărat utile, chiar dacă sunt și ele foarte simple.
Shell scripting Ce este Shell Scripting și de ce ar trebui să-l utilizați Ce este Shell Scripting și de ce ar trebui să-l utilizați Pe lângă faptul că puteți accepta și executa comenzi interactiv, shell-ul poate executa și comenzi stocate într-un fișier. Acest lucru este cunoscut sub numele de shell scripting. Aici acoperim elementele de bază ale scripting-ului shell-ului. Citiți mai multe este un loc minunat pentru a începe codarea din acest motiv precis: este ușor să puneți împreună ceva în câteva linii de cod care vă vor economisi o mulțime de timp. Să aruncăm o privire la câteva rețete, sau “modele,” vă puteți reproșa în scripturile proprii.
De ce scripturile Shell?
În primul rând, să începem prin definirea “shell scripting” ca scripturi de scriere care urmează să fie executate în shell-ul Bash. Din punct de vedere tehnic, alte limbi de scriere, cum ar fi Powershell, ar putea fi numite, de asemenea “shell scripting.” Dar de ce se concentrează în primul rând pe scrierea shell-ului în general și pe scriptingul Bash în special?
- Odată cu introducerea subsistemului Windows pentru Linux, shell-ul Bash este acum compatibil cu toate platformele majore ale PC-urilor Un ghid rapid pentru Linux Bash Shell în Windows 10 Un ghid rapid pentru Linux Bash Shell în Windows 10 Acum puteți rula Linux pe Windows. Aflați mai multe despre Bash pe Windows, despre cum și de ce ar trebui să îl instalați, despre funcții ascunse despre care probabil nu știați. Citeste mai mult . (Este, de asemenea, inclus pe macOS și doar despre toate distribuțiile Linux prin out of the box.) Este chiar disponibil pe telefoane Android cu un Termux Cum să utilizați linia de comandă Linux pe Android cu Termux Cum să utilizați linia de comandă Linux pe Android cu Termux Înlocuiți tone de aplicații voluminoase Android cu o singură aplicație linia de comandă Linux subțire. Citiți mai mult, descărcați gratuit și sursă deschisă de pe Google Play.
- Shell script-ul vă permite să vă concentrați pe fundamentale de programare, deoarece cea mai grea ridicare se face pentru dvs. prin comenzile pe care le veți include. Să presupunem că doriți să comprimați unele fișiere într-o aplicație tradițională desktop scrisă în C. Veți avea nevoie fie să scrieți un cod mic pentru a utiliza o bibliotecă de software compatibilă O mărime nu se potrivește tuturor: De ce software-ul nu este universal compatibil O mărime 't Fit All: De ce software-ul nu este universal compatibil Software-ul este același pe orice sistem de operare, nu-i așa? Gresit. Ar putea să arate la fel și să funcționeze în mod similar, dar este diferit în spatele scenei. Citește mai mult care îți va face treaba sau vei scrie mult de cod de la zero pentru a face efectiv de compresie. Într-un script shell, tot ce trebuie să faceți este să rulați gudron comanda pe fișierele dorite.
- Vă puteți dezvolta în pași mici, într-un mod interactiv. Pentru a continua exemplul de mai sus, să presupunem că ați decis că veți folosi gudron pentru a face compresia dvs., dar nu sunteți încă sigur care dintre opțiunile pe care le doriți. Doar jucați cu el la prompt până când obțineți rezultatul dorit, apoi copiați / inserați comanda pe care ați folosit-o în scenariul dvs..
Având în vedere cele de mai sus, iată câteva idei pentru scripturile de shell utile pe care le puteți pune împreună cu doar câteva linii de cod. Vom construi câteva scenarii pentru a consolida puterile deja considerabile ale utilitarului de conversie Pandoc Cum să convertiți cu ușurință între formatele de document în Linux Cum să convertiți cu ușurință între formatele de documente în Linux Trecerea la Linux poate duce la probleme cu compatibilitatea fișierelor. De exemplu, documentele nu arată la fel în LibreOffice ca și în Word. Acesta este doar un motiv pentru care aveți nevoie de pandoc. Citeste mai mult .
1. Colectarea listelor lungi de parametri
Cea mai simplă și cea mai simplă modalitate de a utiliza un script de shell este ca o comandă rapidă pentru o comandă existentă. Unele programe de linie de comandă au o tona de steaguri, iar sintaxa lor nu este întotdeauna clară. Dar puteți lua una din aceste comenzi, cu toate opțiunile lor complicate, și aruncați-le într-un script shell cu un nume mai ușor de intrat. Luați în considerare următoarea comandă, care execută Pandoc pe un fișier Markdown și creează un fișier ODT, utilizând un fișier șablon:
pandoc -r markdown -w odt --referență-odt = / cale / către / folder / care conține / mscript-template.odt -o manuscript.odt manuscript.md
Eu folosesc Pandoc pe o bază de zi cu zi, deoarece eu autorul totul în marcaje ușoare ca Markdown Ce este Markdown? 4 motive pentru care ar trebui să o înveți acum Ce este Markdown? 4 motive pentru care ar trebui să-l învățați acum Obosit de editori HTML și WYSIWYG? Apoi, Markdown este răspunsul pentru dvs. indiferent cine sunteți. Citește mai mult și Asciidoc Lightweight Markup Limbă: Acesta este motivul pentru care ar trebui să utilizați AsciiDoc peste Markdown Regular Limbaj de marcare ușoară: Acesta este motivul pentru care ar trebui să utilizați AsciiDoc Peste Regular Markdown Limba Markdown vine în mai multe arome, dintre care unele sunt mai bune decât altele. Limbile ușoare precum AsciiDoc sunt ușor de învățat și extrem de utile. Iată cum se compară. Citeste mai mult . Și totuși, atunci când convertesc la ODT, tastez “ODT referință” in loc de “referință-ODT.” Fiecare. Singur. Timp. În plus, calea către șablon nu se va realiza automat ca majoritatea comenzilor shell. Crearea unui script simplu poate salva tot ce este greșit:
#! / bin / bash pandoc -r docbook -w odt -reference-odt = / calea / către / folderul / care conține / mscript-template.odt -o $ 1.odt $ 1
Prima linie a scriptului direcționează sistemul să folosească shell-ul Bash pentru al rula. Următorul ia primul argument la linia de comandă ($ de 1), și rulează Pandoc cu un set de steaguri pe el. Merită să observăm că există și alte modalități de a face acest lucru, cum ar fi utilizarea alias comandă pe sistemele Unix-ish. Însă realizarea de scripturi de shell mici înseamnă că le puteți păstra la îndemână (cum ar fi în folderul ~ / bin), le puteți copia (sau sincroniza) rapid în altă parte și le puteți schimba cu orice editor de text. Salvați scriptul cu un nume de fișier ușor de memorat și de tip (de ex. “markdown2odt.sh”). Nu uitați să le acordați permisiuni executabile Unul dintre cele mai importante instrumente în Linux - Înțelegerea Chmod Unul dintre cele mai importante instrumente în Linux - Înțelegerea Chmod Există o mulțime de caracteristici care fac Linux special, dar unul dintre ele care îl face atât de sigur este sistemul său de permisiuni. Puteți avea controlul cerealelor fine asupra tuturor fișierelor din sistem și ... Read More .
2. Ieșire de ieșire pentru a curăța formatarea HTML
Conectarea a două comenzi terminale cu o țeavă (“|”) face ca ieșirea primei să fie utilizată ca intrare a celui de-al doilea. (Dacă nu ați mai văzut acest lucru înainte, consultați ghidul nostru rapid la linia de comandă Un ghid rapid pentru a începe cu linia de comandă Linux Un ghid rapid pentru a începe cu linia de comandă Linux Puteți face o mulțime de lucruri uimitoare cu comenzi în Linux și nu este dificil de învățat. Citiți mai mult.) Dar trebuie să tastați Două comenzile în ordinea corectă, cu parametrii potriviți, compun doar problema pe care tocmai am discutat-o. Împachetarea acestei comenzi cu două comenzi într-un script de shell face ca acest lucru mult mai convenabil.
Un truc pe care îl folosesc cu Pandoc este “curat” Formatarea HTML sau ștergerea întregului stil 9 Greseli pe care nu ar trebui să le faceți atunci când construiți o pagină Web Greseli pe care nu trebuie să le faceți atunci când construiți o pagină Web Următoarele greșeli de codare HTML sunt ușor de făcut, decât ulterior, pagina dvs. va arăta mai bine, va fi mai ușor de întreținut și va funcționa așa cum doriți. Citeste mai mult . Dacă ați încercat vreodată să exportați un document de procesare a textului în HTML, puteți vedea că există o multitudine de stiluri (deschidere tag-uri) care se adaugă în și printre text.
Formatul Docbook XML nu are o convenție pentru stilurile inline, așadar dacă convertim codul HTML în DocBook, toate aceste formate vor fi eliminate. Apoi putem folosi Pandoc pentru a converti DocBook înapoi la HTML, și vom obține un pic frumos de marcare pe care le puteți (de exemplu) lipiți în WordPress. Mai degrabă decât acest lucru cu apeluri individuale la Pandoc, următorul script le lansează împreună pentru a:
- Conversia fișierului HTML exportat în DocBook, care nu are stiluri inline (înainte de țeavă)
- Conversia DocBook înapoi în ceea ce este acum frumos, formatarea HTML curată (după conductă)
#! / bin / bash pandoc -w docbook $ 1 pandoc -r docbook -w html -o $ 1 -
Explicarea intrărilor / ieșirilor standard
Cele de mai sus profită de conceptele terminale ale “intrare standard” și “ieșire standard.” Dacă trebuia să rulați prima parte a comenzii, veți obține o grămadă de XML afișate în terminal. Motivul pentru care nu am dat Pandoc nici o altă ieșire (cum ar fi un fișier) de folosit. Deci, folosește singura cădere înapoi are: ieșirea standard, în acest caz terminalul.
Pe de altă parte, caracterul dash de la sfârșitul celei de-a doua comenzi Pandoc înseamnă că ar trebui să o folosească “intrare standard.” Rulați de la sine, veți fi întâmpinat cu un prompt, în care shell-ul va aștepta să furnizați un text prin intrarea implicită a acestuia, tastând tastatura. Când le combinăm, vă puteți imagina aproape prima comandă care scuipă o grămadă de XML în terminalul unde este introdusă imediat în a doua comandă ca intrare.
Rezultatul este dacă renunțați la acest lucru “clean-html.sh,” îl puteți rula pe orice fișier HTML pentru a scăpa de aceste stiluri deranjante. Cea mai bună parte este Pandoc va citi din fișier, apoi suprascrie-l la sfârșitul, ceea ce înseamnă că nu există fișiere temp îngrămădit.
3. Programe care rulează pe mai multe fișiere HTML
Unele programe vă permit să specificați metacaractere cum ar fi asteriscul de la linia de comandă. Acest lucru vă permite, de exemplu, să mutați toate imaginile JPG în memoria dvs. “Fotografii” pliant:
mv * .jpg ~ / Imagini
Dar alte programe iau doar un singur fișier la un moment dat, iar Pandoc este unul dintre ei. Deci, ce se întâmplă atunci când avem un întreg director plin de fișiere HTML exportate și dorim să curățim formatul HTML? Trebuie să ne conducem “clean-html.sh” script pe fiecare dintre ele manual?
Nu, pentru că nu suntem noi. Putem împacheta comanda noastră de conducte în a “pentru fiecare” buclă. Acest lucru va merge la fiecare fișier HTML din directorul curent, la rândul său, și va efectua operațiunea curată pe ea. Să adăugăm, de asemenea, un mic mesaj prin ecou declarație pentru a ne comunica toate dosarele au fost luate în considerare:
pentru numele fișierului în ./*.html do pandoc -w docbook $ 1 | pandoc -r docbook -w html -o $ 1 - ecou "Lucrul pe 1 $ ... HTML este curat!" Terminat
Acum, dacă aveți un dosar plin de “murdar” HTML, aveți posibilitatea să rulați acest script pe el și să sfârșesc cu unele formatare sclipitoare HTML.
Unde să mergeți de aici
Dacă vă place tinkering, veți iubi shell scripting, pentru că există întotdeauna tweaking pentru a fi făcut. Unele idei despre cum să utilizați aceste modele ca bază pentru alte scripturi includ următoarele:
- Adăugarea de suport pentru conversie direct din fișierul procesorului de texte, deoarece Pandoc acceptă intrarea ODT și DOCX (adică lanțul devine ODT / DOCX> DocBook XML> HTML).
- Combinând ambele curățare HTML într-unul, astfel încât, dacă este furnizat un fișier, acesta curăță că, în caz contrar, curăță automat totul din directorul curent (adaugă tratarea argumentelor liniei de comandă) Un ghid rapid pentru a începe cu linia de comandă Linux Un ghid rapid pentru a obține Început cu linia de comandă Linux Puteți face o mulțime de lucruri uimitoare cu comenzi în Linux și nu este cu adevărat dificil de învățat..
- Oferiți utilizatorului opțiuni de export suplimentare cum ar fi PDF (adaugă opțiuni pe baza intrărilor, prin instrucțiuni if-then sau case).
După cum puteți vedea, cu scripturile shell puteți construi lucrurile puțin câteodată, testați-le la solicitare și atașându-le pe scenele pe măsură ce mergeți.
Ce spui, scripturile shell-ului par a fi mai puțin intimidante acum? Sunteți gata să vă încercați să vă automatizați cele mai dificile sarcini? Dacă decideți să faceți salt, anunțați-ne cum merge mai departe în comentariile!
Explorați mai multe despre: HTML, scripting.