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:
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
- powyżesze polecenie weźmie plik
plik_wejsciowy.md
i stworzy pdf-aplik_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
- polecenie to odczyta plik
wejscie.md
, skorzysta z bazy przypisów z plikubibliografia.bib
(np. z Zotero, czy innego menadżera), użyje stylu przypisu zdefiniowanego wchicago-fullnote-bibliography.csl
i na tej podstawie wygeneruje pdf-a o nazwiewynik.md
, upewniając się, że język jest ustawiony na polski.
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/
Przykładowe edytory / notatniki markdown: