1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-02-05 13:40:02 +00:00
Talha Mansoor 04a4a0f92e Add support of language aliases in highlight.js plugin (#3898)
listLanguages() returns a list of supported languages. It does not
return language aliases.

highlight.js has extensive support of language aliases which can be 
viewed here

https://highlightjs.readthedocs.io/en/latest/css-classes-reference.html#language-names-and-aliases

But because of using listLanguages(), TW does not take advantage of 
alias.

getLanguage() method on the other hand supports aliases.

https://highlightjs.readthedocs.io/en/latest/api.html#getlanguage-name

To summarize, now user can use javascript, js or jsx for the code block. getLanguage() will return an object which means highlight.js supports
this language.
2019-04-15 18:45:45 +01:00
..

title: $:/plugins/tiddlywiki/highlight/readme

This plugin provides syntax highlighting of code blocks using v9.15.6 of [[highlight.js|https://github.com/isagalaev/highlight.js]] from Ivan Sagalaev.

! Usage

When the plugin is installed it automatically applies highlighting to all codeblocks defined with triple backticks or with the CodeBlockWidget.

The language can optionally be specified after the opening triple braces:

<$codeblock code="""```css
 * { margin: 0; padding: 0; } /* micro reset */

html { font-size: 62.5%; }
body { font-size: 14px; font-size: 1.4rem; } /* =14px */
h1   { font-size: 24px; font-size: 2.4rem; } /* =24px */
```"""/>

If no language is specified highlight.js will attempt to automatically detect the language.

! Built-in Language Brushes

The plugin includes support for the following languages (referred to as "brushes" by highlight.js):

* apache
* arduino
* arm assembly
* asciidoc
* autohotkey
* awk
* bash
* cmake
* coffeescript
* cpp
* cs
* css
* diff
* dockerfile
* erlang
* fortran
* go
* gradle
* haskell
* html
* http
* ini
* intel x86 assembly
* java
* javascript
* json
* kotlin
* makefile
* markdown
* mathematica
* matlab
* nginx
* objectivec
* perl
* php
* powershell
* python
* R
* ruby
* rust
* sql
* typescript
* vim script
* xml
* yaml

You can also specify the language as a MIME content type (eg `text/html` or `text/css`). The mapping is accomplished via mapping tiddlers whose titles start with `$:/config/HighlightPlugin/TypeMappings/`.