Code
Different type of components and elements to display a code block.
Simple code blocks
Here is basic usage of tags like code
, pre
, kbd
, var
and samp
.
Inline
Wrap inline snippets of code with <code>
.
<section>
should be wrapped as inline.
For example, <code><section></code> should be wrapped as inline.
Basic block
Use <pre>
for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.
Sample text here...
<pre>Sample text here...</pre>
You may optionally add the .pre-scrollable
class, which will set a max-height of 350px and provide a y-axis scrollbar.
User input
Use the <kbd>
to indicate input that is typically entered via keyboard.
To edit settings, press ctrl + ,
To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
Variables
For indicating variables use the <var>
tag.
<var>y</var> = <var>m</var><var>x</var> + <var>b</var>
Sample output
For indicating blocks sample output from a program use the <samp>
tag.
<samp>This text is meant to be treated as sample output from a computer program.</samp>
Syntax highlighter
Styles for inline code snippets and longer, multiline blocks of code.
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 need to have a dark styled code, add class .code-dark
to the <pre>
tag.
<p>Something to show in <strong>bold</strong> text.</p>
...
<i>Italic text</i>
If you don't want to show language name, add .no-language
to <pre>
tag.
<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>
If you want to remove both language name and copy-to-clipboard button, you can add .no-toolbar
to <pre>
tag instead of adding two classes.
<p>Something to show in <strong>bold</strong> text.</p>
...
<i>Italic text</i>
Code preview
If you're writing HTML codes or want to display an image as an output of your code, you can place it inside .code-preview
element, right before the <pre>
tag. Something like the following code:
<div class="code-preview">The preview content</div>
<pre class="language-markup"><code>Your code</code></pre>
Which results in:
Your code
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
- ASP.NET (C#)
aspnet
- Bash
bash
- C
c
- CoffeeScript
coffeescript
- C++
cpp
- C#
csharp
- Git
git
- Go
go
- HTTP
http
- Java
java
- JSON
json
- LaTeX
latex
- Less
less
- Markdown
markdown
- MATLAB
matlab
- Objective-C
objectivec
- Perl
perl
- PHP
php
- Python
python
- React JSX
jsx
- Ruby
ruby
- Sass (Sass)
sass
- Sass (Scss)
scss
- SQL
sql
- Swift
swift
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>