Як застосувати колір у Markdown?


373

Я хочу використовувати Markdown для зберігання текстової інформації. Але швидкий гуглінг говорить, що Markdown не підтримує колір. Також StackOverflow не підтримує колір. Те саме, що і у випадку розмітки GitHub.

Чи є аромат розмітки, який дозволяє кольоровий текст?


1
який ви формат виводу? Markdown в основному використовується для перетворення на html, який підтримує колір, і багато парсери приймають html-код
scoa

Ви маєте на увазі, що ці парсери мають вбудовану здатність розміщувати html розмітку всередині скажіть '<span style = "color: red"> </style>'? Я не чув Будь-яке посилання / приклад?
Mahesha999

5
Я маю в виду ви можете змішувати їх з pandoc , наприклад: <span style="color:red"> *some emphasized markdown text*</span>. Якщо ви запитуєте про власне розмітку кольорів, я не думаю, що це існує
підберіть

1
Ця відповідь могла б допомогти мені, як і мені ...
Цікавість

Відповіді:


373

Коротка відповідь

Розмітка не підтримує колір!

TL; DR

Як зазначено у вихідних / офіційних синтаксичних правилах (наголос додано):

Синтаксис Markdown призначений для однієї мети: використовувати його як формат для написання для Інтернету.

Відмітка не є заміною HTML або навіть близько до нього. Його синтаксис дуже малий, відповідає лише дуже невеликій підмножині тегів HTML. Ідея полягає не в тому, щоб створити синтаксис, який полегшує вставлення HTML-тегів. На мою думку, теги HTML вже легко вставляти. Ідея Markdown - полегшити читання, написання та редагування прози. HTML - формат публікації; Відмітка - це формат написання. Таким чином, синтаксис форматування Маркдаун стосується лише тих питань, які можна передати простим текстом .

Для будь-якої розмітки, яка не охоплена синтаксисом Markdown, ви просто використовуєте сам HTML.

Оскільки це не "формат публікації", надання способу забарвлення тексту є поза рамками для Markdown. Однак це не є неможливим, оскільки ви можете включити необроблений HTML (а HTML - формат публікації). Наприклад, наступний текст Markdown (як це запропонував @scoa у коментарі):

Some Markdown text with <span style="color:blue">some *blue* text</span>.

У результаті з'явиться такий HTML:

<p>Some Markdown text with <span style="color:blue">some <em>blue</em> text</span>.</p>

Тепер StackOverflow (і, ймовірно, GitHub) зніме необроблений HTML-код (як захід безпеки), щоб ви втратили тут колір, але він повинен працювати на будь-якій стандартній реалізації Markdown.

Інша можливість полягає у використанні нестандартних списків атрибутів, спочатку запроваджених Маркуру реалізацією Markdown, а пізніше прийнятих кількома іншими (може бути більше, або дещо різні реалізації тієї самої ідеї, як атрибути div та span в pandoc ). У такому випадку ви можете призначити клас абзацу чи вбудованому елементу, а потім використовувати CSS для визначення кольору класу. Однак ви абсолютно повинні використовувати одну з небагатьох реалізацій, яка фактично підтримує нестандартну функцію, і ваші документи більше не переносяться в інші системи.


2
Дякую, зараз залишається експериментувати, наскільки добре ми можемо змішати HTML та розмітку. Але я дійсно вважаю, що будь-який формат письма повинен дозволяти письменникові передати те, на які слова він хоче поставити наголос. Хоча для цього можна використовувати жирний шрифт та курсив, але для пояснення надмірно складних тем акцент кольором може стати корисним. Або просто передати два слова, утворюючи пару серед інших пар, забарвлюючи слова (сказати в одному реченні, але трохи вдалині одне від одного), що належать до тієї ж пари з тим же кольором. Справа в тому, що може виявитися корисною ознакою, визначається характером і складністю тексту, який потрібно написати.
Mahesha999

Здається, здатність висловлювати як звичайний текст - це головне для розмітки ... ось чому все це
Mahesha999

10
Мені звучить, як ваше сподівання на Маркдаун відрізняється від того, що задумав його творець. Але це лише моя думка ...
Вейлан

"Синтаксис Markdown призначений для однієї мети: використовувати його як формат для написання для Інтернету." І іноді ми хочемо писати кольором. Це наше право. УВАГА: НЕБЕЗПЕЧНО! краще червоного кольору. І як ви можете пояснити, що вони реалізували забарвлення синтаксису для мов? Колір ми використовуємо, коли ми хочемо.
Марк Ле

Як ви чоловіки ваші <p> <style = "color: ..."> працюють при перетворенні від розмітки до pdf? Тоді це не працює. Стандартні відмітки для кольорів були б краще.
Марк Ле

56

Я почав використовувати Markdown для розміщення деяких моїх документів на внутрішньому веб-сайті для внутрішніх користувачів. Це простий спосіб спільного використання документа, але його не може редагувати глядач.

Отже, це маркування тексту кольором є «чудовим». Я використовую кілька подібних і чудово працює.

<span style="color:blue">some *This is Blue italic.* text</span>

