From 4c951d530d7cf225fcca18d6e9146b28bf8dcf10 Mon Sep 17 00:00:00 2001 From: Camelid <37223377+camelid@users.noreply.github.com> Date: Tue, 29 Sep 2020 16:56:31 -0700 Subject: [PATCH] List supported Highlight.js languages in guide (#1345) * List supported Highlight.js languages in guide Generated using the technique described in https://github.com/rust-lang/mdBook/issues/1275#issuecomment-655903967. * Improve wording in guide --- guide/src/SUMMARY.md | 2 +- guide/src/format/mdbook.md | 6 +- guide/src/format/theme/syntax-highlighting.md | 61 +++++++++++++++++-- 3 files changed, 60 insertions(+), 9 deletions(-) diff --git a/guide/src/SUMMARY.md b/guide/src/SUMMARY.md index 3ae143fb..7848743e 100644 --- a/guide/src/SUMMARY.md +++ b/guide/src/SUMMARY.md @@ -17,7 +17,7 @@ - [Syntax highlighting](format/theme/syntax-highlighting.md) - [Editor](format/theme/editor.md) - [MathJax Support](format/mathjax.md) - - [mdBook specific features](format/mdbook.md) + - [mdBook-specific features](format/mdbook.md) - [Continuous Integration](continuous-integration.md) - [For Developers](for_developers/README.md) - [Preprocessors](for_developers/preprocessors.md) diff --git a/guide/src/format/mdbook.md b/guide/src/format/mdbook.md index 223ba215..f9dc7256 100644 --- a/guide/src/format/mdbook.md +++ b/guide/src/format/mdbook.md @@ -1,9 +1,9 @@ -# mdBook-specific markdown +# mdBook-specific features ## Hiding code lines There is a feature in mdBook that lets you hide code lines by prepending them -with a `#` [in the same way that Rustdoc does][rustdoc-hide]. +with a `#` [like you would with Rustdoc][rustdoc-hide]. [rustdoc-hide]: https://doc.rust-lang.org/stable/rustdoc/documentation-tests.html#hiding-portions-of-the-example @@ -37,7 +37,7 @@ With the following syntax, you can include files into your book: The path to the file has to be relative from the current source file. -mdBook will interpret included files as markdown. Since the include command +mdBook will interpret included files as Markdown. Since the include command is usually used for inserting code snippets and examples, you will often wrap the command with ```` ``` ```` to display the file contents without interpretting them. diff --git a/guide/src/format/theme/syntax-highlighting.md b/guide/src/format/theme/syntax-highlighting.md index 42039cdd..05cf6206 100644 --- a/guide/src/format/theme/syntax-highlighting.md +++ b/guide/src/format/theme/syntax-highlighting.md @@ -1,16 +1,67 @@ # Syntax Highlighting -For syntax highlighting I use [Highlight.js](https://highlightjs.org) with a -custom theme. +mdBook uses [Highlight.js](https://highlightjs.org) with a custom theme +for syntax highlighting. Automatic language detection has been turned off, so you will probably want to -specify the programming language you use like this +specify the programming language you use like this: -
```rust
+~~~markdown
+```rust
 fn main() {
     // Some code
 }
-```
+``` +~~~ + +## Supported languages + +These languages are supported by default, but you can add more by supplying +your own `highlight.js` file: + +- apache +- armasm +- bash +- c +- coffeescript +- cpp +- csharp +- css +- d +- diff +- go +- handlebars +- haskell +- http +- ini +- java +- javascript +- json +- julia +- kotlin +- less +- lua +- makefile +- markdown +- nginx +- objectivec +- perl +- php +- plaintext +- properties +- python +- r +- ruby +- rust +- scala +- scss +- shell +- sql +- swift +- typescript +- x86asm +- xml +- yaml ## Custom theme Like the rest of the theme, the files used for syntax highlighting can be