วิธีการใช้สีใน Markdown


373

ฉันต้องการใช้ Markdown เพื่อเก็บข้อมูลที่เป็นข้อความ แต่ googling ที่รวดเร็วบอกว่า Markdown ไม่รองรับสี StackOverflow ไม่รองรับสีด้วย เช่นเดียวกับในกรณีของ GitHub markdown

มี markdown หรือไม่ที่ให้ข้อความเป็นสี


1
รูปแบบผลลัพธ์ของคุณคืออะไร Markdown ส่วนใหญ่จะใช้ในการเปลี่ยนเป็น html ซึ่งรองรับสีและ parsers จำนวนมากยอมรับรหัส html
scoa

คุณหมายถึงตัวแยกวิเคราะห์เหล่านี้มีความสามารถในการใส่ html ของมาร์กอัปภายในคำว่า '<span style = "color: red"> </style>' หรือไม่? ฉันไม่ได้ยิน ลิงค์ / ตัวอย่างใด ๆ
Mahesha999

5
ฉันหมายความว่าคุณสามารถนำมาผสมกับpandoc<span style="color:red"> *some emphasized markdown text*</span>เช่น: หากคุณกำลังถามเกี่ยวกับการจัดการสีมาร์
อัป

1
คำตอบนี้อาจจะมีการช่วยเหลือบางอย่างที่มันเป็นสำหรับฉัน ...
อยากรู้อยากเห็น

คำตอบ:


373

คำตอบสั้น ๆ

Markdown ไม่รองรับสี!

TL; DR

ในฐานะที่เป็นรัฐเดิมกฎระเบียบ / ไวยากรณ์อย่างเป็นทางการ(เน้นเพิ่ม):

ไวยากรณ์ของ Markdown มีไว้เพื่อจุดประสงค์เดียว: เพื่อใช้เป็นรูปแบบสำหรับการเขียนสำหรับเว็บ

Markdown ไม่ใช่การแทนที่ HTML หรือแม้แต่ใกล้เคียง ไวยากรณ์ของมันมีขนาดเล็กมากซึ่งสอดคล้องกับแท็ก HTML เพียงเล็กน้อยเท่านั้น แนวคิดนี้ไม่ใช่การสร้างไวยากรณ์ที่ทำให้ง่ายต่อการแทรกแท็ก HTML ในความคิดของฉันแท็ก HTML ง่ายต่อการแทรก แนวคิดสำหรับ Markdown คือทำให้ง่ายต่อการอ่านเขียนและแก้ไขร้อยแก้ว HTML เป็นรูปแบบการเผยแพร่ Markdown เป็นรูปแบบการเขียน ดังนั้นรูปแบบการจัดรูปแบบของ Markdown จะเน้นเฉพาะปัญหาที่สามารถถ่ายทอดเป็นข้อความธรรมดาได้

สำหรับมาร์กอัพใด ๆ ที่ไม่ได้ครอบคลุมโดยไวยากรณ์ของ 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 มาตรฐาน

เป็นไปได้ก็คือการใช้ที่ไม่ได้มาตรฐานรายการแอตทริบิวต์เดิมนำโดยMarkuruการดำเนินงานของ Markdown และนำไปใช้โดยต่อมาไม่กี่ คนอื่น ๆ (อาจจะมีมากขึ้นหรือการใช้งานที่แตกต่างกันเล็กน้อยของความคิดเดียวกันเช่นdiv และช่วงแอตทริบิวต์ใน pandoc ) ในกรณีนั้นคุณสามารถกำหนดคลาสให้กับย่อหน้าหรือองค์ประกอบอินไลน์จากนั้นใช้ CSS เพื่อกำหนดสีสำหรับคลาส อย่างไรก็ตามคุณต้องใช้หนึ่งในไม่กี่แห่งที่รองรับคุณสมบัติที่ไม่ได้มาตรฐานและเอกสารของคุณไม่สามารถพกพาไปยังระบบอื่นได้อีกต่อไป


2
ขอบคุณตอนนี้ยังคงเป็นการทดสอบว่าเราสามารถผสม HTML และ markdown ได้ดีเพียงใด แต่ฉันรู้สึกว่ารูปแบบการเขียนใด ๆ ควรอนุญาตให้นักเขียนถ่ายทอดสิ่งที่คำที่เขาต้องการเน้น แม้ว่าหนึ่งสามารถใช้ตัวหนาและตัวเอียงสำหรับที่ แต่สำหรับการอธิบายหัวข้อที่ซับซ้อนมากเกินไปเน้นโดยการระบายสีอาจมาสะดวก หรือเพียงเพื่อถ่ายทอดคำสองคำสร้างคู่ระหว่างคู่อื่น ๆ โดยการระบายสีคำ (พูดในประโยคเดียวกัน แต่ห่างกันเล็กน้อย) ซึ่งเป็นคู่เดียวกันที่มีสีเดียวกัน จุดคือสิ่งที่อาจพิสูจน์คุณสมบัติที่มีประโยชน์ถูกกำหนดโดยลักษณะและความซับซ้อนของข้อความที่จะเขียน
Mahesha999

