Markdown rządzi.

Od pewnego czasu jestem fanem markdown-u. Na pierwszy rzut oka - nic nadzwyczajnego, ot, zwykły plik tekstowy. Naprawdę - można go otworzyć w najprostszej aplikacji do edycji plików tekstowych (nie stresując się, jeśli domyślnie rozszerzenie .md nie wyświetli się jako obsługiwany typ). Jedyne co może wydać się dziwne to dodatkowe znaki w niektórych miejscach np. hashe ("#") przy tytułach rozdziałów.

Na tym polega część magii tego formatu. W aplikacjach dedykowanych do jego obsługi te miejsca wyświetlą nam się inaczej - właśnie jako np. tytuły / nagłówki ( h1, h2, h3…). Zazwyczaj jest możliwość wybierania odpowiedniego formatowania w klasycznym pasku narzędziowym - ale mamy też możliwość ustawiania go wstawiając właśnie te dodatkowe znaki. Co oznacza, że możemy pisać i ustawiać wszystko nie odrywając rąk od klawiatury.

Zaskoczyć może na początku brak ustawień wcięć akapitowych, marginesów itd. To jednak wg. mnie kolejna zaleta - wymagająca jednak wyjaśnienia. Uważam, że sposób w jaki obecnie duża część osób pracuje nad dokumentami jest fundamentalnie zły. Łączona jest część związana z samym pisaniem i ta odpowiadająca za jego wstępny skład, “wygląd”. To tryb znany np. z Worda, LibreOffice, GoogleDocs itd. Efekt zazwyczaj jest taki, że albo tracimy masę czasu poprawiając te nieszczęsne marginesy, wielkości czcionek, wcięcia… albo dostajemy okropnie wyglądający, zaśmiecony dokument.

Pracując w markdownie koncentrujemy się na tworzeniu treści. To jak wyświetlany jest nasz dokument to kwestia pliku stylu, który wybierzemy, lub jaki jest przypisany do aplikacji z której korzystamy. Dzięki czemu pisze się płynnie i szybko, a dokument jest spójny - program za nas konsekwentnie stosuje odpowiedni styl, my nie musimy zawracać sobie tym głowy. Co więcej, odseparowanie tych dwóch elementów oznacza, że łatwo jest ten styl zmienić (od razu w całym dokumencie!).

Tak może wyglądać przykładowe porównanie “gołego” markdownu i tego jak po zastosowaniu stylu jest on wyświetlany:

Porównanie - “goły” markdown vs wyrenderowany tekst.

Wielokrotnie korzystamy z markdownu nieświadomie - większość popularnych “notatników” takich jak np. Obsidian, Joplin, Notes korzysta z niego. Jest on również szeroko wykorzystywany w różnej maści CMS-ach.

Pandoc

Jedną z największych zalet tego formatu jest łatwość konwersji - bez problemu możemy markdown zamienić na html, doc-a, pdf itd. Ta cecha odpowiada m.in. za to, jak powstają artykuły na tego bloga - tworzę je w edytorze do markdownu, zapisuję w odpowiednim folderze, a Hugo (generator stron statycznych) dba o to, żeby powstała z tego sensowna witryna www.

Korzystając z narzędzia takiego jak Pandoc jesteśmy w stanie wyjść poza html-a - stworzymy nawigowalnego pdf-a, doc-a etc. Wygenerujemy spisy treści, podpisy pod ilustracjami, zadbamy o przypisy.

Ta osobna, darmowa aplikacja podnosi korzystanie z markdownu na nowy poziom. Domyślnie nie posiada interfejsu graficznego (działa w linii poleceń), ale istnieją odpowiednie nakładki dodające gui, idealne dla osób, które nie chcą korzystać z terminala.

Podstawowe polecenie zamiany markdowny na pdf-a może wyglądać tak:

pandoc plik_wejsciowy.md -o plik_wynikowy.pdf

W bardziej rozbudowanej wersji możemy spróbować np.

pandoc -s --bibliography bibliografia.bib --citeproc --toc --csl chicago-fullnote-bibliography.csl wejscie.md -o wynik.pdf -V lang=pl

Co od razu pokazuje, że pracując w markdownie jak najbardziej możemy skorzystać z menadżerów bibliograficznych i stylów przypisów - co na pewno docenią osoby, które po napisaniu pracy usłyszały, że należy zmienić styl przypisów w całym dokumencie. W przedstawionym powyżej trybie pracy po prostu zmieniamy w poleceniu chicago-fullnote-bibliography.csl na inny styl (np. harwardzki) i mamy temat z głowy.

Git

Jednym z nieoczywistych pozytywów wynikających z tego, że markdown to format tekstowy jest zakres integracji z git-em. Jeśli korzystamy z systemu tego typu dostajemy możliwość wglądu do zmian jakie wprowadziliśmy do dokumentu i w razie czego cofnięcia ich - nawet wiele miesięcy po fakcie.

Formaty takie jak np. docx przy połączeniu z git-em nie mają tej cechy - bo “na wierzchu” nie są formatem tekstowym.

Jeszcze więcej zyskujemy gdy dodamy do tego Githuba / Gitlaba , lub własne, zdalne repozytorium - dostajemy zewnętrzną kopię bezpieczeństwa (taki Dropbox / Google Drive / Onedrive z dopalaczem).

To rozwiązanie nie dla każdego - głównie ze względu na to, że systemy kontroli wersji są tworzone głównie z myślą o programistach. Jednak dla osób, które potrzebują dodatkowego zabezpieczenia swojej pracy i możliwości śledzenia zmian to fantastyczne rozwiązanie.

Odnośniki.

https://www.markdownguide.org/cheat-sheet/

https://pandoc.org/

Przykładowe edytory / notatniki markdown:

https://joplinapp.org/

https://obsidian.md/

https://www.zettlr.com/

https://typora.io/

Obrazek(-ki):

Romain Vignes @Unsplash

Przemek