Napraw formatowanie HTML za pomocą prostego skryptowania powłoki

  • Owen Little
  • 0
  • 4814
  • 1012
Reklama

Jeśli często piszesz HTML w edytorze, a następnie wklejasz do WordPress, zauważysz, że czasami dodaje się irytujące tagi formatujące (takie jak tagi). Za pomocą prostych skryptów powłoki możesz automatycznie wyczyścić to śmieciowe formatowanie HTML za pomocą kilku prostych poleceń.

Dlaczego warto korzystać ze skryptów powłoki? Jeśli dopiero zaczynasz programować, o wiele lepiej zacząć od małego. Nie tylko rzadziej się poddajesz, ale po drodze będziesz miał okazję się zatrzymać i uczyć. To powiedziawszy, twoje pierwsze programy mogą być naprawdę przydatne, nawet jeśli są również bardzo proste.

Skrypty powłoki Co to jest skryptowanie powłoki i dlaczego warto go używać Co to jest skryptowanie powłoki i dlaczego warto go używać Oprócz możliwości interaktywnego przyjmowania i wykonywania poleceń, powłoka może także wykonywać polecenia zapisane w pliku. Nazywa się to skryptowaniem powłoki. W tym rozdziale omówimy podstawy skryptowania powłoki. jest doskonałym miejscem do rozpoczęcia kodowania z tego właśnie powodu: łatwo jest połączyć coś w kilka linii kodu, co pozwoli ci zaoszczędzić sporo czasu. Rzućmy okiem na kilka przepisów lub “wzory,” możesz zmienić przeznaczenie na własne skrypty.

Dlaczego skrypty powłoki?

Po pierwsze zacznijmy od zdefiniowania “skrypty powłoki” jako pisanie skryptów uruchamianych w powłoce Bash. Technicznie rzecz biorąc, można by również określić inne języki skryptowe, takie jak Powershell “skrypty powłoki.” Ale po co skupiać się na skryptach w ogóle, a przede wszystkim na skryptach Bash?

  • Wraz z wprowadzeniem podsystemu Windows dla systemu Linux powłoka Bash jest teraz kompatybilna ze wszystkimi głównymi platformami komputerowymi. Krótki przewodnik po Linux Bash Shell w systemie Windows 10 Szybki przewodnik po Linux Bash Shell w systemie Windows 10 Teraz można uruchomić system Linux w systemie Windows. Dowiedz się więcej o Bash w systemie Windows, od tego, jak i dlaczego powinieneś go zainstalować, po ukryte funkcje, o których prawdopodobnie nie wiedziałeś. . (Jest on również zawarty w systemie macOS i prawie wszystkie dystrybucje Linuksa po wyjęciu z pudełka.) Jest nawet dostępny na telefony z systemem Android z Termux. Jak korzystać z wiersza poleceń Linux na Androidzie z Termux. Zamień mnóstwo nieporęcznych aplikacji na Androida za pomocą jednej, wąskiej aplikacji wiersza poleceń systemu Linux. , bezpłatne i otwarte oprogramowanie do pobrania z Google Play.
  • Skrypty powłoki pozwalają skupić się na podstawach programowania, ponieważ najcięższe podnoszenie wykonuje się za pomocą zawartych w nim poleceń. Załóżmy, że chcesz skompresować niektóre pliki w tradycyjnej aplikacji komputerowej napisanej w C. Musisz użyć małego kodu, aby użyć kompatybilnej biblioteki oprogramowania Jeden rozmiar nie pasuje do wszystkich: Dlaczego oprogramowanie nie jest uniwersalnie kompatybilne Jeden rozmiar nie pasują do wszystkich: dlaczego oprogramowanie nie jest uniwersalnie zgodne Oprogramowanie jest takie samo w każdym systemie operacyjnym, prawda? Źle. Może wyglądać tak samo i działać podobnie, ale za kulisami jest inaczej. który wykona zadanie lub napisze dużo kodu od zera, aby faktycznie wykonać kompresję. W skrypcie powłoki wystarczy, że uruchomisz smoła polecenie żądanych plików.
  • Możesz rozwijać się w małych krokach, w interaktywny sposób. Aby kontynuować powyższy przykład, powiedzmy, że zdecydowałeś się użyć smoła aby wykonać kompresję, ale nie jesteś jeszcze pewien, które z opcji chcesz. Po prostu baw się nim z monitem, aż uzyskasz pożądany wynik, a następnie skopiuj / wklej polecenie użyte w skrypcie.