ดูเหมือนว่าความสามารถในการแสดงเป็นข้อความธรรมดาเป็นสำคัญสำหรับ markdown ... นั่นคือเหตุผลทั้งหมดนี้
Mahesha999

10
ฟังดูฉันว่าความคาดหวังของคุณเกี่ยวกับ Markdown นั้นแตกต่างจากที่ตั้งใจไว้โดยผู้สร้าง แต่นั่นเป็นเพียงความคิดของฉัน ...
Waylan

"ไวยากรณ์ของ Markdown มีไว้เพื่อจุดประสงค์เดียว: เพื่อใช้เป็นรูปแบบสำหรับการเขียนสำหรับเว็บ". และบางครั้งเราต้องการเขียนสี มันเป็นสิทธิของเรา คำเตือน: อันตราย! ดีกว่าในสีแดง และคุณจะอธิบายได้อย่างไรว่าพวกเขาใช้การกำหนดสีสำหรับภาษา สีสำหรับเราที่จะใช้เมื่อเราต้องการ
Marc Le Bihan

คุณเป็นเพศชาย <p> <style = "color: ... "> ของคุณทำงานเมื่อแปลงจาก markdown เป็น pdf ได้อย่างไร มันไม่ทำงานแล้ว soltutions markdown มาตรฐานสำหรับสีจะดีกว่า
Marc Le Bihan

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
ฉันคิดว่านี่ควรเป็นความคิดเห็น - มันไม่ได้ตอบคำถามของ OP
Marcus Mangelsdorf

15
ข้างต้นไม่ทำอะไรเลยยกเว้นตัวหนาในนี่คือ Red Bold
mplungjan

1
ไม่ว่าข้างต้นมีแนวโน้มที่จะทำงานบนหน้าเว็บ แต่ ... สนุก▼✡︎✶✸∍∀≤☂︎☯︎℥😇🥑🇬🇧
Robotbugs

4
ดูเหมือนว่าคุณกำลังผสม Markdown กับแท็ก HTML ที่นี่ องค์ประกอบช่วงอาจเพิ่มสีเมื่อดูในเว็บเบราว์เซอร์ของคุณ แต่มันไม่ได้เป็น Markdown
Martin Grey

1
คนส่วนใหญ่พยายามที่จะได้สีบนหน้าเพียงแค่มุ่งเน้นถ้าสีจะแสดงเอกสาร markdown; ไม่ใช่ถ้ารหัสนั้นเป็น markdown ดังนั้นฉันคิดว่านี่เป็นคำตอบที่ดี
Maiya

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 }

ดูเพิ่มเติม: วิธี restyle em tag ให้เป็นตัวหนาแทนที่จะเป็นตัวเอียง

จากนั้นในข้อความมาร์คดาวน์ของคุณ

~~This is green~~
_this is blue_

ที่น่าสนใจ แต่เพื่อกำจัดการนัดหยุดงานในขณะที่ระบายสีข้อความต่อไปนี้ควรทำงานได้ดีขึ้น:s {text-decoration:none; color: green}
x0s

2
IMO คำตอบนี้อยู่ในจิตวิญญาณของ markdown มากที่สุดในขณะที่ตอบคำถามหลัก มันให้เกียรติแนวคิดข้อความธรรมดาของ markdown (ซึ่งสามารถอ่านได้ในข้อความธรรมดา) และให้เกียรติกับข้อกำหนดการแปลงว่าเมื่อใดที่ข้อความถูกวิเคราะห์โดยตัวแสดง markdown ในแง่นี้ฉันต้องการมีห้องเล็กน้อย (ผู้ชม wrt markdown เพื่อกำหนดแท็ก markdown ใหม่ให้กับแท็ก HTML อื่น ๆ หรือเพื่อกำหนดชั้นเรียนให้กับพวกเขาโดยอัตโนมัติ) ตัวอย่างเช่นผมต้องการ*และ_จะแตกต่างกัน <em>แต่พวกเขาทั้งสองชี้ไปที่
Melvin Roest

13

ควรจะสั้นกว่านี้:

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

ไม่ทำงานเมื่อแปลงเป็น PDF
Marc Le Bihan

ฉันไม่ชอบความคิดในการใช้แท็ก HTML ที่คัดค้าน แต่ถ้าใช้งานได้ผลมันจะทำงาน ...
Alonso del Arte

7

คุณอาจใช้สไตล์ลาเท็กซ์ได้:

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

ในการรักษาช่องว่างระหว่างคำคุณต้องใส่เครื่องหมายตัวหนอน~ด้วย


2
นี่เป็นทางออกเดียวที่ได้ผลสำหรับฉัน
Ébe Isaac

ในพื้นที่ {your-text-here} คุณต้องใช้เครื่องหมายตัวหนอน~แทนการเว้นวรรคเพื่อแทรกช่องว่าง
อเล็กซ์

@Alex: หรือทำ $ \ 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 ยังเป็นrenderer markdown เริ่มต้นที่อยู่เบื้องหลัง 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เพื่อดึงความสนใจไปยังไฟล์บางส่วนเช่น, คำเตือน ⚠️, 🔴 สำคัญ ❗🔴หรือ🔥 ใหม่ 🔥



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.