Beheben Sie die HTML-Formatierung mit Simple Shell Scripting

Beheben Sie die HTML-Formatierung mit Simple Shell Scripting / Programmierung

Wenn Sie häufig HTML in einem Editor schreiben und dann in WordPress einfügen, werden Sie feststellen, dass Formatierungs-Tags (wie z. B. Tags) werden hinzugefügt. Mit einfachen Shell-Skripten können Sie die HTML-Formatierungsformatierung mit ein paar einfachen Befehlen automatisch bereinigen.

Warum Shell-Scripting verwenden? Wenn Sie mit der Programmierung noch nicht vertraut sind, ist es viel besser, klein anzufangen. Es ist nicht nur weniger wahrscheinlich, dass Sie aufgeben, sondern Sie haben auch die Möglichkeit, auf dem Weg anzuhalten und zu lernen. Das heißt, Ihre ersten Programme können sehr nützlich sein, auch wenn sie auch sehr einfach sind.

Shell-Scripting Was ist Shell-Scripting und warum sollten Sie es verwenden? Was ist Shell-Scripting und warum sollten Sie es verwenden? Neben der Möglichkeit, Befehle interaktiv zu akzeptieren und auszuführen, kann die Shell auch Befehle ausführen, die in einer Datei gespeichert sind. Dies wird als Shell-Scripting bezeichnet. Hier behandeln wir die Grundlagen des Shell-Skripts. Mehr lesen ist ein großartiger Ort, um aus genau diesem Grund mit dem Programmieren zu beginnen: Es ist einfach, aus ein paar Zeilen Code etwas zusammenzusetzen, was Ihnen viel Zeit spart. Schauen wir uns ein paar Rezepte an oder “Muster,” Sie können Ihre eigenen Skripte wiederverwenden.

Warum Shell Scripting??

Beginnen wir mit der Definition “Shell-Scripting” als Schreibskripte, die in der Bash-Shell ausgeführt werden. Technisch könnten auch andere Skriptsprachen wie Powershell genannt werden “Shell-Scripting.” Aber warum sollten Sie sich auf Shell-Scripting im Allgemeinen und Bash-Scripting im Besonderen konzentrieren??

  • Mit der Einführung des Windows-Subsystems für Linux ist die Bash-Shell jetzt mit allen gängigen PC-Plattformen kompatibel. Eine kurze Einführung in die Linux-Bash-Shell in Windows 10 Eine kurze Anleitung in die Linux-Bash-Shell in Windows 10 Sie können Linux jetzt unter Windows ausführen. Erfahren Sie mehr über Bash unter Windows, wie und warum Sie es installieren sollten, sowie versteckte Funktionen, von denen Sie wahrscheinlich nichts wussten. Weiterlesen . (Es ist auch in macOS enthalten und praktisch alle Linux-Distributionen.) Es ist sogar auf Android-Handys mit Termux verfügbar. Verwendung der Linux-Befehlszeile unter Android mit Termux. Verwendung der Linux-Befehlszeile unter Android mit Termux Ersetzen Sie jede Menge sperriger Android-Apps mit nur einer schlanken Linux-Befehlszeilen-App. Lesen Sie mehr, einen kostenlosen und Open Source-Download von Google Play.
  • Mit Shell-Skripts können Sie sich auf das Programmieren von Grundlagen konzentrieren, da die Befehle, die Sie hinzufügen, für Sie am stärksten heben. Angenommen, Sie möchten einige Dateien in einer herkömmlichen Desktop-Anwendung komprimieren, die in C geschrieben wurde. Sie müssen entweder einen kleinen Code schreiben, um eine kompatible Softwarebibliothek zu verwenden. Eine Größe passt nicht für alle: Warum Software nicht universell kompatibel ist? Nicht alle passen: Warum ist Software nicht universell kompatible Software auf jedem Betriebssystem gleich, oder? Falsch. Es könnte gleich aussehen und ähnlich funktionieren, ist aber hinter den Kulissen anders. Lesen Sie mehr, um die Arbeit zu erledigen oder zu schreiben viel Code von Grund auf neu, um die Komprimierung tatsächlich durchzuführen. In einem Shell-Skript müssen Sie nur das ausführen Teer Befehl für die gewünschten Dateien.
  • Sie können in kleinen Schritten interaktiv entwickeln. Um mit dem obigen Beispiel fortzufahren, nehmen Sie an, Sie haben beschlossen, es zu verwenden Teer Um Ihre Komprimierung durchzuführen, sind Sie sich noch nicht sicher, welche der Optionen Sie möchten. Spielen Sie einfach an der Eingabeaufforderung herum, bis Sie das gewünschte Ergebnis erhalten. Kopieren Sie dann den Befehl, den Sie verwendet haben, in Ihr Skript.

