TiddlyWiki5/plugins/tiddlywiki/highlight
..
files
TypeMappings.multids
highlightblock.js
howto.tid
license.tid
plugin.info
readme.tid
styles.tid
usage.tid

readme.tid

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/`.