Перетворюється на синій курсив.

І

<span style="color:red">some **This is Red Bold.** text</span>

Перетворюється на Це Red Bold.

Я люблю гнучкість і простоту використання.


7
Я припускаю, що це має бути коментар - він насправді не відповідає на питання ОП.
Маркус Мангельсдорф

15
Вище сказане не робить нічого, крім сміливого в " Це червоний сміливий".
mplungjan

1
Не те, що вищевказане, ймовірно, працює на веб-сторінці, але ... весело ▼ ✡︎✶✸∍∀≤☂︎☯︎℥😇🥑🇬🇧
Роботи

4
Схоже, ви тут змішуєте Markdown з тегами HTML. Елемент span може додати колір під час перегляду у веб-переглядачі, але це не Markdown .
Мартін Грей

1
Більшість людей, які намагаються отримати колір на сторінці, просто зосереджені на тому, чи буде колір відображатися на документі розмітки; ні, якщо сам код розмітки. Отже, я думаю, що це хороша відповідь.
Майя

21

Хоча Markdown не підтримує колір, якщо вам не потрібно занадто багато, ви завжди можете пожертвувати деякими підтримуваними стилями та переосмислити відповідний тег за допомогою CSS, щоб зробити його кольоровим, а також видалити форматування чи ні.

Приклад:

// resets
s { text-decoration:none; } //strike-through
em { font-style: normal; font-weight: bold; } //italic emphasis


// colors
s { color: green }
em { color: blue }

Дивіться також: Як відмітити тег, щоб бути жирним, а не курсивом

Потім у своєму розмітковому тексті

~~This is green~~
_this is blue_

Цікаво, але щоб позбутися страйку, хоча під час фарбування тексту слід краще працювати:s {text-decoration:none; color: green}
x0s

2
ІМО, ця відповідь найбільше відповідає духу розмітки під час відповіді на головне питання. Він шанує ідею простого тексту про розмітку (що вона читається у простому тексті), а також шанує вимоги перетворення, коли текст розбирається глядачем розмітки. У цьому сенсі я хотів би, щоб було трохи місця (глядачі відмітки Wrt для переосмислення тегів розмітки для інших тегів HTML або для автоматичного призначення їм класів). Наприклад, я хотів би *і _бути різним, але вони обидва вказують <em>.
Мелвін Рост

13

Це має бути коротше:

<font color='red'>test blue color font</font>

Не працює при перетворенні в PDF
Marc Le Bihan

Мені не подобається ідея використання застарілого тегу HTML, але якщо він працює, він працює ...
Алонсо дель Арте

7

ймовірно, ви можете використовувати стиль латексу:

$\color{color-code}{your-text-here}$

Щоб зберегти пробіл між словами, вам також потрібно включити тильду ~.


2
Це єдине рішення, яке працювало на мене.
Ебе Ісаак

У області {your-text-here} ~потрібно вставити пробіл замість пробілів, щоб вставити пробіл.
Олексій

@Alex: Або зробіть $ \ color {color-code} {{\ rm ваш текст тут}} $.
Петро К.

Або зробіть $ \ color {color-code} {\ text {ваш текст тут}} $.
Phro

4

Здається, крамдаун підтримує кольори в якійсь формі.

Kramdown дозволяє вбудовувати html :

This is <span style="color: red">written in red</span>.

Крім того, він має інший синтаксис для включення в рядок css класів :

This is *red*{: style="color: red"}.

На цій сторінці далі пояснюється, як GitLab використовує більш компактний спосіб застосування класів css у Kramdown:

Застосування blueкласу до тексту:

This is a paragraph that for some reason we want blue.
{: .blue}

Застосування blueкласу до заголовків:

#### A blue heading
{: .blue}

Застосування двох класів:

A blue and bold paragraph.
{: .blue .bold}

Застосування ідентифікаторів:

#### A blue heading
{: .blue #blue-h}

Це дає:

<h4 class="blue" id="blue-h">A blue heading</h4>

Існує багато інших речей, пояснених за вище посиланням . Можливо, вам доведеться перевірити.

Крім того, як сказано в іншій відповіді, Kramdown також є рендером відмітки за замовчуванням за Джекіллом . Тож якщо ви пишете що-небудь на сторінках github, вище функціональність може бути доступною у вікні.


3

У Jekyllмене вдалося додати певного кольору або інших стилів до жирного елемента (має працювати і з усіма іншими елементами).

Я почав "стайлінг" з {:і закінчив його }. Між елементом і фігурною дужкою не допускається місця!

**My Bold Text, in red color.**{: style="color: red; opacity: 0.80;" }

Буде переведено на html:

<strong style="color: red; opacity: 0.80;">My Bold Text, in red color.</strong>

3

Якщо ви хочете використовувати чистий Markdown (без вкладеного HTML), ви можете використовувати Emojis , щоб привернути увагу до якоїсь - то фрагмент файлу, тобто ⚠️ ПОПЕРЕДЖЕННЯ ⚠️, 🔴 ВАЖЛИВО ❗🔴 або 🔥 NEW 🔥.



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.