Как применить цвет в Markdown?


374

Я хочу использовать Markdown для хранения текстовой информации. Но быстрый поиск в Google говорит, что 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>. Если вы спрашиваете о нативной обработке цветов уценки, я не думаю, что она существует
scoa

1
Этот ответ мог бы помочь мне, как это было для меня ...
Любопытство

Ответы:


375

Короткий ответ

Уценка не поддерживает цвет!

TL; DR

Как указано в оригинальных / официальных правилах синтаксиса (выделение добавлено):

Синтаксис Markdown предназначен для одной цели: для использования в качестве формата для записи в Интернете.

Уценка не является заменой HTML или даже близко к нему. Его синтаксис очень мал, соответствует только очень небольшому подмножеству тегов HTML. Идея не в том, чтобы создать синтаксис, который облегчает вставку тегов HTML. На мой взгляд, HTML-теги уже легко вставить. Идея Markdown - облегчить чтение, запись и редактирование прозы. HTML - это формат публикации; Markdown - это формат письма. Таким образом, синтаксис форматирования Markdown решает только те проблемы, которые могут быть переданы в виде простого текста .

Для любой разметки, которая не покрыта синтаксисом Markdown, вы просто используете сам HTML.

Поскольку это не «формат публикации», предоставление способа раскрасить текст выходит за рамки Markdown. Тем не менее, это не невозможно, так как вы можете включить необработанный HTML (а HTML - это формат публикации). Например, следующий текст уценки (как предложено @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.

Другая возможность состоит в использовании нестандартных списков атрибутов, первоначально представленных реализацией Markuru Markdown, а затем принятых несколькими другими (может быть больше или несколько разных реализаций одной и той же идеи, таких как атрибуты div и span в pandoc ). В этом случае вы можете назначить класс абзацу или встроенному элементу, а затем использовать CSS, чтобы определить цвет для класса. Однако вы обязательно должны использовать одну из немногих реализаций, которые фактически поддерживают нестандартную функцию, и ваши документы больше не переносятся на другие системы.


2
Спасибо, теперь осталось поэкспериментировать, насколько хорошо мы можем смешивать HTML и уценку. Но я действительно считаю, что любой формат письма должен позволять писателю передавать слова, которые он хочет подчеркнуть. Хотя для этого можно использовать жирный шрифт и курсив, но для объяснения слишком сложных тем может оказаться полезным выделение цветом. Или просто передать два слова, образуя пару среди других пар, раскрасив слова (скажем, в одном и том же предложении, но немного в стороне друг от друга), принадлежащие одной и той же паре одного цвета. Суть в том, что полезная особенность может оказаться, определяется характером и сложностью текста, который будет написан.
Mahesha999

Кажется, что способность выражаться в виде простого текста была главной для уценки ... вот почему все это
Mahesha999

10
Похоже, вы ожидаете, что Markdown отличается от того, что задумал его создатель. Но это только мое мнение ...
Уэйлан

Msgstr "Синтаксис 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>

Превращается в это красный жирный.

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


7
Я полагаю, что это должен быть комментарий - он на самом деле не отвечает на вопрос ОП.
Маркус Мангельсдорф

15
Выше ничего не делает, кроме жирного шрифта в Это красный
mplungjan

1
Не то чтобы вышесказанное могло сработать на веб-странице, но ... забавно ▼ ✡︎✶✸∍∀≤☂︎☯︎℥😇🥑🇬🇧
Robotbugs

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 }

Смотрите также: Как изменить тэг em, чтобы он был выделен жирным шрифтом вместо курсива

Тогда в вашем тексте уценки

~~This is green~~
_this is blue_

Интересно, но чтобы избавиться от страйка, хотя при раскрашивании текста лучше s {text-decoration:none; color: green}
подойдет

2
ИМО, этот ответ наиболее соответствует духу уценки, отвечая на главный вопрос. Он учитывает простую текстовую идею разметки (то есть, она читается в виде обычного текста) и отвечает требованиям к преобразованию, когда текст анализируется средством просмотра разметки. В этом смысле я хотел бы, чтобы было немного места (чтобы зрители уценки могли переопределить теги уценки для других тегов HTML или автоматически назначить им классы). Например, я хотел бы *и _быть другим, но они оба указывают <em>.
Мелвин Роест


7

Вы, вероятно, можете использовать латексный стиль:

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

Чтобы оставить пробел между словами, вам также необходимо включить тильду ~.


2
Это единственное решение, которое сработало для меня.
Ébe Исаак

В области {your-text-here} вы должны использовать тильду ~вместо пробелов для вставки пробелов.
Алекс

@ Алекс: Или сделайте $ \ color {color-code} {{\ rm ваш текст здесь}} $.
Питер К.

Или сделайте $ \ color {color-code} {\ text {ваш текст здесь}} $.
Phro

4

Кажется, что kramdown поддерживает цвета в некоторой форме.

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 также является средством рендеринга уценки по умолчанию за Jekyll . Так что, если вы создаете что-либо на страницах 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 🔥.



0

Я имел успех с

<span class="someclass"></span>

Предостережение: класс уже должен существовать на сайте.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.