Im Hinblick auf das Vorstehende sind hier ein paar Ideen für nützliche Shell-Skripts, die Sie mit nur ein paar Zeilen Code zusammenstellen können. Wir werden eine Reihe von Skripten erstellen, um die ohnehin beachtlichen Möglichkeiten des Pandoc-Konvertierungsprogramms zu verbessern. Einfache Konvertierung zwischen Dokumentformaten in Linux. Beispielsweise sehen Dokumente in LibreOffice nicht gleich aus wie in Word. Dies ist nur ein Grund, warum Sie Pandoc brauchen. Weiterlesen .

1. Sammeln langer Parameterlisten

Die einfachste und einfachste Möglichkeit, ein Shellskript zu verwenden, ist die Abkürzung für einen vorhandenen Befehl. Einige Befehlszeilenprogramme haben eine Menge Flags und ihre Syntax ist nicht immer klar. Sie können jedoch einen dieser Befehle mit all seinen komplizierten Optionen verwenden und sie in ein Shell-Skript mit einem Namen eingeben, dessen Eingabe einfacher ist. Betrachten Sie den folgenden Befehl, der Pandoc in einer Markdown-Datei ausführt und mithilfe einer Vorlagendatei eine ODT-Datei erstellt:

pandoc -r markdown -w odt --reference-odt = / pfad / zum / ordner / enthaltend / mscript-template.odt -o manuscript.odt manuscript.md

Ich verwende täglich Pandoc, da ich alles in Lightweight Markup wie Markdown What Is Markdown verfasse. 4 Gründe, warum Sie es jetzt lernen sollten Was ist Markdown? 4 Gründe, warum Sie es jetzt lernen sollten Ermüdet von HTML- und WYSIWYG-Editoren? Dann ist Markdown die Antwort für Sie, egal wer Sie sind. Lesen Sie mehr und Asciidoc Lightweight Markup Languages: Aus diesem Grund sollten Sie AsciiDoc gegenüber dem regulären Markdown Lightweight Markup Languages ​​verwenden. Aus diesem Grund sollten Sie AsciiDoc gegenüber dem regulären Markdown Markdown verwenden. Leichte Sprachen wie AsciiDoc sind leicht zu erlernen und äußerst nützlich. So sieht es aus. Weiterlesen . Und trotzdem tippe ich beim Konvertieren in ODT “Odt-Referenz” anstatt “Referenz-Odt.” Jeden. Single. Zeit. Außerdem wird der Pfad zur Vorlage nicht wie bei den meisten Shell-Befehlen automatisch abgeschlossen. Durch das Erstellen eines einfachen Skripts können Sie alle falschen Eingaben speichern:

#! / bin / bash pandoc -r docbook -w odt --reference-odt = / pfad / zum / ordner / enthält / mscript-template.odt -o $ 1.odt $ 1

