<h2>Code highlighting with Prism.js</h2>

For this styleguide we use <a href="http://prismjs.com/" target="_blank">prism.js</a> as a syntax highlighter and it's already included in the Volta package along with our theme.

<a href="http://prismjs.com/" target="_blank">Prism.js</a> is a good lightweight code highlighter, well customiseable. Our version includes Copy to Clipboard and the option of line numbers, command line indicators and keeping markup (to enhance or style from within the snippet).

If you are using any other system, please refer to our colour guide on the <a href="/storybook/?path=/info/components-code--highlighting">Notes</a>.

<h3>How to use</h3>

Remember to call <strong>prism.js</strong> and <strong>volta-prism.css</strong>

<pre class="language-html"><code>&lt;script src="<em>[path-to-volta]</em>/js/prism.js"&gt;&lt;/script&gt;
&lt;link rel="stylesheet" href="<em>[path-to-volta]</em>/css/volta-prism.css"&gt;</code></pre>

Then use the following structure

<pre class="language-html Vlt-prism--dark"><code>&lt;pre class="language-<em>[language]</em>"&gt;
    &lt;code&gt;
        &lt;!-- The code to display --&gt;
    &lt;/code&gt;
&lt;/pre&gt;</code></pre>

<div class="Vlt-callout Vlt-callout--tip">
  <i></i>
  <div class="Vlt-callout__content">
    <strong>For a more indepth guide, please visit the <a href="http://prismjs.com/">Prism.js website</a>.</strong>
  </div>
</div>

<h3>Our package contains:</h3>

<div class="Vlt-grid">
    <div class="Vlt-col">
        <h4>Languages</h4>
        <ul class="Vlt-list Vlt-list--simple">
            <li>HTML</li>
            <li>CSS</li>
            <li>JavaScript</li>
            <li>Bash</li>
            <li>Git</li>
            <li>Groovy</li>
            <li>Java</li>
            <li>JSON</li>
            <li>Kotlin</li>
            <li>Objective-C</li>
            <li>PHP</li>
            <li>Python</li>
            <li>Ruby</li>
            <li>Swift</li>
            <li>C#</li>
            <li>XML</li>
        </ul>
    </div>
    <div class="Vlt-col">
        <h4>Prism plugins</h4>
        <ul class="Vlt-list Vlt-list--simple">
            <li>Line highlight</li>
            <li>Line numbers</li>
            <li>Keep markup</li>
            <li>Command line</li>
            <li>Toolbar</li>
            <li>Copy to Clipboard</li>
        </ul>
    </div>
</div>

<h3>Color schemes</h3>

We have a dark and a light scheme, to be used at your discretion or as indicated by your designer

<ul class="Vlt-list Vlt-list--simple">
    <li><strong>Light</strong>: default</li>
    <li><strong>Dark</strong>: just add <code>.Vlt-prism--dark</code> to the <code>pre</code></li>
</ul>

<h3>Examples:</h3>

<h4>Html / Plain</h4>
    <ul class="Vlt-list Vlt-list--simple"><li><code>&lt;pre class="language-html"&gt;&lt;code&gt;</code>...</li></ul>
        <pre class="language-html"><code>&lt;div class="Vlt-grid"&gt;
	&lt;div class="Vlt-col"&gt;
		&lt;!-- First column content --&gt;
	&lt;/div&gt;
	&lt;div class="Vlt-col"&gt;
		&lt;!-- Second column content --&gt;
	&lt;/div&gt;
&lt;/div&gt;</code></pre>
    <ul class="Vlt-list Vlt-list--simple"><li><code>&lt;pre class="language-html Vlt-prism--dark"&gt;&lt;code&gt;</code>...</li></ul>
        <pre class="language-html Vlt-prism--dark"><code>&lt;div class="Vlt-grid"&gt;
	&lt;div class="Vlt-col"&gt;
		&lt;!-- First column content --&gt;
	&lt;/div&gt;
	&lt;div class="Vlt-col"&gt;
		&lt;!-- Second column content --&gt;
	&lt;/div&gt;
&lt;/div&gt;</code></pre>

<h4>Javascript / Line numbers</h4>
    <ul class="Vlt-list Vlt-list--simple"><li><code>&lt;pre class="language-javascript line-numbers"&gt;&lt;code&gt;</code>...</li></ul>
        <pre class="language-javascript line-numbers"><code>$(".Vlt-accordion__trigger").click(function(){
	$(this).parent().toggleClass("Vlt-accordion--expanded");
	$(this).parent().siblings("Vlt-accordion--expanded").removeClass("Vlt-accordion--expanded")
})</code></pre>
    <ul class="Vlt-list Vlt-list--simple"><li><code>&lt;pre class="language-javascript line-numbers Vlt-prism--dark"&gt;&lt;code&gt;</code>...</li></ul>
        <pre class="language-javascript line-numbers Vlt-prism--dark"><code>$(".Vlt-accordion__trigger").click(function(){
	$(this).parent().toggleClass("Vlt-accordion--expanded");
	$(this).parent().siblings("Vlt-accordion--expanded").removeClass("Vlt-accordion--expanded")
})</code></pre>


<h4>Php / Command line / Copy button disabled</h4>
    <ul class="Vlt-list Vlt-list--simple"><li><code>&lt;pre class="language-php command-line Vlt-prism--copy-disabled" data-prompt="$"&gt;&lt;code&gt;</code>...</li></ul>
        <pre class="language-php command-line Vlt-prism--copy-disabled" data-prompt="$"><code>$message = $client->message()->send([
    'to' => TO_NUMBER,
    'from' => 'Acme Inc',
    'text' => 'A text message sent using the Nexmo SMS API'
]);</code></pre>
    <ul class="Vlt-list Vlt-list--simple"><li><code>&lt;pre class="language-php command-line Vlt-prism--copy-disabled Vlt-prism--dark" data-prompt="$"&gt;&lt;code&gt;</code>...</li></ul>
        <pre class="language-php command-line Vlt-prism--dark Vlt-prism--copy-disabled" data-prompt="$"><code>$message = $client->message()->send([
    'to' => TO_NUMBER,
    'from' => 'Acme Inc',
    'text' => 'A text message sent using the Nexmo SMS API'
]);</code></pre>

<div class="Vlt-callout Vlt-callout--tip">
  <i></i>
  <div class="Vlt-callout__content">
    <strong>For a more indepth guide, please visit the <a href="http://prismjs.com/">Prism.js website</a>.</strong>
  </div>
</div>