Mając powyższe na uwadze, oto kilka pomysłów na przydatne skrypty powłoki, które można połączyć za pomocą zaledwie kilku wierszy kodu. Będziemy budować kilka skryptów, aby zwiększyć i tak już znaczne możliwości narzędzia do konwersji Pandoc Jak łatwo konwertować formaty dokumentów w systemie Linux Jak łatwo konwertować formaty dokumentów w systemie Linux Przełączanie na system Linux może powodować problemy ze zgodnością plików. Na przykład dokumenty nie wyglądają tak samo w LibreOffice, jak w programie Word. To tylko jeden powód, dla którego potrzebujesz pandoc. .

1. Zbieranie długich list parametrów

Najłatwiejszym i najprostszym sposobem użycia skryptu powłoki jest użycie skrótu do istniejącej komendy. Niektóre programy wiersza poleceń mają mnóstwo flag, a ich składnia nie zawsze jest jasna. Możesz jednak wziąć jedno z tych poleceń i wszystkie jego skomplikowane opcje i wrzucić je do skryptu powłoki o łatwiejszej do wprowadzenia nazwie. Rozważ następujące polecenie, które uruchamia Pandoc na pliku Markdown i tworzy plik ODT przy użyciu pliku szablonu:

pandoc -r markdown -w odt --reference-odt = / ścieżka / do / folder / zawierająca / mscript-template.odt -o manuscript.odt manuscript.md

Używam Pandoc na co dzień, ponieważ piszę wszystko przy użyciu lekkich znaczników, takich jak Markdown What Is Markdown? 4 powody, dla których powinieneś się tego teraz nauczyć Czym jest Markdown? 4 powody, dla których powinieneś się tego nauczyć Masz już dość edytorów HTML i WYSIWYG? Zatem Markdown jest dla ciebie odpowiedzią bez względu na to, kim jesteś. Lekkie języki znaczników Asciidoc: dlatego warto używać AsciiDoc zamiast zwykłych języków Markdown Lekkie języki znaczników: dlatego powinieneś używać języka AsciiDoc zamiast zwykłych języków Markdown występuje w wielu odmianach, z których niektóre są lepsze od innych. Lekkie języki, takie jak AsciiDoc, są łatwe do nauczenia się i niezwykle przydatne. Oto jak to się porównuje. . A jednak podczas konwersji na ODT piszę “odniesienie odt” zamiast “referencyjny.” Każdy. Pojedynczy. Czas. Ponadto ścieżka do szablonu nie będzie autouzupełniania, jak większość poleceń powłoki. Utworzenie prostego skryptu może uratować cały ten błąd:

#! / bin / bash pandoc -r docbook -w odt --reference-odt = / ścieżka / do / folder / zawierający / mscript-template.odt -o $ 1.odt $ 1