Die erste Zeile des Skripts weist das System an, die Bash-Shell zum Ausführen zu verwenden. Der nächste nimmt das erste Argument in der Befehlszeile (1 US-Dollar) und führt Pandoc mit einer Reihe von Flags aus. Es ist erwähnenswert, dass es andere Möglichkeiten gibt, wie dies zu tun alias Befehl auf Unix-ish-Systemen. Wenn Sie jedoch kleine Shell-Skripte erstellen, können Sie sie griffbereit halten (z. B. in Ihrem Ordner ~ / bin), sie schnell kopieren, an anderer Stelle synchronisieren (oder synchronisieren) und sie mit einem beliebigen Texteditor ändern. Speichern Sie Ihr Skript unter einem leicht zu merkenden Dateinamen (z. B.. “markdown2odt.sh”). Vergessen Sie nicht, es mit ausführbaren Berechtigungen zu versehen. Eines der wichtigsten Tools in Linux - Verstehen von Chmod Eines der wichtigsten Tools in Linux - Verstehen von Chmod Es gibt viele Funktionen, die Linux besonders machen, aber eines davon macht es so sicher ist sein Berechtigungssystem. Sie haben die Möglichkeit, alle Dateien in Ihrem System genau zu steuern und… Read More .

2. Piping-Ausgabe zur Bereinigung der HTML-Formatierung

Verbinden von zwei Terminalbefehlen mit einer Pipe (“|”) Zeichen bewirkt, dass die Ausgabe der ersten als Eingabe der zweiten verwendet wird. (Falls Sie dies noch nie zuvor gesehen haben, lesen Sie unsere Kurzanleitung zur Befehlszeile. Eine Kurzanleitung Erste Schritte mit der Linux-Befehlszeile Eine Kurzanleitung Erste Schritte mit der Linux-Befehlszeile Sie können mit Befehlen viele erstaunliche Dinge ausführen in Linux ist es wirklich nicht schwer zu lernen. Lesen Sie mehr.) Aber tippen müssen zwei Befehle in der richtigen Reihenfolge mit den richtigen Parametern verstärken das Problem, das wir gerade besprochen haben. Wenn Sie diesen Doppelbefehl in ein Shellskript packen, ist dies viel bequemer.

Ein Trick, den ich mit Pandoc benutze, ist es “sauber” HTML-Formatierung oder Entfernen des gesamten Inline-Stylings 9 Fehler, die Sie beim Erstellen einer Web-Seite nicht machen sollten Page 9 Fehler, die Sie beim Erstellen einer Webseite nicht machen sollten Diese folgenden HTML-Codierungsfehler sind leicht zu begehen, wenn Sie sie jedoch früher entfernen später sieht Ihre Seite besser aus, ist einfacher zu verwalten und funktioniert so, wie Sie es möchten. Weiterlesen . Wenn Sie jemals versucht haben, ein Textverarbeitungsdokument nach HTML zu exportieren, können Sie feststellen, dass es eine Vielzahl von Stilen gibt (Spanne Tags), die in und unter dem Text hinzugefügt werden.

Das Docbook-XML-Format hat keine Konvention für Inline-Stile. Wenn Sie also HTML in DocBook konvertieren, wird die gesamte Formatierung ausgegeben. Dann können wir Pandoc verwenden, um das DocBook zu konvertieren zurück HTML, und wir erhalten ein schönes Markup, das Sie (zum Beispiel) in WordPress einfügen können. Anstatt dies mit einzelnen Aufrufen von Pandoc zu tun, verknüpft das folgende Skript sie zu:

  1. Konvertieren Sie die exportierte HTML-Datei in DocBook, das keine Inline-Stile hat (vor der Pipe).
  2. Konvertieren Sie das DocBook zurück in die jetzt schöne, saubere HTML-Formatierung (nach der Pipe).
#! / bin / bash pandoc -w docbook $ 1 | pandoc -r docbook -w html -o $ 1 -

Erklären der Standardeingabe / -ausgabe

Das Vorstehende nutzt die Terminalkonzepte von “Standardeingabe” und “Standardausgabe.” Wenn Sie den ersten Teil des Befehls ausführen, wird eine ganze Reihe von XML im Terminal angezeigt. Der Grund dafür ist, dass wir Pandoc keine andere Ausgabe (zum Beispiel eine Datei) zur Verfügung gestellt haben. Es ist also der einzige Rückschlag, den es hat: Standardausgabe, in diesem Fall das Terminal.

