Uzyskaj podkreślony tekst dzięki Markdown


Odpowiedzi:


139

Markdown nie ma zdefiniowanej składni do podkreślania tekstu.

Wydaje mi się, że dzieje się tak, ponieważ podkreślony tekst jest trudny do odczytania i zwykle jest używany jako hiperłącza.



46

Innym powodem jest to, że <u>znaczniki są przestarzałe w XHTML i HTML5, więc musiałby wygenerować coś podobnego <span style="text-decoration:underline">this</span>. (IMHO, jeśli <u>jest przestarzałe, tak powinno być <b>i <i>.) Zauważ, że Markdown produkuje <strong>i <em>zamiast <b>i <i>, odpowiednio, co wyjaśnia cel tekstu w nim zamiast jego formatowania. Formatowanie powinno być obsługiwane przez arkusze stylów.

Aktualizacja: <u>elementem nie jest już przestarzałe w HTML5.


Semantyczny odpowiednik <u>jest <ins>; które nigdy nie zostały wycofane.
Toby Bartels,

3
@TobyBartels Nie jestem pewien, co masz na myśli. „Element <u> reprezentuje zakres tekstu z nieartykułowaną, choć wyraźnie wyrenderowaną adnotacją nietekstową”, natomiast „element <ins> stanowi dodatek do dokumentu”. Są to dwie bardzo różne semantycznie rzeczy.
jordanbtucker

4
Chodzi mi o to, że <u>nie jest to w ogóle znacznik semantyczny, podczas gdy <ins>jest. Jednak tradycyjnie są one renderowane w ten sam sposób. Podobnie <ins>jest z semantycznym odpowiednikiem <u>, podczas gdy <u>jest syntaktycznym odpowiednikiem <ins>. Cóż, nawet jeśli nie podoba ci się, jak opisać to, chodzi o to, że mamy tę analogię: <u>: <ins>:: <i>: <em>:: <b>: <strong>. (Również <s>: <del>.)
Toby Bartels

2
@TobyBartels Ach, źle cię zinterpretowałem. Myślałem, że mówisz, że <u> i <ins> są semantycznie równoważne. Specyfikacja HTML5 w rzeczywistości nadała semantyczne znaczenia znacznikom <u>, <i>, <b> i <s>, które różnią się od ich stylistycznie podobnych odpowiedników, ale rozumiem, o co chodzi.
jordanbtucker

42

Prostota <u>some text</u>powinna działać dla Ciebie.


6
Wow, naprawdę można mieć <b> i <i>, ale nie <u>? Dlaczego to? :(
Peter

3
Zgadzam się: dlaczego tak jest? Markdown (lub jakikolwiek inny podobny język) powinien ułatwiać robienie typowych rzeczy, które ludzie chcą robić (np. Podkreślanie słów), a nie trudniej czy niemożliwie.
Tyler Rick,

2
Prawdopodobnie dlatego, że <u> nie powinno już być używane do prostego podkreślania w HTML5 ...
s.krueger

2
@ s.krueger Przeczytaj html.spec.whatwg.org/multipage/semantics.html#the-u-element . <u>może być używany do podkreślania, ale jest odradzany, „gdy mógłby zostać pomylony z hiperłączem”.
jordanbtucker

1
@ s.krueger Myślę, że terminy „nieartykułowany” i „wyraźnie wyrenderowany” to dokładnie te przypadki, które tutaj omówiono. Kiedy nie możesz polegać na CSS, co może mieć miejsce w przypadku Markdown, <u>jest najlepszą opcją dla jawnie renderowanego podkreślenia. Oczywiście w miarę możliwości należy używać więcej elementów semantycznych.
jordanbtucker

11

Możesz napisać **_bold and italic_**i zmienić styl na podkreślony tekst, na przykład:

strong>em,
em>strong,
b>i,
i>b {
    font-style:normal;
    font-weight:normal;
    text-decoration:underline;
}

7
-1 Wydaje mi się, że to hack, wolałbym zrozumieć motywację, która za tym stoi, podkreśla, że ​​wykluczenie nie będzie przypadkiem.
Phil Hauser,

2
niezły hack. w sytuacjach, w których nie możesz używać tagów HTML, jest to świetne.
Shih-Min Lee

1
Wygląda na przesadę.
Paw w danych

10

W notatnikach Jupyter możesz użyć Markdown w następujący sposób do podkreślenia tekstu. Jest to podobne do HTML5: ( <u>i </u>).

<u> Bolded Words Here </u>


0

Oba <ins> text </ins>i <span style="text-decoration:underline"> text </span>działają doskonale w Joplin, chociaż zgadzam się z @nfm, że podkreślony tekst wygląda jak link i może wprowadzać w błąd w Markdown.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.