W pierwszym wierszu skryptu system uruchamia powłokę Bash. Następny pobiera pierwszy argument z wiersza poleceń (1 USD) i uruchamia Pandoc z zestawem flag. Warto zauważyć, że istnieją inne sposoby, aby to zrobić, na przykład za pomocą Alias polecenie w systemach uniksowych. Ale tworzenie małych skryptów powłoki oznacza, że ​​możesz trzymać je pod ręką (na przykład w folderze ~ / bin), szybko kopiować (lub synchronizować) gdzie indziej i zmieniać je w dowolnym edytorze tekstu. Zapisz skrypt z nazwą pliku, którą łatwo zapamiętać i wpisać (np. “markdown2odt.sh”). Nie zapomnij nadać mu uprawnień do wykonywania. Jedno z najważniejszych narzędzi w Linuksie - Zrozumienie Chmod Jedno z najważniejszych narzędzi w Linuksie - Zrozumienie Chmod Istnieje wiele funkcji, które sprawiają, że Linux jest wyjątkowy, ale jedna z nich czyni go tak bezpiecznym to jego system uprawnień. Możesz mieć dokładną kontrolę nad wszystkimi plikami w systemie i… .

2. Przesyłanie danych wyjściowych do czystego formatowania HTML

Łączenie dwóch poleceń terminalu za pomocą potoku (“|”) powoduje, że wyjście pierwszego jest używane jako wejście drugiego. (Jeśli nigdy wcześniej tego nie widziałeś, zapoznaj się z naszym szybkim przewodnikiem po wierszu poleceń. Krótki przewodnik, jak zacząć korzystać z wiersza poleceń systemu Linux. Krótki przewodnik, aby zacząć korzystać z wiersza poleceń systemu Linux. Za pomocą poleceń możesz zrobić wiele niesamowitych rzeczy. w Linuksie i naprawdę nie jest trudno się nauczyć.) Ale trzeba pisać dwa polecenia we właściwej kolejności, z odpowiednimi parametrami, tylko pogłębiają omawiany problem. Opakowanie tego podwójnego polecenia w skrypt powłoki powoduje, że jest to o wiele wygodniejsze.

Jedną sztuczką, której używam w Pandoc, jest “czysty” Formatowanie HTML lub usuń wszystkie wbudowane style 9 Błędów, których nie należy popełniać podczas tworzenia strony internetowej 9 Błędów, których nie należy popełnić, tworząc stronę internetową Poniższe błędy kodowania HTML są łatwe do popełnienia, ale należy je wcześniej usunąć niż później Twoja strona będzie wyglądać lepiej, będzie łatwiejsza w utrzymaniu i będzie funkcjonować tak, jak chcesz. . Jeśli kiedykolwiek próbowałeś wyeksportować dokument edytora tekstu do formatu HTML, możesz zobaczyć, że istnieje mnóstwo stylów (przęsło tagi), które zostaną dodane w tekście.

Format XML Docbook nie ma konwencji stylów wbudowanych, więc jeśli przekonwertujemy HTML na DocBook, całe to formatowanie zostanie odrzucone. Następnie możemy użyć Pandoc do konwersji DocBook z powrotem do HTML, a my otrzymujemy sporo znaczników, które możesz (na przykład) wkleić do WordPress. Zamiast robić to z pojedynczymi wywołaniami do Pandoc, poniższy skrypt łączy je razem:

  1. Konwertuj wyeksportowany plik HTML na DocBook, który nie ma wbudowanych stylów (przed potokiem)
  2. Przekształć DocBook z powrotem w przyjemne, czyste formatowanie HTML (po potoku)
#! / bin / bash pandoc -w docbook $ 1 | pandoc -r docbook -w html -o 1 $ -

Objaśnienie standardowego wejścia / wyjścia

Powyższe wykorzystuje koncepcje terminali “standardowe wejście” i “standardowe wyjście.” Jeśli miałbyś uruchomić pierwszą część polecenia, dostałbyś cały pakiet XML pokazany w terminalu. Powodem, dla którego nie daliśmy Pandocowi żadnego innego wyjścia (takiego jak plik) do użycia. Wykorzystuje więc jedyną dostępną rezerwę: standardowe wyjście, w tym przypadku terminal.

