Sorot kode bash / shell dalam penurunan harga

304

Bagaimana cara menyorot perintah bash / shell dalam file penurunan harga?


Misalnya untuk menyorot jssaya menulis:

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

Untuk menyorot kode HTML yang saya gunakan ```html.

Bagaimana kita bisa menyoroti perintah bash / shell?

Ionică Bizău
sumber

Jawaban:

308

Tergantung pada mesin rendering markdown dan rasa markdown. Tidak ada standar untuk ini. Jika Anda bermaksud penurunan harga rasa github misalnya, shellharus bekerja dengan baik. Alias ​​adalah sh, bashatau zsh. Anda dapat menemukan daftar lexers sintaks yang tersedia di sini

hek2mgl
sumber
1
Saya memberikan sedikit rincian lebih lanjut tentang cara menyimpulkan penspesifikasi bahasa untuk Markdown dari file tertaut di sini: stackoverflow.com/a/45786100/6884590 , jika itu berguna bagi siapa saja yang menemukan pertanyaan ini.
pchaigno
256

Jika Anda ingin menyorot urutan perintah sesi shell seperti yang terlihat oleh pengguna (dengan konfirmasi, bukan hanya sebagai isi dari file skrip hipotetis), maka pengidentifikasi yang tepat untuk digunakan saat ini adalah konsol :

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

Tangkapan layar pratinjau GitHub Markdown

Anton Strogonoff
sumber
13
Ini jawaban yang lebih akurat. Penyorotan mencakup prompt, sedangkan bash, sh, zsh, dan shell tidak menganggap awal baris sebagai prompt dan tidak mewarnainya dengan benar. Terima kasih!
mikesigs
1
Bagus! Apakah ada referensi untuk standar ini? Apakah itu git rasa md atau yang lain? Terima kasih!
Jorge Orpinel
1
@JorgeOrpinel Saya yakin saya menggali dalam daftar bahasa yang didukung oleh stabilo sintaksis GitHub di sini .
Anton Strogonoff
27

Saya menemukan deskripsi yang baik di https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code

Blok kode adalah bagian dari spesifikasi Penurunan harga, tetapi penyorotan sintaks tidak .

Namun, banyak penyaji - seperti Github dan Markdown Here - mendukung penyorotan sintaksis. Bahasa mana yang didukung dan bagaimana nama-nama bahasa itu harus ditulis akan bervariasi dari penyaji ke penyaji. Penurunan harga di sini mendukung penyorotan untuk puluhan bahasa (dan bukan bahasa yang sebenarnya, seperti header HTTP dan HTTP); untuk melihat daftar lengkap, dan cara menulis nama bahasa, lihat highlight.js halaman demo .

Meskipun saya tidak dapat menemukan doc hub git resmi tentang penggunaan highlight.js , saya telah menguji banyak bahasa dan sepertinya berfungsi

Untuk melihat daftar bahasa yang saya gunakan https://highlightjs.readthedocs.io/en/latest/css-classes-reference.html#language-names-and-aliases

Beberapa contoh cangkang:

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

Contoh:

```bat
cd \
copy a b
ping 192.168.0.1
```
Alireza Fattahi
sumber
14

menggunakan paket knitr :

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

misalnya:

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

Anda juga bisa menggunakan:

  • engine='sh' untuk shell
  • engine='python' untuk python
  • engine='perl', engine='haskell'dan banyak bahasa sejenis C lainnya dan bahkan gawk, awkdll.
irJERAD
sumber
2
Tidak melakukan apa pun pada file .md lokal? Apakah harus berupa dokumen yang dilayani web agar berfungsi?
javadba
9

Per dokumentasi dari GitHub tentang sintaks GFM yang disorot blok kode

Kami menggunakan Ahli Bahasa untuk melakukan deteksi bahasa dan penyorotan sintaksis. Anda dapat mengetahui kata kunci mana yang valid dalam bahasa file-file YAML .

Diberikan pada GitHub, consolemembuat garis setelah konsol berwarna biru. bash,, shatau shellsepertinya tidak terlalu "menyoroti" ... dan Anda dapat menggunakannya poshuntuk PowerShell atau CMD.

Tuan Kennedy
sumber
7

Jika hanya perlu menyorot kata pertama sebagai perintah, maka saya sering menggunakan properties:

```properties
npm run build
```  

Saya mendapatkan sesuatu seperti:

npm run build

g.annunziata
sumber