Выделите код bash / shell в уценке


304

Как выделить команды bash / shell в файлах уценки?


Например, чтобы выделить, jsя пишу:

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

Для выделения HTML-кода я использую ```html.

Как мы можем выделить команды bash / shell?

Ответы:


308

Зависит от движка рендеринга уценки и аромата уценки. Там нет стандарта для этого. Например, если вы имеете в виду уценку GitHB со вкусом, она shellдолжна работать нормально. Псевдонимы sh, bashили zsh. Вы можете найти список доступных синтаксических лексеров здесь


1
Я предоставил немного больше информации о том, как вывести спецификаторы языка для Markdown из связанного файла выше здесь: stackoverflow.com/a/45786100/6884590 , на случай, если это пригодится любому, кто найдет этот вопрос.
pchaigno

256

Если вы хотите выделить последовательность команд сеанса оболочки так, как она выглядит для пользователя (с подсказками, а не только с содержимым гипотетического файла сценария), то правильным идентификатором для использования на данный момент является console :

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

Скриншот вкладки предварительного просмотра GitHub Markdown


13
Это более точный ответ. Выделение включает подсказку, тогда как bash, sh, zsh и shell не считают начало строки подсказкой и не окрашивают его должным образом. Спасибо!
Майкисиг

1
Ницца! Есть ли ссылка на этот стандарт? Это Git со вкусом MD или что-то еще? Спасибо!
Хорхе Орпинель

1
@JorgeOrpinel Я полагаю, что выкопал это в списке языков, поддерживаемых подсветкой синтаксиса GitHub здесь .
Антон Строгонов

27

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

Блоки кода являются частью спецификации Markdown, но подсветка синтаксиса - нет .

Тем не менее, многие средства визуализации, такие как Github и Markdown Here, поддерживают подсветку синтаксиса. Какие языки поддерживаются и как эти названия языков должны быть написаны, будет варьироваться от визуализатора к визуализатору. Markdown Here поддерживает подсветку для десятков языков (и не для таких языков, как diff и заголовки HTTP); чтобы увидеть полный список и как написать названия языков, смотрите демонстрационную страницу highlight.js .

Хотя я не смог найти ни одного официального документа по использованию git hub 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? Должен ли он быть документом, обслуживаемым через Интернет, чтобы работать?
Джавадба

9

Согласно документации от GitHub относительно синтаксиса GFM выделенные блоки кода

Мы используем Linguist для определения языка и выделения синтаксиса. Вы можете узнать, какие ключевые слова действительны в файле 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.