Korrigieren Sie die HTML-Formatierung mit Simple Shell Scripting

| Von

fix-html-shell-scripting

Wenn Sie HTML normalerweise in einem Editor erstellen und danach direkt in WordPress einfügen, werden Sie feststellen, dass manchmal irritierende Format-Tags (wie< period> > Tags) enthalten. Wenn Sie grundlegende Shell-Skripte verwenden, können Sie diese HTML-Formatierung sofort mit ein paar einfachen Befehlen bereinigen.

Warum Cover-Scripting verwenden? Wenn Sie noch nie mit Programmen vertraut sind, ist es viel, viel besser, klein anzufangen. Es ist nicht nur viel weniger wahrscheinlich, dass Sie aufhören, sondern Sie haben auch die Möglichkeit, aufzuhören und es unterwegs herauszufinden. Das heißt, Ihre allerersten Programme können wirklich wertvoll sein, auch wenn sie auch wirklich einfach sind.

Shell-Skripting ist aus diesem speziellen Grund ein fantastischer Ort, um mit dem Programmieren zu beginnen: Es ist sehr einfach, in ein paar Codezeilen etwas zu erstellen, das Ihnen sicherlich viel Zeit spart. Lassen Sie uns einen Blick auf eine Reihe von Gerichten oder „Mustern“ werfen, die Sie in eigene Manuskripte umwandeln können.

Warum Shell-Scripting?

Lassen Sie uns zunächst damit beginnen, „Shell-Skripting“ anzugeben, um Skripte zu erstellen, die im Bash-Cover ausgeführt werden sollen. Technisch könnte man auch andere Skriptsprachen wie Powershell als „Skripting abdecken“ bezeichnen. Aber warum sollte man sich überhaupt auf Shell-Scripting im Allgemeinen und Bash-Scripting im Besonderen konzentrieren?

  • Mit der Einführung des Windows-Subsystems für Linux ist die Bash-Abdeckung derzeit mit allen bedeutenden COMPUTER-Systemen kompatibel. (Es ist auch auf macOS und auch auf fast allen Linux-Versionen nicht im Paket enthalten.) Es ist sogar auf Android-Handys mit einem Termux verfügbar, einem völlig kostenlosen und Open Source-Download von Google Play.
  • Wenn Sie sich mit Skripten befassen, können Sie sich auf die Grundlagen der Programmierung konzentrieren, da die von Ihnen enthaltenen Befehle das umfangreichste Training für Sie erledigen. Erwarten Sie, dass Sie einige Daten in einer herkömmlichen, in C geschriebenen Desktop-Computeranwendung eingeben möchten. Sie müssen entweder einen kleinen Code erstellen, um eine kompatible Softwareanwendungssammlung zu verwenden, die die Arbeit erledigt, oder Sie erstellen viel des Codes von Grund auf neu, um die Komprimierung wirklich durchzuführen. In einem Shell-Manuskript müssen Sie lediglich die Teer Befehl auf die gewünschten Dateien.
  • Sie können in kleinen Aktionen auf interaktive Weise etablieren. Um mit der obigen Instanz fortzufahren, nehmen wir an, Sie haben sich für die Verwendung von . entschieden Teer um Ihre Komprimierung durchzuführen, sind sich jedoch noch nicht sicher, welche Auswahl Sie wünschen. Experimentieren Sie einfach an der Eingabeaufforderung damit, bis Sie das gewünschte Ergebnis erhalten, und kopieren Sie dann den von Ihnen verwendeten Befehl in Ihr Skript.

Vor diesem Hintergrund finden Sie im Folgenden eine Reihe von Ideen für nützliche Shell-Manuskripte, die Sie mit nur wenigen Codezeilen zusammenstellen können. Wir werden ein paar Manuskripte erstellen, um die derzeit bedeutenden Fähigkeiten des Pandoc-Konvertierungsprogramms zu verbessern.

1. Sammeln langer Parameterlisten

Die einfachste und auch einfachste Möglichkeit, ein Deckblattmanuskript zu verwenden, ist die Abkürzung für einen bestehenden Befehl. Einige Befehlszeilenprogramme haben eine Menge Flags und ihre Phrasenstruktur ist nicht immer klar. Sie können jedoch einen dieser Befehle mit all seinen herausfordernden Optionen nehmen und sie auch direkt in ein Shell-Skript mit einem Namen werfen, der viel einfacher zu finden ist. Denken Sie an den Befehl anhängen, der das Pandoc auch auf Markdown-Dokumenten ausführt as erstellt eine ODT-Datei unter Verwendung einer Theme-Datei:

pandoc -r markdown -w odt --reference-odt=/path/to/folder/containing/mscript-template.odt -o manuscript.odt manuscript.md

Ich benutze Pandoc jeden Tag, da ich jede Kleinigkeit in leichtgewichtigem Markup wie Markdown und Asciidoc schreibe. Und doch tippe ich beim Konvertieren in ODT „odt-reference“ im Gegensatz zu „reference-odt“. Jeder. Single. Zeit. Außerdem wird der Pfad zum Layout nicht wie bei den meisten Shell-Befehlen automatisch vervollständigt. Die Erstellung eines einfachen Skripts kann all diese Tippfehler vermeiden:

