Anatomia pliku Markdown

Anatomia pliku Markdown

Wstęp

Wszystkie pliki Markdown to zwykłe „pliki tekstowe".

Plik składa się z dwu części. Pierwsza z nich, znajdująca się na samym jego początku nazywana jest z angielska front matter (termin ten nie ma dobrego tłumaczenia na Polski1). W tej części zawarte są metadane dokumentu.

Druga zawiera zasadniczy tekst dokumentu lub strony.

Ta wstępna część może być zapisana z użyciem jednego z trzech formatów

Są one (w tym przypadku) sobie równoważne, używają jednak innego sposobu zapisu. Na front matter składają się pary: zmienna i jej wartość

  1. yaml

    front matter w tym formacie zawarty jest między parą znaków ---

    ---
    title: "To jest tytuł"
    author: "Wojciech Myszka"
    ---
    

    mamy do czynienia z dwiema zmiennymi title i author i ich wartościami.

  2. toml

    do oddzielenia zawartości używa się znaków +++

    +++
    title = 'To jest tytuł'
    author = 'Wojciech Myszka'
    +++
    
  3. json

    Tu zawartość ograniczona jest parami nawiasów klamrowych {}

    {
        "author": "Wojciech Myszka",
        "title": "To jest tytuł"
    }
    

W bardzo wielu przypadkach (wyłączając json) cudzysłowy wokół wartości zmiennej są opcjonalne, ale warto je stosować, gdyż pojawienie się tam znaku zabronionego (wśród nich są :, =, {}) generuje nieprzyjemne błędy.

Specyfikacje poszczególnych formatów można znaleźć tu:

Ja używam formatu yaml.

Najważniejsze zmienne

  1. author
  2. date
  3. draft
  4. expiryDate
  5. keywords
  6. publishDate
  7. summary
  8. title
  9. type
  10. weight
  11. tags
  12. categories

Zmiennych jest całkiem sporo. Mogą być dodawane nowe, ale zadbać trzeba, aby w procesie przetwarzania dokumentu znalazły jakieś zastosowanie.

We frameworku Hugo Blox, w przypadku niektórych rodzajów stron większość jej zawartości definiowana jest przez zmienne zawarte we front matter.


  1. Patrząc z punktu składacza książek, front matter to początkowa część książki z odrębną numeracją stron (najczęściej używając liczb rzymskich) zawierającą różne materiały nie pochodzące od autora, strony redakcyjne, przedmowę pochodzącą od redakcji czy tłumacza. ↩︎

Następny