Andererseits bedeutet das Strichzeichen am Ende des zweiten Pandoc-Befehls, dass es verwendet werden sollte “Standardeingabe.” Wenn Sie von alleine ausgeführt werden, werden Sie mit einer Eingabeaufforderung begrüßt, in der die Shell darauf warten würde, dass Sie über die Standardeingabe Text eingeben, indem Sie auf der Tastatur tippen. Wenn wir sie kombinieren, können Sie sich fast vorstellen, dass der erste Befehl eine Menge XML an das Terminal sendet, wo es sofort als Eingabe in den zweiten Befehl geleitet wird.

Das Ergebnis ist, wenn Sie dies in umbenennen “clean-html.sh,” Sie können es für jede HTML-Datei ausführen, um diese lästigen Stile zu beseitigen. Der beste Teil ist, dass Pandoc aus der Datei liest und sie am Ende überschreibt. Dies bedeutet, dass keine temporären Dateien vorhanden sind.

3. Ausführen von Programmen für mehrere HTML-Dateien

Bei einigen Programmen können Sie angeben Platzhalter wie das Sternchen in der Befehlszeile. Auf diese Weise können Sie beispielsweise alle JPG-Bilder auf Ihre Bilder verschieben “Bilder” Mappe:

mv * .jpg ~ / Bilder

Andere Programme benötigen jedoch jeweils nur eine Datei als Eingabe, und Pandoc ist eine davon. Was passiert also, wenn wir ein ganzes Verzeichnis mit exportierten HTML-Dateien haben und die HTML-Formatierung bereinigen möchten? Müssen wir unsere laufen lassen? “clean-html.sh” Skript auf jedem von ihnen manuell?

Nein, weil wir keine Neulinge sind. Wir können unseren Pipe-Befehl in ein packen “für jeden” Schleife. Dadurch wird jede HTML-Datei im aktuellen Verzeichnis der Reihe nach aufgerufen und der Bereinigungsvorgang ausgeführt. Lassen Sie uns auch eine kleine Nachricht über die Echo Erklärung, um uns mitzuteilen, dass alle Dateien bearbeitet wurden:

für Dateiname in ./*.html do pandoc -w docbook $ 1 | pandoc -r docbook -w html -o $ 1 - echo "An $ 1 arbeiten ... HTML ist sauber!" erledigt

Nun, wenn Sie einen Ordner voll haben “schmutzig” HTML, Sie können dieses Skript darauf ausführen und mit einer sauberen HTML-Formatierung enden.

Von hier aus weiter

Wenn Sie gerne basteln, lieben Sie das Shell-Scripting, denn es müssen immer noch Optimierungen vorgenommen werden. Einige Ideen, wie diese Muster als Grundlage für andere Skripts verwendet werden können, sind folgende:

  • Unterstützung für die Konvertierung direkt aus der Textverarbeitungsdatei hinzufügen, da Pandoc ODT- und DOCX-Eingabe unterstützt (d. H. Die Kette wird zu ODT / DOCX> DocBook XML> HTML).
  • Kombinieren Sie beide HTML-Bereinigungsmittel in einem, sodass eine vorhandene Datei bereinigt wird, andernfalls werden automatisch alle im aktuellen Verzeichnis enthaltenen Bereinigungen gelöscht (fügt den Umgang mit Befehlszeilenargumenten hinzu Begonnen mit der Linux-Befehlszeile Unter Linux können Sie mit den Befehlen viele erstaunliche Dinge erledigen, und es ist wirklich nicht schwer zu lernen..
  • Bieten Sie dem Benutzer zusätzliche Exportoptionen wie PDF (fügt Auswahlmöglichkeiten basierend auf der Eingabe hinzu, über Wenn-Dann- oder Fallanweisungen)..

Wie Sie sehen, können Sie mit Shell-Skripten etwas nach dem anderen erstellen, indem Sie sie an der Eingabeaufforderung testen und an Ihren Skripten anheften.

Was sagst du dazu, scheint Shell Scripting jetzt ein bisschen weniger einschüchternd? Sind Sie bereit, Ihre langweiligen Aufgaben zu automatisieren? Wenn Sie sich für einen Einstieg entscheiden, lassen Sie uns wissen, wie es in den Kommentaren weiter unten geht!

Erfahren Sie mehr über: HTML, Scripting.