Z drugiej strony, myślnik na końcu drugiego polecenia Pandoc oznacza, że ​​powinien go użyć “standardowe wejście.” Uruchomiony sam, zostaniesz powitany monitem, w którym powłoka będzie czekać na dostarczenie tekstu za pomocą domyślnego wpisu, wpisując na klawiaturze. Kiedy je połączymy, możesz sobie prawie wyobrazić, że pierwsze polecenie wyrzuca pakiet XML do terminala, gdzie jest on natychmiast przesyłany do drugiego polecenia jako dane wejściowe.

W rezultacie zmienisz nazwę na “clean-html.sh,” możesz uruchomić go na dowolnym pliku HTML, aby pozbyć się tych kłopotliwych stylów. Najlepsze jest to, że Pandoc odczyta z pliku, a następnie nadpisze go na końcu, co oznacza, że ​​nie ma plików tymczasowych zaśmieconych.

3. Uruchamianie programów na wielu plikach HTML

Niektóre programy pozwalają to określić symbole wieloznaczne takie jak gwiazdka w wierszu polecenia. Dzięki temu możesz na przykład przenieść wszystkie obrazy JPG do swojego “Kino” teczka:

mv * .jpg ~ / Pictures

Ale inne programy pobierają tylko jeden plik na raz, a Pandoc jest jednym z nich. Co się dzieje, gdy mamy cały katalog pełen eksportowanych plików HTML i chcemy wyczyścić formatowanie HTML? Czy musimy uruchomić nasz “clean-html.sh” skrypt na każdym z nich ręcznie?

Nie, ponieważ nie jesteśmy nowicjuszami. Możemy zawinąć nasze potokowe polecenie w “dla każdego” pętla. Spowoduje to kolejno przejście do każdego pliku HTML w bieżącym katalogu i wykonanie na nim operacji czyszczenia. Dodajmy również małą wiadomość za pośrednictwem Echo oświadczenie, aby poinformować nas, że wszystkie pliki zostały załatwione:

dla nazwy pliku w ./*.html do pandoc -w docbook $ 1 | pandoc -r docbook -w html -o 1 $ - echo "Praca na 1 $ ... HTML jest czysty!" Gotowe

Teraz, jeśli masz folder pełen “brudny” HTML, możesz uruchomić na nim ten skrypt i skończyć z błyszczącym, czystym formatowaniem HTML.

Dokąd pójść stąd

Jeśli lubisz majsterkować, pokochasz skrypty powłoki, ponieważ zawsze trzeba wprowadzić poprawki. Oto kilka pomysłów na wykorzystanie tych wzorców jako podstawy dla innych skryptów:

  • Dodanie obsługi konwersji bezpośrednio z pliku edytora tekstu, ponieważ Pandoc obsługuje wejście ODT i DOCX (tzn. Łańcuch staje się ODT / DOCX> DocBook XML> HTML).
  • Łączenie obu programów czyszczących HTML w jeden, tak że jeśli dostarczony jest plik, to czyści to, w przeciwnym razie automatycznie czyści wszystko w bieżącym katalogu (dodaje obsługę argumentów wiersza poleceń. Krótki przewodnik Rozpoczęcie pracy z wierszem poleceń systemu Linux Krótki przewodnik: Zaczęliśmy od wiersza poleceń systemu Linux Za pomocą poleceń w systemie Linux można robić wiele niesamowitych rzeczy i naprawdę nie jest to trudne do nauczenia się.).
  • Zapewnij użytkownikowi dodatkowe opcje eksportu, takie jak PDF (dodaje opcje na podstawie danych wejściowych, za pomocą instrukcji „jeśli-to” lub „case”).

Jak widać, za pomocą skryptów powłoki można budować rzeczy po trochu, testując je natychmiast i umieszczając na skryptach.

Co powiesz, czy skrypty powłoki wydają się teraz nieco mniej onieśmielające? Czy jesteś gotowy, aby spróbować swoich sił w automatyzacji najgłupszych zadań? Jeśli zdecydujesz się dołączyć, daj nam znać, jak to wygląda poniżej w komentarzach!




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.