Markeer Bash/shell-code in Markdown-bestanden

Hoe kan ik de Bash/shell-commando’s in Markdown-bestanden markeren?


Als ik bijvoorbeeld jswil markeren, schrijf ik:

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

Om HTML-code te markeren, gebruik ik ```html.

Hoe kunnen we Bash/shell-commando’s markeren?


Antwoord 1, autoriteit 100%

Als u een commandoreeks van een shell-sessie wilt markeren zoals deze eruitziet voor de gebruiker (met prompts, niet alleen als inhoud van een hypothetisch scriptbestand), dan is de juiste identifier om op dit moment te gebruiken console:

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

GitHub Markdown voorbeeldtabblad screenshot


Antwoord 2, autoriteit 91%

Het hangt af van de Markdown-weergave-engine en de Markdown-smaak. Hier is geen norm voor. Als je bijvoorbeeld Markdown met GitHub-smaak bedoelt, zou shellgoed moeten werken. Aliassen zijn sh, bashof zsh. Je kunt hierde lijst met beschikbare syntaxis-lexers vinden.


Antwoord 3, autoriteit 12%

Ik heb een goede beschrijving gevonden op Markdown Cheatsheet:

Codeblokken maken deel uit van de Markdown-specificatie, maar syntaxisaccentuering niet.

Echter, veel renderers — zoals GitHub’s en Markdown Here — ondersteunen syntaxisaccentuering. Welke talen worden ondersteund en hoe die taalnamen moeten worden geschreven, verschilt van renderer tot renderer. Markdown Here ondersteunt markering voor tientallen talen (en niet-echt-talen, zoals diffs en HTTP-headers); om de volledige lijst te zien en hoe u de taalnamen schrijft, gaat u naar de demopagina highlight.js.

Hoewel ik geen officiële GitHub-documentatie kon vinden over het gebruik van highlight.js, heb ik veel talen getest en leek het te werken

Voor een lijst met talen die ik heb gebruikt https://github.com /highlightjs/highlight.js/blob/master/SUPPORTED_LANGUAGES.md

Enkele schaalvoorbeelden:

Shell:      console, shell
Bash:       bash, sh, zsh
PowerShell: powershell, ps
DOS:        dos, bat, cmd

Voorbeeld:

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

Antwoord 4, autoriteit 7%

Als ik alleen het eerste woord als commando hoef te markeren, gebruik ik vaak properties:

```properties
npm run build
```  

Ik krijg zoiets als:

npmrun build


Antwoord 5, autoriteit 4%

Het knitrpakket gebruiken:

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

Bijvoorbeeld:

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

U kunt ook het volgende gebruiken:

  • engine='sh'voor shell
  • engine='python'voor Python
  • engine='perl', engine='haskell'en een heleboel andere C-achtige talen en zelfs gawk, AWK, enz.

Antwoord 6, autoriteit 3%

Volgens de documentatie van GitHubmet betrekking tot GFM-syntaxis gemarkeerde codeblokken

We gebruiken Linguistom taaldetectie en syntaxisaccentuering uit te voeren. U kunt zien welke trefwoorden geldig zijn in het talen YAML-bestand.

Gegeven op GitHub, consolemaakt de regels na de console blauw. bash, shof shelllijken niet veel te “highlighten” …en u kunt poshvoor PowerShell of CMD.


Antwoord 7

Bitbucket gebruikt CodeMirror voor syntaxisaccentuering. Voor Bash of shell kun je sh, bashof zshgebruiken. Meer informatie is te vinden op Syntaxisaccentuering configureren voor bestandsextensiesen Code mirror-taalmodi.

Other episodes