#! /bin/bash
pandoc -r docbook -w odt --reference-odt=/path/to/folder/containing/mscript-template.odt -o $1.odt $1

Die allererste Zeile des Manuskripts leitet das System an, das Bash-Cover zu verwenden, um es auszuführen. Der folgende nimmt die allererste Meinungsverschiedenheit an der Befehlszeile ( $1 , und führt auch Pandoc mit einer Sammlung von Flags aus. Es ist erwähnenswert, dass es verschiedene andere Möglichkeiten gibt, dies zu tun, z alias Befehl auf Unix-ish-Systemen. Das Erstellen kleiner Shell-Skripte bedeutet jedoch, dass Sie sie nützlich halten können (z. B. in Ihrem ~/bin-Ordner), sie schnell an einen anderen Ort kopieren (oder synchronisieren) und mit einem beliebigen Vollbild-Editor ändern können. Bewahren Sie Ihr Skript mit einem leicht zu merkenden Dateinamen und -typ auf (zB „markdown2odt.sh“). Vergessen Sie nicht, ausführbare Einwilligungen zu erteilen.

2. Weiterleitung der Ausgabe zur sauberen HTML-Formatierung

Das Verbinden von 2 Terminalbefehlen mit einem Pipe-Zeichen („|“) löst aus, dass das Ergebnis des allerersten als Eingabe des zweiten verwendet wird. (Wenn Sie dies in der Vergangenheit noch nie gesehen haben, werfen Sie einen Blick auf unsere schnelle Übersicht zur Befehlszeile.) zwei Befehle in der richtigen Reihenfolge mit den idealen Spezifikationen verschlimmern nur das Problem, das wir gerade besprochen haben. Das Einpacken dieses Doppelbefehls in ein Shell-Skript macht es viel einfacher.

Ein Trick, den ich bei Pandoc anwende, besteht darin, das HTML-Format zu „bereinigen“ oder alle Inline-Stylings loszuwerden. Wenn Sie jemals versucht haben, ein Dokument eines Textverarbeitungsprogramms in HTML zu exportieren, können Sie feststellen, dass es eine Menge Stile gibt ( Spanne Tags), die sowohl in die Nachricht aufgenommen als auch in die Nachricht aufgenommen werden.

unordentliche HTML-Formatierung

Das Docbook-XML-Format hat keine Konventionen für Inline-Stile. Wenn wir also HTML in DocBook konvertieren, wird all diese Formatierung weggeworfen. Dann können wir Pandoc verwenden, um das DocBook zu konvertieren zurück zu HTML, und wir erhalten ein gutes Stück Markup, das Sie (zum Beispiel) in WordPress einfügen können. Anstatt dies mit einzelnen Aufrufen an Pandoc zu tun, kettet das Festhalten an Manuskripten sie an:

  1. Konvertieren Sie die exportierten HTML-Daten in DocBook, das keine Inline-Stile hat (vor der Pipe).
  2. Transformieren Sie das DocBook zurück in die derzeit großartige, saubere HTML-Formatierung (nach der Pipeline)
#! /bin/bash
pandoc -w docbook $1 | pandoc -r docbook -w html -o $1 -

saubere HTML-Formatierung

Beschreibung der Standardeingabe/-ausgabe

Das oben Genannte profitiert von den unheilbaren Konzepten „Standard-Input“ und „Basis-Ergebnis“. Wenn Sie die Anfangskomponente des Befehls ausführen würden, würden Sie sicherlich eine ganze Reihe von XML im Terminal anzeigen. Der Grund dafür ist, dass wir Pandoc keine anderen Ergebnisse (wie Dokumente) zur Verfügung gestellt haben. Es verwendet also den einzigen Fallback, den es erhalten hat: das Standardergebnis, in diesem Fall das Terminal.

Auf der anderen Seite deutet der Bindestrich am Ende des 2. Pandoc-Befehls darauf hin, dass „typische Eingaben“ verwendet werden müssen. Wenn Sie es alleine ausführen, werden Sie sicherlich mit einer Eingabeaufforderung begrüßt, in der die Shell Sie erwartet, um eine Nachricht mit ihrer Standardeingabe bereitzustellen, indem Sie auf der Tastatur tippen. Wenn wir sie integrieren, können Sie sich virtuell vorstellen, dass der erste Befehl eine Reihe von XML an das Unheilbare ausspeist, wo er sofort als Eingabe in den zweiten Befehl geleitet wird.

Das Ergebnis ist, wenn Sie dies in „clean-html.sh“ umbenennen, können Sie es auf jeder Art von HTML-Dokumenten ausführen, um diese lästigen Designs zu entfernen. Das Beste daran ist, dass Pandoc aus den Dokumenten liest und sie dann am Ende überschreibt, um anzuzeigen, dass keine Temperaturübermittlungen überladen sind.

3. Ausführen von Programmen auf mehreren HTML-Dateien

Bei einigen Programmen können Sie definieren Platzhalter wie das Sternchen in der Befehlszeile. Damit können Sie beispielsweise alle JPG-Bilder in Ihren Ordner „Bilder“ verschieben:

mv *.jpg ~/Pictures

Allerdings nehmen verschiedene andere Programme jeweils nur ein Dokument als Eingabe, und auch Pandoc gehört dazu. Was passiert also, wenn wir eine ganze Verzeichnis-Site mit exportierten HTML-Dateien haben und das HTML-Format aufräumen möchten? Müssen wir unser Skript „clean-html.sh“ auf jedem von ihnen von Hand ausführen?

Nein, da wir keine Neulinge sind. Wir können unseren weitergeleiteten Befehl in einer „für-jeweils“-Lücke abdecken. Dies wird höchstwahrscheinlich jedes HTML-Dokument in der aktuellen Verzeichnis-Site konsequent umwandeln und auch die Bereinigungsprozedur darauf durchführen. Lassen Sie uns ebenfalls eine kleine Nachricht über die ähneln Erklärung, damit wir erkennen können, dass alle Dokumente tatsächlich gepflegt wurden:

for filename in ./*.html
do
pandoc -w docbook $1 | pandoc -r docbook -w html -o $1 -
echo "Working on $1... HTML is clean!"
done

Wenn Sie derzeit einen Ordner voller „schmutzigem“ HTML haben, können Sie dieses Manuskript darauf ausführen und am Ende ein blitzsauberes HTML-Format erhalten.

mehrere HTML-Dateien bereinigen

Wohin von hier aus

Wenn Sie gerne spielen, werden Sie Shell-Scripting mögen, da immer etwas optimiert werden muss. Einige Ideen, wie diese Muster genau als Grundlage für verschiedene andere Manuskripte verwendet werden können, umfassen die folgenden:

  • Unterstützung für die Konvertierung direkt aus der Word-CPU-Datei hinzugefügt, wenn man bedenkt, dass Pandoc ODT- und DOCX-Eingabe unterstützt (dh die Kette wird ODT/DOCX > > DocBook XML > > HTML).
  • Die Integration beider HTML-Reiniger in einen, so dass, wenn Daten übergeben werden, diese bereinigt werden, oder es wird automatisch jede Kleinigkeit in der vorhandenen Verzeichnis-Site bereinigt (fügt die Verwaltung von Befehlszeilen-Debatten hinzu).
  • Bieten Sie dem Benutzer zusätzliche Exportalternativen wie PDF (fügt Auswahlmöglichkeiten basierend auf der Eingabe, durch Wenn-Dann- oder Fall-Anweisungen hinzu).

Wie Sie sehen, können Sie mit Shell-Skripten Dinge nach und nach konstruieren, sie an der Eingabeaufforderung untersuchen und sie nach und nach Ihren Skripten hinzufügen.

Was behaupten Sie, erscheint das Covering von Skripten jetzt etwas weniger abschreckend? Sind Sie bereit, Ihre langweiligsten Aufgaben zu automatisieren? Wenn Sie sich entscheiden, einzusteigen, lassen Sie uns unten in den Bemerkungen erkennen, wie es weitergeht!

Wenn Sie grundlegende Cover-Manuskripte verwenden, können Sie diese Müll-HTML-Formatierung mit ein paar grundlegenden Befehlen sofort aufräumen. Beginnen wir mit der Definition von „Covering Scripting“ als das Verfassen von Manuskripten, die in der Bash-Shell ausgeführt werden. Wenn Sie sich mit Skripting befassen, können Sie sich auf die Grundlagen der Programmierung konzentrieren, da das umfangreichste Training für Sie durch die enthaltenen Befehle erledigt wird. Die einfachste und auch unkomplizierteste Möglichkeit, ein Shell-Manuskript zu verwenden, ist der schnellere Weg für einen bestehenden Befehl. Wie Sie sehen, können Sie mit Shell-Skripten Dinge nach und nach erstellen, sie zur richtigen Zeit untersuchen und sie auch nach und nach in Ihre Skripte einfügen.

Klicken Sie, um diesen Beitrag zu bewerten!
[Gesamt: 0 Durchschnitt: 0]

Andere verwandte Artikel

So installieren Sie Git und Git Bash unter Windows

Ein Variationskontrollsystem unterstützt Programmierer bei jeder Komponente des Softwareentwicklungslebenszyklus. Sie helfen dabei, Änderungen am Quellcode eines Projekts rechtzeitig vorzunehmen, indem…

So erstellen Sie CSS-Keyframe-Animationen

CSS gibt Entwicklern die Möglichkeit, ihre Webseiten mithilfe von Keyframe-Animationen zum Leben zu erwecken. CSS-Animation wird erreicht, indem der Anfangszustand…

Schreibe einen Kommentar