Konwersja dokumentów z Markdown w format Microsoft Word

Konwersja dokumentów z Markdown w format Microsoft Word
Wśród innych działań pisanie i edytowanie dokumentów tekstowych należy do najczęstszych działań, do których używamy naszych komputerów (komputerów stacjonarnych). Dokładny sposób, w jaki jest to robione, podąża różnymi ścieżkami - od korzystania z edytora nagich tekstów, takiego jak VIM, po aplikacje graficzne, takie jak Office/Libre Office lub usługi w chmurze, które są dostępne za pośrednictwem WebBrowser, takich jak Dokumenty Google. Zgodnie z naszą wadą każde narzędzie ma własny format dokumentów natywnych, a także wybór innych obsługiwanych formatów dokumentów. Jakość konwersji między tymi formatami jest bardzo zróżnicowana i może prowadzić do dużej frustracji podczas przekraczania granic formatów.

W tym artykule przyjrzymy się konwersji między Markdown [1] a DOCX - natywny format dokumentu Microsoft Word, który jest używany od 2007 roku. Możesz się zastanawiać, dlaczego entuzjasta Markdown i ASCIIDOC (jak ja) zajmuje się tą sprawą. Cóż, współpraca z grupą innych pisarzy może prowadzić do sytuacji, podczas gdy jeden lub więcej uczestników prosi DOCX jako format wyjściowy. Nie zawiedź nikogo i dowiedz się, które ograniczenia istnieją, i jak możemy spróbować uszczęśliwić wszystkich członków grupy.

Co to jest Markdown?

Jak już wspomniano w „Wprowadzenie do Markdown” [2], intencja Markdown jest prostym tekstem do konwersji HTML. Pomysł polegał na tym, aby pisać strony internetowe, dokumentację, a zwłaszcza wpisy na blogu tak proste, jak pisanie e-maila. Na dzień dzisiejszy jest to de facto-synonim klasy lekkich języków opisu znacznika, a cel można zobaczyć jako osiągnięte.

Markdown używa zwykłej składni formatowania tekstu. Z podobnym podejściem jak HTML, liczba markerów wskazuje na nagłówki, listy, obrazy i referencje w tekście. Kilka poniższych wierszy ilustruje podstawowy dokument zawierający dwa nagłówki (1 i 2. poziom), a także dwa akapity i środowisko listy.
# Zalecane miejsca do wizyty w Europie
## France
To jest wybór miejsc:
* Paris (_ile de France_)
* Strasbourg (_alsace_)
Aby odpowiedni plan wizyty około tygodnia.

Konwersja na DOCX

Aby przekonwertować dokument Markdown na DOCX, użyj narzędzia Pandoc [3]. Pandoc to biblioteka Haskell i opisuje się jako „uniwersalny konwerter dokumentów” lub „szwajcarski nóż armii do konwersji dokumentów”. Jest dostępny dla różnych platform, takich jak Linux, Microsoft Windows, Mac OS X i BSD. Pandoc jest powszechnie uwzględniany jako pakiet dystrybucji Linux, takich jak Debian GNU/Linux, Ubuntu i Centos.

Proste wezwanie do konwersji jest następujące:

$ pandoc -o test.Test DOCX.MD

Pierwszy parametr „-o” odnosi się do pliku wyjściowego, a następnie nazwy pliku („Test testowy.Docx '). Rozszerzenie pliku pomaga Pandocowi zidentyfikować pożądany format wyjściowy. Drugi parametr nazywa plik wejściowy - w naszym przypadku jest to po prostu „testuj.MD '.

Długa wersja polecenia pokazanego powyżej zawiera dwa parametry „-f Markdown” i „-t docx”. Pierwszy skróci termin „smak” i opisuje format pliku wejściowego. Drugi robi to samo dla pliku wyjściowego, a skrót „-to”.

Pełne polecenie jest następujące:

$ pandoc -o test.Docx -f Markdown -t Docx Test.MD

Otwarcie przekonwertowanego pliku za pomocą Microsoft Word wynika z następnego wyjścia:

Dla różnych elementów tekstowych Pandoc używa arkuszy stylów. Pozwala to dostosować te elementy później zgodnie z Twoimi potrzebami w całym dokumencie. Nowsze wersje Pandoc oferują również na odwrót - możesz przekonwertować plik DOCX na Markdown w następujący sposób:

$ pandoc -o test.Test MD.Docx

Następnie wygenerowany plik ma następującą zawartość:

Zalecane miejsca do odwiedzenia w Europie
====================================
Francja
------
To jest wybór miejsc:
- Paris (*Ile de France*)
- Strasbourg (*Alzace*)
Aby odpowiedni plan wizyty około tygodnia.

Przydatne opcje wiersza polecenia

Lista opcji pandoc jest dość długa. Następujące pomogą Ci uzyskać lepsze wyniki i ułatwić swoje życie:

* '-P' (długa wersja '-Preserve-tabs'): Zachowaj zakładki zamiast przekształcić je w przestrzenie. Jest to przydatne w przypadku bloków kodu z wciętymi wierszami, które są częścią twojego tekstu.

* '-S' (długa wersja '-smart'): Wyprodukuj typograficznie poprawne wyjście.

Ta opcja koryguje cytaty, łączniki/kreski, a także elipsy („…”). Dodatkowe, nie przełomowe przestrzenie są dodawane po niektórych skrótach, takich jak „MR.".

* '-Track-changes = wartość'. Wartość może być akceptowana, odrzucona lub wszystko w celu uwzględnienia lub usunięcia zmian dokonanych w dokumencie. Rezultatem jest płaski plik.

Aby uzyskać więcej opcji, przyjrzyj się dokumentacji i ręcznej stronie Pandoc.

Streszczenie

Konwersja między Markdown a Docx nie jest już tajemnicą. Odbywa się to w ciągu kilku kroków i działa bardzo dobrze. Happy Hacking 🙂

Linki i referencje

* [1] Markdown
* [2] Frank Hofmann: Wprowadzenie do Markdown
* [3] pandoc

Podziękowanie

Autorka chciałaby podziękować Annette Kalbow za jej pomoc, przygotowując artykuł.