Overview
We use PrismJs to syntax highlight code snippets. You have to put your code inside <pre><code class="language-xxxx"> which xxxx is the name of language.
<p>Something to show in <strong>bold</strong> text.</p>
...
<i>Italic text</i>
If you need to include line numbers, add class .line-numbers to the <pre> tag.
<p>Something to show in <strong>bold</strong> text.</p>
...
<i>Italic text</i>
If you want to show language name, wrap your <pre> by a .code.show-language div.
<p>Something to show in <strong>bold</strong> text.</p>
...
<i>Italic text</i>
If you want to remove the copy-to-clipboard button, just add a .no-copy to <pre> tag.
<p>Something to show in <strong>bold</strong> text.</p>
...
<i>Italic text</i>
Supported languages
This is the list of all languages currently supported by Prism, with their corresponding alias, to use in place of xxxx in the language-xxxx class:
- HTML/XML
markup - CSS
css - C-like
clike - JavaScript
javascript - ActionScript
actionscript - ASP.NET (C#)
aspnet - Bash
bash - BASIC
basic - C
c - C#
csharp - C++
cpp - CoffeeScript
coffeescript - F#
fsharp - Git
git - Go
go - Groovy
groovy - Haml
haml - Haskell
haskell - HTTP
http - Ini
ini - Jade
jade - Java
java - JSON
json - LaTeX
latex - Less
less - Makefile
makefile - Markdown
markdown - MATLAB
matlab - Objective-C
objectivec - Pascal
pascal - Perl
perl - PHP
php - Prolog
prolog - Python
python - R
r - React JSX
jsx - Ruby
ruby - Sass (Sass)
sass - Sass (Scss)
scss - Scala
scala - SQL
sql - Swift
swift - TypeScript
typescript - Wiki markup
wiki - YAML
yaml
Line highlight
You specify the lines to be highlighted through the data-line attribute on the <pre> element, in the following simple format:
- A single number refers to the line with that number
- Ranges are denoted by two numbers, separated with a hyphen (-)
- Multiple line numbers or ranges are separated by commas.
- Whitespace is allowed anywhere and will be stripped off.
Examples:
data-line="5"The 5th linedata-line="1-5"Lines 1 through 5data-line="1,4"Line 1 and line 4data-line="1-2, 5, 9-20"Lines 1 through 2, line 5, lines 9 through 20
You can also link to specific lines on any code snippet, by using the following as a url hash: #{element-id}.{lines} where {element-id} is the id of the <pre> element and {lines} is one or more lines or line ranges that follow the format outlined above. For example, if there is an element with id="highlighter" on the page, you can link to lines 7-8 by linking to #highlighter.7-8
<p>This is a normal paragraph without any contextual classes.</p>
<p class="text-primary">A paragraph with .text-primary class.</p>
<p class="text-success">A paragraph with .text-success class.</p>
<p class="text-info">A paragraph with .text-info class.</p>
<p class="text-warning">A paragraph with .text-warning class.</p>
<p class="text-danger">A paragraph with .text-danger class.</p>
<p class="text-purple">A paragraph with .text-purple class.</p>
<p class="text-teal">A paragraph with .text-teal class.</p>
<p class="text-gray">A paragraph with .text-gray class.</p>
<p class="text-dark">A paragraph with .text-dark class.</p>
Code wrapper
Wrap your sample preview inside a .code-preview and place it right before the <pre>. You even can have a .code-title to write some description about the code.
When your <pre> comes with .code-title and/or .code-preview, you should wrap them inside a .code. So you'll have a structure as follow:
<div class="code show-language">
<div class="code-title"></div>
<div class="code-preview"></div>
<pre><code class="language-markup"></code></pre>
</div>
Here's an example:
Code title
Some description about the below code and preview
Something to show in bold text.
A paragraph with .text-danger class.
Italic text<p>Something to show in <strong>bold</strong> text.</p>
<p class="text-danger">A paragraph with .text-danger class.</p>
<i>Italic text</i>
Code toggler
Following code instruct you on how to add a button to toggle your code area.
<div class="code code-fold show-language">
<div class="code-title"></div>
<div class="code-preview"></div>
<pre><code class="language-markup"></code></pre>
<div class="code-toggler">
<button class="btn btn-square"><i class="ion-code"></i></button>
</div>
</div>
Here's an example:
Code title
Some description about the below code and preview
Something to show in bold text.
A paragraph with .text-danger class.
Italic text<p>Something to show in <strong>bold</strong> text.</p>
<p class="text-danger">A paragraph with .text-danger class.</p>
<i>Italic text</i>