Mettez en surbrillance le code bash / shell dans le démarque

304

Comment mettre en évidence les commandes bash / shell dans les fichiers de démarques?


Par exemple pour mettre en évidence jsj'écris:

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

Pour mettre en évidence le code HTML que j'utilise ```html.

Comment mettre en évidence les commandes bash / shell?

Ionică Bizău
la source

Réponses:

308

Dépend du moteur de rendu de démarque et de la saveur de démarque. Il n'y a pas de norme pour cela. Si vous voulez dire une démarque aromatisée au github par exemple, cela shelldevrait fonctionner correctement. Les alias sont sh, bashou zsh. Vous pouvez trouver la liste des lexers de syntaxe disponibles ici

hek2mgl
la source
1
J'ai fourni un peu plus de détails sur la façon de déduire les spécificateurs de langue pour Markdown à partir du fichier lié ci-dessus ici: stackoverflow.com/a/45786100/6884590 , au cas où cela serait utile à quiconque trouve cette question.
pchaigno
256

Si vous cherchez à mettre en surbrillance une séquence de commandes de session shell telle qu'elle se présente à l'utilisateur (avec des invites, pas seulement comme le contenu d'un fichier de script hypothétique), alors le bon identifiant à utiliser pour le moment est la console :

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

Capture d'écran de l'onglet d'aperçu de GitHub Markdown

Anton Strogonoff
la source
13
Ceci est une réponse plus précise. La mise en évidence inclut l'invite, tandis que bash, sh, zsh et shell ne considèrent pas le début de la ligne comme l'invite et ne la colorent pas correctement. Merci!
mikesigs
1
Agréable! Existe-t-il une référence pour cette norme? Est-ce du md aromatisé ou quelque chose d'autre? Merci!
Jorge Orpinel
1
@JorgeOrpinel Je pense que je l'ai trouvé dans la liste des langues prises en charge par le surligneur de syntaxe de GitHub ici .
Anton Strogonoff du
27

Je trouve une bonne description sur https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code

Les blocs de code font partie de la spécification Markdown, mais pas la mise en évidence de la syntaxe .

Cependant, de nombreux moteurs de rendu - comme Github et Markdown Here - prennent en charge la coloration syntaxique. Les langues prises en charge et la façon dont ces noms de langue doivent être écrits varient d'un moteur de rendu à l'autre. Markdown Here prend en charge la mise en évidence pour des dizaines de langues (et pas vraiment des langues, comme les diffs et les en-têtes HTTP); pour voir la liste complète et comment écrire les noms de langue, consultez la page de démonstration highlight.js .

Bien que je n'aie pas pu trouver de document officiel git hub sur l'utilisation highlight.js, j'ai testé beaucoup de langues et semblait fonctionner

Pour voir la liste des langues, j'ai utilisé https://highlightjs.readthedocs.io/en/latest/css-classes-reference.html#language-names-and-aliases

Quelques échantillons de coquilles:

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

Exemple:

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

en utilisant le paquet knitr :

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

par exemple:

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

vous pouvez aussi utiliser:

  • engine='sh' pour coque
  • engine='python' pour python
  • engine='perl', engine='haskell'et un tas d'autres langages de type C et même gawk, awketc.
irJERAD
la source
2
Ne fait rien sur un fichier .md local? Doit-il être un document Web pour fonctionner?
javadba
9

Selon la documentation de GitHub concernant les blocs de code mis en évidence par la syntaxe GFM

Nous utilisons Linguist pour effectuer la détection de la langue et la mise en évidence de la syntaxe. Vous pouvez savoir quels mots clés sont valides dans le fichier YAML des langues .

Rendu sur GitHub, consolerend les lignes après la console bleues. bash, shou shellne semblent pas "surligner" beaucoup ... et vous pouvez utiliser poshpour PowerShell ou CMD.

M. Kennedy
la source
7

Si seulement besoin de mettre en évidence le premier mot comme commande, j'utilise souvent properties:

```properties
npm run build
```  

J'obtiens quelque chose comme:

npm run build

g.annunziata
la source