เน้นรหัสทุบตี / เปลือกใน markdown


304

วิธีไฮไลต์คำสั่ง bash / shell ในไฟล์ markdown?


ตัวอย่างเช่นเพื่อเน้นjsฉันเขียน:

```js
function () { return "This code is highlighted as Javascript!"}
```

```htmlเพื่อเน้นการใช้งาน HTML ฉันรหัส

เราจะเน้นคำสั่ง bash / shell ได้อย่างไร

คำตอบ:


308

ขึ้นอยู่กับเอ็นจิ้นการเรนเดอร์มาร์ช ไม่มีมาตรฐานสำหรับสิ่งนี้ หากคุณหมายถึงการทำเครื่องหมาย GitHub ที่มีรสชาติshellควรทำงานได้ดี นามแฝงมีsh, หรือbash zshคุณสามารถค้นหารายการของ lexers ไวยากรณ์ที่มีอยู่ที่นี่


1
ฉันให้รายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับวิธีการอนุมานตัวระบุภาษาสำหรับ Markdown จากไฟล์ที่ลิงก์ด้านบนที่นี่: stackoverflow.com/a/45786100/6884590ในกรณีที่เป็นประโยชน์กับทุกคนที่พบคำถามนี้
pchaigno

256

หากคุณกำลังมองหาเพื่อเน้นลำดับคำสั่งเชลล์เซสชั่นในขณะที่มันดูเหมือนกับผู้ใช้ (พร้อมท์ไม่เพียง แต่เป็นเนื้อหาของไฟล์สคริปต์สมมุติ) จากนั้นตัวระบุที่เหมาะสมที่จะใช้ในขณะนี้คือคอนโซล :

```console
foo@bar:~$ whoami
foo
```

สกรีนช็อตแท็บตัวอย่าง GitHub Markdown


13
นี่คือคำตอบที่แม่นยำยิ่งขึ้น การไฮไลต์รวมถึงพรอมต์ในขณะที่ bash, sh, zsh และ shell ไม่ถือว่าจุดเริ่มต้นของบรรทัดเป็นพรอมต์และไม่ได้ระบายสีอย่างถูกต้อง ขอบคุณ!
mikesigs

1
ดี! มีการอ้างอิงสำหรับมาตรฐานนี้หรือไม่? มันคือ git ปรุงแต่ง md หรืออย่างอื่น? ขอบคุณ!
Jorge Orpinel

1
ฉันเชื่อว่าฉัน @JorgeOrpinel ขุดมันขึ้นมาในรายการของภาษาที่สนับสนุนโดย GitHub ของเน้นไวยากรณ์ที่นี่
Anton Strogonoff

27

ฉันพบคำอธิบายที่ดีที่https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code

บล็อกรหัสเป็นส่วนหนึ่งของข้อมูลจำเพาะ Markdown แต่เน้นไวยากรณ์ไม่

อย่างไรก็ตามผู้สร้างภาพจำนวนมาก - เช่น Github และ Markdown Here - รองรับการเน้นไวยากรณ์ รองรับภาษาใดบ้างและวิธีการเขียนชื่อภาษาเหล่านั้นจะแตกต่างจากโหมดแสดงภาพสู่โหมดแสดงภาพ Markdown ที่นี่รองรับการเน้นหลายภาษา (และไม่ใช่ภาษาจริง ๆ เช่น diffs และส่วนหัว HTTP); เพื่อดูรายการที่สมบูรณ์และวิธีการเขียนชื่อภาษาให้ดูที่highlight.jsสาธิตหน้า

แม้ว่าฉันจะไม่พบเอกสารฮับ git อย่างเป็นทางการเกี่ยวกับการใช้highlight.jsฉันได้ทดสอบภาษามากมายและดูเหมือนจะใช้งานได้

หากต้องการดูรายการภาษาฉันใช้https://highlightjs.readthedocs.io/en/latest/css-classes-reference.html#language-names-and-aliases

ตัวอย่างเปลือกบางส่วน:

Shell:      console, shell
Bash:       bash, sh, zsh
Powershell: powershell, ps
Dos:        dos, bat, cmd

ตัวอย่าง:

```bat
cd \
copy a b
ping 192.168.0.1
```

14

ใช้แพ็คเกจknitr :

```{r, engine='bash', code_block_name} ...

เช่น:

```{r, engine='bash', count_lines}
wc -l en_US.twitter.txt 
```

คุณยังสามารถใช้:

  • engine='sh' สำหรับเปลือก
  • engine='python' สำหรับหลาม
  • engine='perl', engine='haskell'และพวงของภาษา C-เหมือนคนอื่น ๆ และแม้gawk, awkฯลฯ

2
ไม่ได้ทำอะไรกับไฟล์. md ในเครื่องใช่ไหม มันต้องเป็น doc ที่ให้บริการผ่านเว็บหรือไม่
javadba

9

ตามเอกสารจาก GitHubเกี่ยวกับการเน้นรหัสไวยากรณ์ของ GFM

เราใช้นักภาษาศาสตร์เพื่อทำการตรวจจับภาษาและการเน้นไวยากรณ์ คุณสามารถหาคำหลักที่ถูกต้องในแฟ้ม YAML ภาษา

แสดงผลบน GitHub consoleสร้างบรรทัดหลังจากคอนโซลสีน้ำเงิน bash, shหรือshellดูเหมือนจะไม่ "ไฮไลท์" มาก ... และคุณสามารถใช้poshสำหรับ PowerShell หรือ CMD


7

หากต้องการเพียงเน้นคำแรกเป็นคำสั่งดังนั้นฉันมักจะใช้properties:

```properties
npm run build
```  

ฉันได้รับสิ่งที่ชอบ:

npm run build


0

Bitbucket ใช้ CodeMirror สำหรับการเน้นไวยากรณ์ สำหรับทุบตีหรือเปลือกคุณสามารถใช้sh, หรือbash zshข้อมูลเพิ่มเติมสามารถพบได้ที่ไวยากรณ์การกำหนดค่าสำหรับไฮไลต์ไฟล์นามสกุลและรหัสโหมดภาษากระจก

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