Виділіть код bash / shell у розмітці


304

Як виділити команди bash / shell у файлах розмітки?


Наприклад, щоб виділити, jsя пишу:

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

Для виділення я використовую HTML-код ```html.

Як можна виділити команди bash / shell?

Відповіді:


308

Залежить від двигуна відображення відмітки та аромату відмітки. Для цього немає стандарту. Якщо ви маєте на увазі, наприклад, надбавку з ароматом github, shellмає працювати добре. Псевдоніми є sh, bashабо zsh. З переліком доступних синтаксичних лекерів ви можете ознайомитись тут


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 чи щось інше? Дякую!
Хорхе Орпінель

1
@JorgeOrpinel Я вважаю, що я викопав це у списку мов, які підтримує тут синтаксис-підсвітка GitHub .
Антон Строгонов

27

Я знаходжу хороший опис на https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code

Кодові блоки є частиною специфікації Markdown, але виділення синтаксису - ні .

Однак багато рендерістів - як Github's та Markdown Here - підтримують підсвічування синтаксису. Які мови підтримуються та як слід писати ці мовні імена, буде залежати від рендерінга до рендерера. Розмітка тут підтримує виділення для десятків мов (і не дуже мов, таких як diff та заголовки HTTP); щоб побачити повний список, і як писати назви мови, см highlight.js демонстраційну сторінку.

Хоча я не зміг знайти жодного офіційного git hub doc щодо використання 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

використовуючи пакет вязання :

```{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'і купа інших мов, подібних С, і навіть gawk, awkі т.д.

2
Не робить нічого в локальному .md-файлі? Чи повинен бути веб-сервер, щоб працювати?
javadba

9

Відповідно до документації від GitHub щодо виділених кодом блоків синтаксису GFM

Ми використовуємо лінгвіст для виявлення мови та виділення синтаксису. Ви можете дізнатися, які ключові слова є дійсними у мові YAML-файл .

Наданий на GitHub, consoleробить лінії після консолі синіми. bash, shабо shell, здається, не дуже "виділяють" ... і ви можете використовувати poshдля PowerShell або CMD.


7

Якщо потрібно лише виділити перше слово як команду, тому я часто використовую properties:

```properties
npm run build
```  

Я отримую щось на кшталт:

npm run build


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