Przejdź do zawartości

Markdown: Różnice pomiędzy wersjami

Usunięte 143 bajty ,  25 lip 2020
m
(+)
 
Linia 19: Linia 19:
== Problemy wynikające z Markdowna ==
== Problemy wynikające z Markdowna ==
Dla osób niezaznajomionych z tym systemem formatowania tekstu Markdown może rodzić następujące problemy:
Dla osób niezaznajomionych z tym systemem formatowania tekstu Markdown może rodzić następujące problemy:
* '''Zarezerwowane znaki''' – wiele znaków w Markdownie pełni określoną funkcję, na przykład określa początek listy numerowanej, pogrubienie, pochylenie, link, itd. Stąd też znaki <code>*</code>, <code>_</code>, <code>#</code>, <code>{ }</code>, <code>[ ]</code>, <code>( )</code> mogą być przeróżnie parsowane w zależności od kontekstu.
* '''Zarezerwowane znaki''' – wiele znaków w Markdownie pełni określoną funkcję, na przykład określa początek listy numerowanej, pogrubienie, pochylenie, link, itd. Stąd też znaki <code>*</code>, <code>_</code>, <code>#</code>, <code>{ }</code>, <code>[ ]</code>, <code>( )</code> mogą być przeróżnie parsowane w zależności od kontekstu. Jest to szczególnie zauważalne w niektórych bardziej wymyślnych emotikonkach korzystających z tych zastrzeżonych znaków.
** Zazwyczaj pomaga użycie backslasha przed znakiem, który chcemy by został zachowany. Chcąc np. napisać {{Kod|*niemożliwe*}} bez emfazy (pochylenia), zapiszemy <code>\*niemożliwe\*</code>.
** Zazwyczaj pomaga użycie backslasha przed znakiem, który chcemy by został zachowany. Chcąc np. napisać {{Kod|*niemożliwe*}} bez emfazy (pochylenia), zapiszemy <code>\*niemożliwe\*</code>.
* '''Brak jednego standardu''' – oryginalna wersja Markdowna została co prawda ustandaryzowana, nie mniej jednak występuje wiele nieoficjalnych rozszerzeń dla tego formatu, stosowanych na przeróżnych stronach, których implementacja zależy od danego oprogramowania. Przykładowo: Markdown używany na GitHubie (GFM, ''GitHub Flavored Markdown'') pozwala na tworzenie tabel, przekreśleń, automatycznych linków czy listy zadań z checkboxami. Markdown Extra zaś pozwala na tworzenie listy definicji, skrótów (''abbreviations'') czy przypisów.
* '''Brak jednego standardu''' – oryginalna wersja Markdowna została co prawda ustandaryzowana, nie mniej jednak występuje wiele nieoficjalnych rozszerzeń dla tego formatu, stosowanych na przeróżnych stronach, których implementacja zależy od danego oprogramowania. Przykładowo: Markdown używany na GitHubie (GFM, ''GitHub Flavored Markdown'') pozwala na tworzenie tabel, przekreśleń, automatycznych linków czy listy zadań z checkboxami. Markdown Extra zaś pozwala na tworzenie listy definicji, skrótów (''abbreviations'') czy przypisów.
Linia 26: Linia 26:
* '''Chęć użycia niestandardowego stylu''' – chcąc zastosować bardziej „niekonwencjonalny” styl, na przykład centrując jakiś akapit czy opływając tekst wokół zdjęcia, musimy się posłużyć HTML-em, na przykład poprzez użycie <code><nowiki><p style="text-align: center;">wycentrowany akapit</p></nowiki></code> czy <code><nowiki><img style="float: right;" src="kot2.jpg"></nowiki></code> w drugim przypadku. I o ile to działa, to psuje to czytelność i estetykę. W przypadku bardziej skomplikowanych layoutów zdarzyć się może częstsze uciekanie się do HTML-a, co kompletnie mija się z sensem pisania w Markdownie.
* '''Chęć użycia niestandardowego stylu''' – chcąc zastosować bardziej „niekonwencjonalny” styl, na przykład centrując jakiś akapit czy opływając tekst wokół zdjęcia, musimy się posłużyć HTML-em, na przykład poprzez użycie <code><nowiki><p style="text-align: center;">wycentrowany akapit</p></nowiki></code> czy <code><nowiki><img style="float: right;" src="kot2.jpg"></nowiki></code> w drugim przypadku. I o ile to działa, to psuje to czytelność i estetykę. W przypadku bardziej skomplikowanych layoutów zdarzyć się może częstsze uciekanie się do HTML-a, co kompletnie mija się z sensem pisania w Markdownie.
** Markdown Extra pozwala na używanie id i klasy, w celu późniejszego wystylizowania określonego elementu przy użyciu CSS, np. <code># Nagłówek wycentrowany {.centre #heading}</code> będzie elementem {{Kod|h1}} z klasą {{Kod|centre}} o id {{Kod|heading}}. Wadą tego rozwiązania jest to, że działa ona jedynie na określonych elementach oraz nie jest ona ustandaryzowana – w różnych wersjach i systemach składnia może wyglądać inaczej od wyżej przedstawionej.
** Markdown Extra pozwala na używanie id i klasy, w celu późniejszego wystylizowania określonego elementu przy użyciu CSS, np. <code># Nagłówek wycentrowany {.centre #heading}</code> będzie elementem {{Kod|h1}} z klasą {{Kod|centre}} o id {{Kod|heading}}. Wadą tego rozwiązania jest to, że działa ona jedynie na określonych elementach oraz nie jest ona ustandaryzowana – w różnych wersjach i systemach składnia może wyglądać inaczej od wyżej przedstawionej.
* '''Emotikony tekstowe''' - takowe emotikony korzystają ze znaków, które mają zastosowanie w Markdownie, np. <code>*</code> czy <code>-</code>. Gdy np. zostanie wpisana emotikona <code>*-*</code>, zostanie to przedstawione jako '''-''' (pogrubiona kreska; YouTube).


Markdown nie jest narzędziem idealnym, które ma zastąpić wszelkie inne formaty tekstu. Markdown – jak każde narzędzie – powstał dla określonych celów i samemu trzeba sobie odpowiedzieć, czy w danej sytuacji pomoże, czy przysporzy więcej problemów z konwersją i ewentualnym czyszczeniem kodu. Teoretycznie można używać Markdowna do pisania artykułów na [[MruczekWiki]], ale w praktyce jest to średnia opcja – lepiej nauczyć się natywnego wikikodu, aby móc korzystać z charakterystycznych dla wiki elementów jak tabele, szablony, wewnętrzne odnośniki czy przypisy.
Markdown nie jest narzędziem idealnym, które ma zastąpić wszelkie inne formaty tekstu. Markdown – jak każde narzędzie – powstał dla określonych celów i samemu trzeba sobie odpowiedzieć, czy w danej sytuacji pomoże, czy przysporzy więcej problemów z konwersją i ewentualnym czyszczeniem kodu. Teoretycznie można używać Markdowna do pisania artykułów na [[MruczekWiki]], ale w praktyce jest to średnia opcja – lepiej nauczyć się natywnego wikikodu, aby móc korzystać z charakterystycznych dla wiki elementów jak tabele, szablony, wewnętrzne odnośniki czy przypisy.