在markdown中突出显示bash/shell代码

Ion*_*zău 253 bash shell markdown github-flavored-markdown

如何在markdown文件中突出显示bash/shell命令?


例如,突出js我写:

```js
function () { return "This code is highlighted as Javascript!"}
```
Run Code Online (Sandbox Code Playgroud)

要突出显示我使用的HTML代码```html.

我们如何突出bash/shell命令?

hek*_*mgl 259

取决于降价渲染引擎和降价风格.没有标准.例如,如果你的意思是github味道降价,shell应该可以正常工作.别名是sh,bashzsh.您可以在此处找到可用的语法词法分析器列表

  • 我提供了有关如何从上面的链接文件推断 Markdown 语言说明符的更多详细信息:/sf/answers/3205027031/,以防对发现此问题的任何人有用。 (3认同)

Ant*_*off 168

如果您希望在向用户查看时突出显示shell会话命令序列(带有提示,而不仅仅是假设脚本文件的内容),那么此时使用的正确标识符是console:

```console
foo@bar:~$ whoami
foo
```
Run Code Online (Sandbox Code Playgroud)

GitHub Markdown预览标签截图

  • 这是一个更准确的答案。突出显示包括提示,而bash,sh,zsh和shell则不认为行的开头是提示,并且未正确为其着色。谢谢! (9认同)
  • https://github.com/github/linguist/blob/3c3b037910006fc2f1a9bb34b2c4e9cde062206c/lib/linguist/languages.yml#L5842-L5843已将“console”和“bash session”列为此“ShellSession”语言的别名,所以我的理解可以使用“console”、“bash session”或“ShellSession”来实现这一目标,但实际上只有“console”和“shellsession”(大小写无关紧要)对我刚才的测试有用。“bash session”可能确实有效,但我无法正确引用它以包含空格,因此它只是在开头选取“bash”并删除“session”。 (9认同)
  • 好的!这个标准有参考吗?是 git 风味的 md 还是其他什么?谢谢! (4认同)
  • 我看到“shell-session”被提及的次数多于“console” (3认同)
  • 您知道推荐的标识符是否已更改吗?当我在 stackoverflow 尝试“console”时,我没有得到任何语法突出显示。而 `shell` 和 `bash` 似乎认为一切都是 shell 代码,甚至是命令输出(我猜这些行不包含任何 `$`?)。 (3认同)
  • @JorgeOrpinel 我相信我在 GitHub 语法荧光笔支持的语言列表中找到了它[此处](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml#L4947)。 (2认同)

g.a*_*ata 24

如果我只需要突出显示第一个单词作为命令,我经常使用properties

```properties
npm run build
```  
Run Code Online (Sandbox Code Playgroud)

我得到类似的东西:

npm运行构建


小智 14

使用knitr包:

```{r, engine='bash', code_block_name} ...
Run Code Online (Sandbox Code Playgroud)

例如:

```{r, engine='bash', count_lines}
wc -l en_US.twitter.txt 
```
Run Code Online (Sandbox Code Playgroud)

你也可以用:

  • engine='sh' 对于壳
  • engine='python' 对于python
  • engine='perl',engine='haskell'和一堆其他类似C语言的,甚至gawk,awk等等.

  • 在本地.md文件上不做任何事情?它必须是网络提供的文档才能工作吗? (2认同)

Ali*_*ahi 12

我在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
Run Code Online (Sandbox Code Playgroud)

例:

```bat
cd \
copy a b
ping 192.168.0.1
```
Run Code Online (Sandbox Code Playgroud)

  • 我喜欢“shell”,谢谢!它使“$”显得暗淡。 (2认同)

Mr.*_*edy 7

根据GitHub关于GFM语法突出显示的代码块的文档

我们使用Linguist来执行语言检测和语法突出显示.您可以在YAML文件中找出哪些关键字有效.

在GitHub上渲染,console使控制台蓝色后的线条.bash,sh或者shell似乎没有"突出"太多......你可以使用poshPowerShell或CMD.