Inline code syntax highlighting in GitHub markdown

2019-01-23 01:46发布

问题:

GitHub-flavored markdown supports syntax highlighting in codeblocks. This is done by adding the name of the language next to the triple-grave codeblock markers:

```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```

Standard markdown also supports inline codeblocks by wrapping text in `single graves`. Is there any way to add syntax highlighting to these inline codeblocks?

回答1:

GitHub comments, wikis etc. use GFM, essentially CommonMark with some extensions. There it's not possible.

However, GitHub Pages uses Jekyll and by extension kramdown where you can use:

`Redcarpet.new("Hello World!")`{:.ruby}

P.S. If you happen to use pandoc, the syntax is:

`Redcarpet.new("Hello World!")`{.ruby}


回答2:

Yes, it is possible with Github Markdown:

I needed to do the same with an XML-structure inside a table row (in my case defined with markdown, nit html, so with | | delimitiers for the table structure)

just put the desired Style-class (in my case .language-xml) within the Structure {: }

`<xml attrib="someVal"></xml>`{:.language-xml}

this will set the style of the table cell to highlight the code according to the set style class

i guess for ruby it then will just be

{:.language-ruby}

took me over an hour to figure out, found the solution nowhere, so i thought i'd post it here if anyone stumbles upon this problem again.