hugo-theme-relearn/shortcodes/highlight/index.html

686 lines
70 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
<meta name="generator" content="Hugo 0.119.0">
<meta name="generator" content="Relearn 5.22.1+tip">
<meta name="description" content="Render code with a syntax highlighter">
<meta name="author" content="Sören Weber">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://McShelby.github.io/hugo-theme-relearn/images/hero.png">
<meta name="twitter:title" content="Highlight :: Hugo Relearn Theme">
<meta name="twitter:description" content="Render code with a syntax highlighter">
<meta property="og:title" content="Highlight :: Hugo Relearn Theme">
<meta property="og:description" content="Render code with a syntax highlighter">
<meta property="og:type" content="article">
<meta property="og:url" content="https://McShelby.github.io/hugo-theme-relearn/shortcodes/highlight/index.html">
<meta property="og:image" content="https://McShelby.github.io/hugo-theme-relearn/images/hero.png">
<meta property="article:section" content="Shortcodes :: Hugo Relearn Theme">
<meta property="og:site_name" content="Hugo Relearn Theme">
<title>Highlight :: Hugo Relearn Theme</title>
<link href="https://McShelby.github.io/hugo-theme-relearn/shortcodes/highlight/index.html" rel="alternate" hreflang="x-default">
<link href="https://McShelby.github.io/hugo-theme-relearn/shortcodes/highlight/index.html" rel="alternate" hreflang="en">
<link href="https://McShelby.github.io/hugo-theme-relearn/pir/shortcodes/highlight/index.html" rel="alternate" hreflang="pir">
<link href="../../shortcodes/highlight/index.xml" rel="alternate" type="application/rss+xml" title="Highlight :: Hugo Relearn Theme">
<link href="../../shortcodes/highlight/index.print.html" rel="alternate" type="text/html" title="Highlight :: Hugo Relearn Theme">
<link href="../../images/logo.svg?1698446280" rel="icon" type="image/svg+xml">
<!-- https://github.com/filamentgroup/loadCSS/blob/master/README.md#how-to-use -->
<link href="../../css/fontawesome-all.min.css?1698446280" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/fontawesome-all.min.css?1698446280" rel="stylesheet"></noscript>
<link href="../../css/nucleus.css?1698446280" rel="stylesheet">
<link href="../../css/auto-complete.css?1698446280" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/auto-complete.css?1698446280" rel="stylesheet"></noscript>
<link href="../../css/perfect-scrollbar.min.css?1698446280" rel="stylesheet">
<link href="../../css/fonts.css?1698446280" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/fonts.css?1698446280" rel="stylesheet"></noscript>
<link href="../../css/theme.css?1698446280" rel="stylesheet">
<link href="../../css/theme-auto.css?1698446280" rel="stylesheet" id="R-variant-style">
<link href="../../css/variant.css?1698446280" rel="stylesheet">
<link href="../../css/print.css?1698446280" rel="stylesheet" media="print">
<link href="../../css/ie.css?1698446280" rel="stylesheet">
<script src="../../js/url.js?1698446280"></script>
<script src="../../js/variant.js?1698446280"></script>
<script>
// hack to let hugo tell us how to get to the root when using relativeURLs, it needs to be called *url= for it to do its magic:
// https://github.com/gohugoio/hugo/blob/145b3fcce35fbac25c7033c91c1b7ae6d1179da8/transform/urlreplacers/absurlreplacer.go#L72
window.index_js_url="../../index.search.js";
var root_url="../../";
var baseUri=root_url.replace(/\/$/, '');
// translations
window.T_Copy_to_clipboard = 'Copy to clipboard';
window.T_Copied_to_clipboard = 'Copied to clipboard!';
window.T_Copy_link_to_clipboard = 'Copy link to clipboard';
window.T_Link_copied_to_clipboard = 'Copied link to clipboard!';
window.T_Reset_view = 'Reset view';
window.T_View_reset = 'View reset!';
window.T_No_results_found = 'No results found for \u0022{0}\u0022';
window.T_N_results_found = '{1} results found for \u0022{0}\u0022';
// some further base stuff
var baseUriFull='https:\/\/McShelby.github.io\/hugo-theme-relearn/';
window.variants && variants.init( [ 'auto', 'relearn-bright', 'relearn-light', 'relearn-dark', 'zen-light', 'zen-dark', 'neon', 'learn', 'blue', 'green', 'red' ] );
</script>
<style>
#R-body img.bg-white {
background-color: white;
}
</style>
</head>
<body class="mobile-support html disableInlineCopyToClipboard" data-url="../../shortcodes/highlight/index.html">
<div id="R-body" class="default-animation">
<div id="R-body-overlay"></div>
<nav id="R-topbar">
<div class="topbar-wrapper">
<div class="topbar-sidebar-divider"></div>
<div class="topbar-area topbar-area-start" data-area="start">
<div class="topbar-button topbar-button-sidebar" data-content-empty="disable" data-width-s="show" data-width-m="hide" data-width-l="hide">
<button class="topbar-control" onclick="toggleNav()" type="button" title="Menu (CTRL&#43;ALT&#43;n)">
<i class="fa-fw fas fa-bars"></i>
</button>
</div>
<div class="topbar-button topbar-button-toc" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show">
<button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="Table of Contents (CTRL&#43;ALT&#43;t)">
<i class="fa-fw fas fa-list-alt"></i>
</button>
<div class="topbar-content">
<div class="topbar-content-wrapper">
<nav class="TableOfContents">
<ul>
<li><a href="#usage">Usage</a>
<ul>
<li><a href="#parameter">Parameter</a></li>
</ul>
</li>
<li><a href="#configuration">Configuration</a>
<ul>
<li><a href="#global-configuration-file">Global Configuration File</a></li>
<li><a href="#pages-frontmatter">Page&rsquo;s Frontmatter</a></li>
</ul>
</li>
<li><a href="#examples">Examples</a>
<ul>
<li><a href="#line-numbers-with-starting-offset">Line Numbers with Starting Offset</a></li>
<li><a href="#codefence-with-title">Codefence with Title</a></li>
<li><a href="#with-wrap">With Wrap</a></li>
<li><a href="#without-wrap">Without Wrap</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<ol class="topbar-breadcrumbs breadcrumbs highlightable" itemscope itemtype="http://schema.org/BreadcrumbList"><li
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="../../shortcodes/index.html"><span itemprop="name">Shortcodes</span></a><meta itemprop="position" content="1">&nbsp;>&nbsp;</li><li
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><span itemprop="name">Highlight</span><meta itemprop="position" content="2"></li>
</ol>
<div class="topbar-area topbar-area-end" data-area="end">
<div class="topbar-button topbar-button-edit" data-content-empty="disable" data-width-s="area-more" data-width-m="show" data-width-l="show">
<a class="topbar-control" href="https://github.com/McShelby/hugo-theme-relearn/edit/main/exampleSite/content/shortcodes/highlight.en.md" target="_blank" title="Edit (CTRL&#43;ALT&#43;w)">
<i class="fa-fw fas fa-pen"></i>
</a>
</div>
<div class="topbar-button topbar-button-print" data-content-empty="disable" data-width-s="area-more" data-width-m="show" data-width-l="show">
<a class="topbar-control" href="../../shortcodes/highlight/index.print.html" title="Print whole chapter (CTRL&#43;ALT&#43;p)">
<i class="fa-fw fas fa-print"></i>
</a>
</div>
<div class="topbar-button topbar-button-prev" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show">
<a class="topbar-control" href="../../shortcodes/expand/index.html" title="Expand (🡐)">
<i class="fa-fw fas fa-chevron-left"></i>
</a>
</div>
<div class="topbar-button topbar-button-next" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show">
<a class="topbar-control" href="../../shortcodes/icon/index.html" title="Icon (🡒)">
<i class="fa-fw fas fa-chevron-right"></i>
</a>
</div>
<div class="topbar-button topbar-button-more" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show">
<button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="More">
<i class="fa-fw fas fa-ellipsis-v"></i>
</button>
<div class="topbar-content">
<div class="topbar-content-wrapper">
<div class="topbar-area topbar-area-more" data-area="more">
</div>
</div>
</div>
</div>
</div>
</div>
</nav>
<div id="R-main-overlay"></div>
<main id="R-body-inner" class="highlightable default" tabindex="-1">
<div class="flex-block-wrapper">
<article class="default">
<header class="headline">
</header>
<h1 id="highlight">Highlight</h1>
<p>The <code>highlight</code> shortcode renders your code with a syntax highlighter.</p>
<div class="tab-panel" data-tab-group="ce23d76e150fd988c545bf8388055156">
<div class="tab-nav">
<div class="tab-nav-title">&#8203;</div>
<button
data-tab-item="python"
class="tab-nav-button tab-panel-style cstyle initial active"
onclick="switchTab('ce23d76e150fd988c545bf8388055156','python')"
>
<span class="tab-nav-text">python</span>
</button>
</div>
<div class="tab-content-container">
<div
data-tab-item="python"
class="tab-content tab-panel-style cstyle initial active">
<div class="tab-content-text">
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-py" data-lang="py"><span class="line"><span class="ln">1</span><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s2">&#34;Hello World!&#34;</span><span class="p">)</span></span></span></code></pre></div></div>
</div>
</div>
</div>
<h2 id="usage">Usage</h2>
<p>This shortcode is fully compatible with Hugo&rsquo;s
<a href="https://gohugo.io/content-management/syntax-highlighting/#highlight-shortcode" target="_blank"><code>highlight</code> shortcode</a> but <strong>offers some extensions</strong>.</p>
<p>It is called interchangeably in the same way as Hugo&rsquo;s own shortcode providing positional parameter or by simply using codefences.</p>
<p>You are free to also call this shortcode from your own partials. In this case it resembles Hugo&rsquo;s
<a href="https://gohugo.io/functions/highlight/" target="_blank"><code>highlight</code> function</a> syntax if you call this shortcode as a partial using compatiblity syntax.</p>
<p>While the examples are using shortcodes with named parameter it is recommended to use codefences instead. This is because more and more other software supports codefences (eg. GitHub) and so your markdown becomes more portable.</p>
<div class="tab-panel" data-tab-group="shortcode-parameter">
<div class="tab-nav">
<div class="tab-nav-title">&#8203;</div>
<button
data-tab-item="codefence"
class="tab-nav-button tab-panel-style cstyle initial active"
onclick="switchTab('shortcode-parameter','codefence')"
>
<span class="tab-nav-text">codefence</span>
</button>
<button
data-tab-item="shortcode"
class="tab-nav-button tab-panel-style cstyle initial"
onclick="switchTab('shortcode-parameter','shortcode')"
>
<span class="tab-nav-text">shortcode</span>
</button>
<button
data-tab-item="shortcode-positional"
class="tab-nav-button tab-panel-style cstyle initial"
onclick="switchTab('shortcode-parameter','shortcode-positional')"
>
<span class="tab-nav-text">shortcode (positional)</span>
</button>
<button
data-tab-item="partial"
class="tab-nav-button tab-panel-style cstyle initial"
onclick="switchTab('shortcode-parameter','partial')"
>
<span class="tab-nav-text">partial</span>
</button>
<button
data-tab-item="partial-compat"
class="tab-nav-button tab-panel-style cstyle initial"
onclick="switchTab('shortcode-parameter','partial-compat')"
>
<span class="tab-nav-text">partial (compat)</span>
</button>
</div>
<div class="tab-content-container">
<div
data-tab-item="codefence"
class="tab-content tab-panel-style cstyle initial active">
<div class="tab-content-text">
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-md" data-lang="md"><span class="line"><span class="cl">```py { lineNos=&#34;true&#34; wrap=&#34;true&#34; title=&#34;python&#34; }
</span></span><span class="line"><span class="cl">print(&#34;Hello World!&#34;)
</span></span><span class="line"><span class="cl">```</span></span></code></pre></div></div>
</div>
<div
data-tab-item="shortcode"
class="tab-content tab-panel-style cstyle initial">
<div class="tab-content-text">
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="nx">highlight</span> <span class="nx">lineNos</span><span class="p">=</span><span class="s">&#34;true&#34;</span> <span class="kd">type</span><span class="p">=</span><span class="s">&#34;py&#34;</span> <span class="nx">wrap</span><span class="p">=</span><span class="s">&#34;true&#34;</span> <span class="nx">title</span><span class="p">=</span><span class="s">&#34;python&#34;</span> <span class="p">&gt;}}</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s">&#34;Hello World!&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">&gt;}}</span></span></span></code></pre></div></div>
</div>
<div
data-tab-item="shortcode-positional"
class="tab-content tab-panel-style cstyle initial">
<div class="tab-content-text">
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="nx">highlight</span> <span class="nx">py</span> <span class="s">&#34;lineNos=true,wrap=true,title=python&#34;</span> <span class="p">&gt;}}</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s">&#34;Hello World!&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">&gt;}}</span></span></span></code></pre></div></div>
</div>
<div
data-tab-item="partial"
class="tab-content tab-panel-style cstyle initial">
<div class="tab-content-text">
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{</span> <span class="nx">partial</span> <span class="s">&#34;shortcodes/highlight.html&#34;</span> <span class="p">(</span><span class="nx">dict</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;page&#34;</span> <span class="p">.</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;content&#34;</span> <span class="s">&#34;print(\&#34;Hello World!\&#34;)&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;lineNos&#34;</span> <span class="s">&#34;true&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;type&#34;</span> <span class="s">&#34;py&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;wrap&#34;</span> <span class="s">&#34;true&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;title&#34;</span> <span class="s">&#34;python&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">)}}</span></span></span></code></pre></div></div>
</div>
<div
data-tab-item="partial-compat"
class="tab-content tab-panel-style cstyle initial">
<div class="tab-content-text">
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{</span> <span class="nx">partial</span> <span class="s">&#34;shortcodes/highlight.html&#34;</span> <span class="p">(</span><span class="nx">dict</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;page&#34;</span> <span class="p">.</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;content&#34;</span> <span class="s">&#34;print(\&#34;Hello World!\&#34;)&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;options&#34;</span> <span class="s">&#34;lineNos=true,wrap=true,title=python&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;type&#34;</span> <span class="s">&#34;py&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">)}}</span></span></span></code></pre></div></div>
</div>
</div>
</div>
<h3 id="parameter">Parameter</h3>
<table>
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Default</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>type</strong></td>
<td>1</td>
<td><em>&lt;empty&gt;</em></td>
<td>The language of the code to highlight. Choose from one of the
<a href="https://gohugo.io/content-management/syntax-highlighting/#list-of-chroma-highlighting-languages" target="_blank">supported languages</a>. Case-insensitive.</td>
</tr>
<tr>
<td><strong>title</strong></td>
<td></td>
<td><em>&lt;empty&gt;</em></td>
<td><strong>Extension</strong>. Arbitrary title for code. This displays the code like a
<a href="../../shortcodes/tab/index.html">single tab</a> if <code>hl_inline=false</code> (which is Hugos default).</td>
</tr>
<tr>
<td><strong>wrap</strong></td>
<td></td>
<td>see notes</td>
<td><strong>Extension</strong>. When <code>true</code> the content may wrap on long lines otherwise it will be scrollable.<br><br>The default value can be set in your <code>config.toml</code> and overwritten via frontmatter.
<a href="#configuration">See below</a>.</td>
</tr>
<tr>
<td><strong>options</strong></td>
<td>2</td>
<td><em>&lt;empty&gt;</em></td>
<td>An optional, comma-separated list of zero or more
<a href="https://gohugo.io/functions/highlight/#options" target="_blank">Hugo supported options</a> as well as extension parameter from this table.</td>
</tr>
<tr>
<td><em><strong>&lt;option&gt;</strong></em></td>
<td></td>
<td><em>&lt;empty&gt;</em></td>
<td>Any of
<a href="https://gohugo.io/functions/highlight/#options" target="_blank">Hugo&rsquo;s supported options</a>.</td>
</tr>
<tr>
<td><em><strong>&lt;content&gt;</strong></em></td>
<td></td>
<td><em>&lt;empty&gt;</em></td>
<td>Your code to highlight.</td>
</tr>
</tbody>
</table>
<h2 id="configuration">Configuration</h2>
<p>Default values for
<a href="https://gohugo.io/functions/highlight/#options" target="_blank">Hugo&rsquo;s supported options</a> can be set via
<a href="https://gohugo.io/getting-started/configuration-markup/#highlight" target="_blank">goldmark settings</a> in your <code>config.toml</code></p>
<p>Default values for extension options can be set via params settings in your <code>config.toml</code> or be overwritten by frontmatter for each individual page.</p>
<h3 id="global-configuration-file">Global Configuration File</h3>
<h4 id="recommended-settings">Recommended Settings</h4>
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">markup</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"> <span class="p">[</span><span class="nx">markup</span><span class="p">.</span><span class="nx">highlight</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"> <span class="c"># line numbers in a table layout will shift if code is wrapping, so better</span>
</span></span><span class="line"><span class="cl"> <span class="c"># use inline; besides that visually both layouts have the same look and behavior</span>
</span></span><span class="line"><span class="cl"> <span class="nx">lineNumbersInTable</span> <span class="p">=</span> <span class="kc">false</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c"># if `guessSyntax = true`, there will be no unstyled code even if no language</span>
</span></span><span class="line"><span class="cl"> <span class="c"># was given BUT Mermaid and Math codefences will not work anymore! So this is a</span>
</span></span><span class="line"><span class="cl"> <span class="c"># mandatory setting for your site if you want to use Mermaid or Math codefences</span>
</span></span><span class="line"><span class="cl"> <span class="nx">guessSyntax</span> <span class="p">=</span> <span class="kc">false</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="c"># the shipped variants come with their own modified chroma syntax highlightning</span>
</span></span><span class="line"><span class="cl"> <span class="c"># style which is imported in theme-relearn-light.css, theme-relearn-dark.css, etc.;</span>
</span></span><span class="line"><span class="cl"> <span class="c"># if you want to use a predefined style instead:</span>
</span></span><span class="line"><span class="cl"> <span class="c"># - remove `noClasses` or set `noClasses = true`</span>
</span></span><span class="line"><span class="cl"> <span class="c"># - set `style` to a predefined style name</span>
</span></span><span class="line"><span class="cl"> <span class="nx">noClasses</span> <span class="p">=</span> <span class="kc">false</span>
</span></span><span class="line"><span class="cl"> <span class="c"># style = &#34;tango&#34;</span></span></span></code></pre></div><h4 id="optional-settings">Optional Settings</h4>
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">params</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"> <span class="nx">highlightWrap</span> <span class="p">=</span> <span class="kc">true</span></span></span></code></pre></div><h3 id="pages-frontmatter">Page&rsquo;s Frontmatter</h3>
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="err">+++</span>
</span></span><span class="line"><span class="cl"><span class="nx">highlightWrap</span> <span class="p">=</span> <span class="kc">true</span>
</span></span><span class="line"><span class="cl"><span class="err">+++</span></span></span></code></pre></div><h2 id="examples">Examples</h2>
<h3 id="line-numbers-with-starting-offset">Line Numbers with Starting Offset</h3>
<p>As mentioned above, line numbers in a <code>table</code> layout will shift if code is wrapping, so better use <code>inline</code>. To make things easier for you, set <code>lineNumbersInTable = false</code> in your <code>config.toml</code> and add <code>lineNos = true</code> when calling the shortcode instead of the specific values <code>table</code> or <code>inline</code>.</p>
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="nx">highlight</span> <span class="nx">lineNos</span><span class="p">=</span><span class="s">&#34;true&#34;</span> <span class="nx">lineNoStart</span><span class="p">=</span><span class="s">&#34;666&#34;</span> <span class="kd">type</span><span class="p">=</span><span class="s">&#34;py&#34;</span> <span class="p">&gt;}}</span>
</span></span><span class="line"><span class="cl"><span class="err">#</span> <span class="nx">the</span> <span class="nx">hardest</span> <span class="nx">part</span> <span class="nx">is</span> <span class="nx">to</span> <span class="nx">start</span> <span class="nx">writing</span> <span class="nx">code</span><span class="p">;</span> <span class="nx">here</span><span class="err">&#39;</span><span class="nx">s</span> <span class="nx">a</span> <span class="nx">kickstart</span><span class="p">;</span> <span class="nx">just</span> <span class="nx">copy</span> <span class="nx">and</span> <span class="nx">paste</span> <span class="nx">this</span><span class="p">;</span> <span class="nx">it</span><span class="err">&#39;</span><span class="nx">s</span> <span class="nx">free</span><span class="p">;</span> <span class="nx">the</span> <span class="nx">next</span> <span class="nx">lines</span> <span class="nx">will</span> <span class="nx">cost</span> <span class="nx">you</span> <span class="nx">serious</span> <span class="nx">credits</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s">&#34;Hello&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s">&#34; &#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s">&#34;World&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s">&#34;!&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">&gt;}}</span></span></span></code></pre></div><div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-py" data-lang="py"><span class="line"><span class="ln">666</span><span class="cl"><span class="c1"># the hardest part is to start writing code; here&#39;s a kickstart; just copy and paste this; it&#39;s free; the next lines will cost you serious credits</span>
</span></span><span class="line"><span class="ln">667</span><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s2">&#34;Hello&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">668</span><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s2">&#34; &#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">669</span><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s2">&#34;World&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">670</span><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s2">&#34;!&#34;</span><span class="p">)</span></span></span></code></pre></div>
<h3 id="codefence-with-title">Codefence with Title</h3>
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">```py { title=&#34;python&#34; }
</span></span><span class="line"><span class="cl"><span class="gh"># a bit shorter
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>print(&#34;Hello World!&#34;)
</span></span><span class="line"><span class="cl">```</span></span></code></pre></div>
<div class="tab-panel" data-tab-group="96ea4f36dec886df7e59ec6d522390df">
<div class="tab-nav">
<div class="tab-nav-title">&#8203;</div>
<button
data-tab-item="python"
class="tab-nav-button tab-panel-style cstyle initial active"
onclick="switchTab('96ea4f36dec886df7e59ec6d522390df','python')"
>
<span class="tab-nav-text">python</span>
</button>
</div>
<div class="tab-content-container">
<div
data-tab-item="python"
class="tab-content tab-panel-style cstyle initial active">
<div class="tab-content-text">
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-py" data-lang="py"><span class="line"><span class="cl"><span class="c1"># a bit shorter</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s2">&#34;Hello World!&#34;</span><span class="p">)</span></span></span></code></pre></div></div>
</div>
</div>
</div><h3 id="with-wrap">With Wrap</h3>
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="nx">highlight</span> <span class="kd">type</span><span class="p">=</span><span class="s">&#34;py&#34;</span> <span class="nx">wrap</span><span class="p">=</span><span class="s">&#34;true&#34;</span> <span class="nx">hl_lines</span><span class="p">=</span><span class="s">&#34;2&#34;</span> <span class="p">&gt;}}</span>
</span></span><span class="line"><span class="cl"><span class="err">#</span> <span class="nx">Quicksort</span> <span class="nx">Python</span> <span class="nx">One</span><span class="o">-</span><span class="nx">liner</span>
</span></span><span class="line"><span class="cl"><span class="nx">lambda</span> <span class="nx">L</span><span class="p">:</span> <span class="p">[]</span> <span class="k">if</span> <span class="nx">L</span><span class="o">==</span><span class="p">[]</span> <span class="k">else</span> <span class="nf">qsort</span><span class="p">([</span><span class="nx">x</span> <span class="k">for</span> <span class="nx">x</span> <span class="nx">in</span> <span class="nx">L</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="nx">x</span><span class="p">&lt;</span> <span class="nx">L</span><span class="p">[</span><span class="mi">0</span><span class="p">]])</span> <span class="o">+</span> <span class="nx">L</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="nf">qsort</span><span class="p">([</span><span class="nx">x</span> <span class="k">for</span> <span class="nx">x</span> <span class="nx">in</span> <span class="nx">L</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="nx">x</span><span class="o">&gt;=</span><span class="nx">L</span><span class="p">[</span><span class="mi">0</span><span class="p">]])</span>
</span></span><span class="line"><span class="cl"><span class="err">#</span> <span class="nx">Some</span> <span class="nx">more</span> <span class="nx">stuff</span>
</span></span><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">&gt;}}</span></span></span></code></pre></div><div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-py" data-lang="py"><span class="line"><span class="cl"><span class="c1"># Quicksort Python One-liner</span>
</span></span><span class="line hl"><span class="cl"><span class="k">lambda</span> <span class="n">L</span><span class="p">:</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">L</span><span class="o">==</span><span class="p">[]</span> <span class="k">else</span> <span class="n">qsort</span><span class="p">([</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">L</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="n">x</span><span class="o">&lt;</span> <span class="n">L</span><span class="p">[</span><span class="mi">0</span><span class="p">]])</span> <span class="o">+</span> <span class="n">L</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="n">qsort</span><span class="p">([</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">L</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="n">x</span><span class="o">&gt;=</span><span class="n">L</span><span class="p">[</span><span class="mi">0</span><span class="p">]])</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Some more stuff</span></span></span></code></pre></div>
<h3 id="without-wrap">Without Wrap</h3>
<div class="wrap-code highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="nx">highlight</span> <span class="kd">type</span><span class="p">=</span><span class="s">&#34;py&#34;</span> <span class="nx">wrap</span><span class="p">=</span><span class="s">&#34;false&#34;</span> <span class="nx">hl_lines</span><span class="p">=</span><span class="s">&#34;2&#34;</span> <span class="p">&gt;}}</span>
</span></span><span class="line"><span class="cl"><span class="err">#</span> <span class="nx">Quicksort</span> <span class="nx">Python</span> <span class="nx">One</span><span class="o">-</span><span class="nx">liner</span>
</span></span><span class="line"><span class="cl"><span class="nx">lambda</span> <span class="nx">L</span><span class="p">:</span> <span class="p">[]</span> <span class="k">if</span> <span class="nx">L</span><span class="o">==</span><span class="p">[]</span> <span class="k">else</span> <span class="nf">qsort</span><span class="p">([</span><span class="nx">x</span> <span class="k">for</span> <span class="nx">x</span> <span class="nx">in</span> <span class="nx">L</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="nx">x</span><span class="p">&lt;</span> <span class="nx">L</span><span class="p">[</span><span class="mi">0</span><span class="p">]])</span> <span class="o">+</span> <span class="nx">L</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="nf">qsort</span><span class="p">([</span><span class="nx">x</span> <span class="k">for</span> <span class="nx">x</span> <span class="nx">in</span> <span class="nx">L</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="nx">x</span><span class="o">&gt;=</span><span class="nx">L</span><span class="p">[</span><span class="mi">0</span><span class="p">]])</span>
</span></span><span class="line"><span class="cl"><span class="err">#</span> <span class="nx">Some</span> <span class="nx">more</span> <span class="nx">stuff</span>
</span></span><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">&gt;}}</span></span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-py" data-lang="py"><span class="line"><span class="cl"><span class="c1"># Quicksort Python One-liner</span>
</span></span><span class="line hl"><span class="cl"><span class="k">lambda</span> <span class="n">L</span><span class="p">:</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">L</span><span class="o">==</span><span class="p">[]</span> <span class="k">else</span> <span class="n">qsort</span><span class="p">([</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">L</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="n">x</span><span class="o">&lt;</span> <span class="n">L</span><span class="p">[</span><span class="mi">0</span><span class="p">]])</span> <span class="o">+</span> <span class="n">L</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="n">qsort</span><span class="p">([</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">L</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="n">x</span><span class="o">&gt;=</span><span class="n">L</span><span class="p">[</span><span class="mi">0</span><span class="p">]])</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Some more stuff</span></span></span></code></pre></div>
<footer class="footline">
</footer>
</article>
</div>
</main>
</div>
<aside id="R-sidebar" class="default-animation showVisitedLinks">
<div id="R-header-topbar" class="default-animation"></div>
<div id="R-header-wrapper" class="default-animation">
<div id="R-header" class="default-animation">
<style>
#R-logo svg,
#R-logo svg * {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
fill: #282828 !important;
fill: var(--MENU-SECTIONS-BG-color) !important;
opacity: .945;
}
a#R-logo {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
font-family: 'Work Sans', 'Helvetica', 'Tahoma', 'Geneva', 'Arial', sans-serif;
font-size: 1.875rem;
font-weight: 300;
margin-top: -.8125rem;
max-width: 60%;
text-transform: uppercase;
width: 14.125rem;
white-space: nowrap;
}
a#R-logo:hover {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
}
#R-logo svg {
margin-bottom: -1.25rem;
margin-inline-start: -1.47rem;
margin-inline-end: .5rem;
width: 40.5%;
}
@media only all and (max-width: 59.999rem) {
a#R-logo {
font-size: 1.5625rem;
margin-top: -.1875rem;
}
#R-logo svg {
margin-bottom: -.75rem;
margin-inline-start: -1.47rem;
margin-inline-end: .5rem;
}
}
@media all and (-ms-high-contrast:none) {
/* IE11s understanding of positioning is weird at best */
a#R-logo {
margin-top: -3.625rem;
}
#R-logo svg {
margin-bottom: -3.875rem;
margin-left: -1.47rem;
margin-right: .5rem;
}
}
@media only all and (-ms-high-contrast:none) and (max-width: 59.999rem) {
#R-logo svg {
margin-left: -1.47rem;
margin-right: .5rem;
}
}
</style>
<a id="R-logo" href="../../index.html">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64.044 64.044">
<path d="M46.103 136.34c-.642-.394-1.222-2.242-1.98-2.358-.76-.117-1.353.506-1.618 1.519-.266 1.012-.446 4.188.173 5.538.213.435.482.787 1.03.845.547.057.967-.504 1.45-1.027.482-.523.437-.9 1.142-.612.705.289 1.051.4 1.586 1.229.535.828 1.085 4.043.868 5.598-.241 1.458-.531 2.8-.59 4.088.26.075.517.148.772.217 2.68.724 5.373 1.037 7.873.02.001-.028.01-.105.008-.11-.048-.165-.18-.41-.36-.698-.18-.29-.414-.645-.586-1.114a3.212 3.212 0 0 1-.125-1.735c.056-.21.153-.342.249-.475 1.237-1.193 2.932-1.373 4.244-1.384.557-.004 1.389.016 2.198.255.809.239 1.706.724 2.068 1.843.187.578.114 1.17-.043 1.623-.153.438-.369.783-.545 1.091-.178.31-.329.6-.401.821-.007.02-.003.071-.005.094 2.256 1.008 4.716.91 7.189.398.55-.114 1.11-.247 1.673-.377.344-1.085.678-2.145.852-3.208.124-.752.158-2.311-.078-3.538-.118-.613-.306-1.15-.52-1.489-.221-.349-.413-.501-.747-.538-.243-.027-.51.013-.796.098-.67.223-1.33.606-1.966.76l-.008.002-.109.032c-.556.152-1.233.158-1.797-.36-.556-.51-.89-1.367-1.117-2.596-.283-1.528-.075-3.279.89-4.518l.071-.09h.07c.65-.71 1.485-.802 2.16-.599.706.213 1.333.629 1.772.84.736.354 1.185.319 1.475.171.291-.148.5-.439.668-.955.332-1.017.301-2.819.022-4.106-.148-.684-.13-1.292-.13-1.883-1.558-.463-3.067-.982-4.574-1.208-1.128-.169-2.263-.173-3.298.164-.13.046-.256.095-.38.15-.373.164-.633.342-.805.52-.077.098-.081.105-.087.21-.004.068.031.289.13.571.1.282.256.634.467 1.03.279.524.448 1.063.431 1.618a2.12 2.12 0 0 1-.499 1.309 1.757 1.757 0 0 1-.62.51h-.002c-.515.291-1.107.404-1.723.464-.86.083-1.787.026-2.598-.097-.806-.123-1.47-.28-1.948-.555-.444-.256-.79-.547-1.037-.925a2.273 2.273 0 0 1-.356-1.301c.029-.837.403-1.437.625-1.897.111-.23.191-.433.236-.583.045-.15.044-.25.046-.24-.005-.029-.127-.355-1.015-.741-1.138-.495-2.322-.673-3.533-.668h-.015a9.711 9.711 0 0 0-.521.016h-.002c-1.163.057-2.35.308-3.541.569.383 1.531.79 2.753.818 4.502-.096 1.297.158 2.114-1.03 2.935-.85.588-1.508.729-2.15.335" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:1.03763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
<path d="M61.472 101.34v.002c-.3-.003-.603.01-.894.04-.544.055-1.39.165-1.778.306-1.238.364.13 2.344.41 2.913.28.569.285 2.03.14 2.134-.144.103-.375.261-.934.345-.56.084.03-.037-1.589.086-1.62.122-5.506.29-8.265.248-.022.26-.036.521-.097.808-.309 1.442-.63 3.163-.494 4.074.071.473.168.65.414.8.23.14.737.235 1.62-.004.834-.227 1.3-.442 1.887-.456.595-.016 1.555.472 1.965.717.411.245-.03-.008.002 0s.128.05.176.102c.049.053-.276-.523.104.199.379.721.72 3.256.002 4.68-.46.913-1.01 1.49-1.64 1.711-.63.22-1.229.067-1.734-.135-.881-.353-1.584-.7-2.205-.647-1.199 1.94-1.186 4.17-.6 6.602.097.397.212.814.327 1.23 2.68-.556 5.542-1.016 8.337.132 1.064.437 1.73 1.015 1.902 1.857.169.831-.193 1.508-.438 1.986-.122.238-.23.46-.307.642-.07.164-.096.28-.104.324.069.429.309.723.686.945.385.227.89.355 1.35.423.723.104 1.567.152 2.287.086.693-.064 1.032-.338 1.241-.544a2.447 2.447 0 0 0 .303-.437.175.175 0 0 0 .013-.035c-.004-.066-.037-.246-.195-.527-.46-.816-.87-1.595-.817-2.51.028-.476.218-.938.529-1.288.304-.343.698-.586 1.186-.79 1.442-.606 2.96-.609 4.372-.409 1.525.216 2.963.679 4.378 1.083.226-2.09.784-3.9.592-5.77-.058-.565-.287-1.333-.598-1.827-.32-.508-.59-.717-1.036-.642-.648.11-1.472.935-2.707 1.078-.791.092-1.494-.267-1.95-.86-.45-.583-.678-1.335-.78-2.101-.202-1.525.031-3.229.89-4.27.615-.747 1.45-.887 2.15-.74.687.145 1.307.492 1.857.745v-.002c.546.252 1.033.388 1.281.344a.547.547 0 0 0 .353-.188c.113-.124.242-.35.384-.75.604-1.712.206-3.68-.303-5.654-.667.145-1.336.293-2.018.413-1.341.236-2.73.392-4.136.273-.656-.055-1.695-.085-2.58-.476-.442-.195-.903-.514-1.157-1.093-.259-.591-.205-1.313.08-2.014.223-.64 1.082-2.178.692-2.585-.391-.407-1.651-.56-2.554-.571z" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:.992837;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
<path d="M83.128 98.116c-.484 1.875-1.057 3.757-2.486 5.033-.638.57-1.13.666-1.483.548-.401-.134-.715-.506-1.058-.973-.338-.461-.655-.97-1.076-1.332-.192-.165-.404-.315-.683-.38-.279-.066-.599-.02-.9.102-.489.196-.89.58-1.28 1.047a6.1 6.1 0 0 0-.985 1.632c-.234.591-.356 1.174-.277 1.713.072.487.392.977.905 1.185.463.187.926.156 1.36.154.433 0 .843.01 1.242.147.55.189.79.736.822 1.368.034.66-.145 1.412-.393 1.988l-.008.021c-.74 1.705-1.946 2.893-3.004 4.349l-.664.915.979.099c.924.092 1.788.26 2.468.675.46.281 1.806 1.205 2.794 2.222.497.513.888 1.031 1.047 1.502.078.231.095.422.05.6a.93.93 0 0 1-.345.474c-.301.223-.606.395-.864.532l-.354.186c-.107.058-.189.087-.345.228a.637.637 0 0 1 .062-.045l-.064.041-.209.236-.103.343s.003.126.007.152c.003.017.003.007.004.015v.002c.016.195.061.307.133.476a4.1 4.1 0 0 0 .32.596 5.7 5.7 0 0 0 2.8 2.258c.284.108.908.321 1.548.36.33.02.59.015.912-.13h.002c.08-.037.228-.095.382-.281.153-.186.19-.355.212-.445l.019-.075.003-.078c.023-.585-.037-1.296.072-1.899.153-.657.435-.956 1.009-.909 2.771.239 4.74 1.955 6.693 3.83l.742.714.279-1.155c.55-2.29 1.093-4.464 2.928-5.977.692-.57 1.184-.642 1.527-.509.39.151.676.536.996.995.319.458.605.926 1.07 1.212.194.119.464.232.784.209.32-.024.638-.163.988-.384 1.022-.645 1.778-1.756 2.086-2.942.136-.522.102-.991-.046-1.301-.158-.334-.433-.553-.754-.707-.653-.314-1.468-.373-2.094-.486-.825-.15-1.22-.475-1.345-.878-.13-.417 0-.953.335-1.61.6-1.173 1.887-2.602 3.13-3.911l.498-.526-.449-.432c-1.545-1.49-3.163-3.01-5.252-3.715h-.002c-.473-.16-1.097-.413-1.73-.424h-.003c-.311-.004-.596.04-.883.24v.002c-.22.155-.483.537-.583.937l-.008.036-.006.038c-.116.773-.06 1.467-.217 1.995-.063.212-.198.418-.359.507-.202.111-.492.153-.976.072-.582-.097-1.978-.69-3.021-1.503-.523-.407-.934-.85-1.117-1.3a1.153 1.153 0 0 1-.083-.63c.03-.184.1-.477.308-.593.21-.116.941-.32 1.377-.642h.002c.192-.141.403-.367.518-.64.114-.275.127-.526.123-.774-.006-.142-.036-.192-.08-.3a8.417 8.417 0 0 0-3-3.027c-1.226-.725-2.585-1.135-3.927-1.539-.434-.12-.844-.111-1.02.466zm.912.947c1.186.364 2.357.718 3.345 1.303 1.035.612 1.864 1.488 2.507 2.528-.514.263-1.095.5-1.44.79-.345.29-.729.914-.815 1.434-.084.509 0 .968.155 1.347.301.74.85 1.276 1.44 1.735 1.18.92 2.554 1.545 3.47 1.698.604.1 1.186.088 1.739-.216.594-.327.935-.911 1.088-1.427.264-.884.193-1.664.262-2.17h.1c.3.006.926.206 1.417.371 1.646.554 3.044 1.773 4.431 3.089-1.102 1.174-2.222 2.423-2.888 3.73-.42.823-.73 1.789-.453 2.687.283.913 1.1 1.415 2.138 1.603.691.126 1.472.226 1.84.403.19.091.258.182.278.223.03.064.058.075-.023.387-.21.804-.761 1.598-1.413 2.01-.247.155-.365.183-.407.187-.042.003-.061.002-.172-.066-.144-.088-.455-.473-.772-.929-.317-.454-.714-1.07-1.452-1.356-.783-.304-1.776-.022-2.713.75-1.942 1.6-2.626 3.764-3.146 5.8-1.802-1.676-3.772-3.138-6.589-3.517h-.002c-.346-.095-1.013-.031-1.293.143-.735.501-1.005 1.132-1.168 2.007-.125.69-.082 1.216-.074 1.659-.055.006-.046.01-.104.006-.42-.026-1.035-.215-1.244-.295-.947-.361-1.774-1.006-2.314-1.857-.054-.085-.072-.132-.109-.2l.027-.016c.284-.15.656-.36 1.045-.648.44-.327.789-.798.93-1.35a2.4 2.4 0 0 0-.068-1.379c-.254-.751-.753-1.353-1.295-1.911-1.09-1.124-2.452-2.049-2.99-2.378-.609-.372-1.303-.44-1.981-.56.875-1.094 1.878-2.251 2.596-3.921.294-.823.543-1.907.513-2.658-.049-.97-.489-2.013-1.52-2.367-.579-.2-1.131-.204-1.58-.203-.45.002-.786-.006-.97-.08h-.002c-.264-.107-.236-.108-.268-.33-.025-.17.021-.553.183-.962a4.67 4.67 0 0 1 .725-1.192c.29-.348.617-.59.705-.626.142-.057.176-.05.22-.04.045.011.127.052.263.17.235.201.56.671.92 1.161.354.484.791 1.08 1.543 1.33.8.267 1.784-.052 2.671-.846 1.594-1.424 2.235-3.317 2.714-5.051zm11.705 7.023c-.02.014.042-.002.042 0l-.008.035c.05-.2-.028-.04-.034-.035zM79.472 122.45a.198.198 0 0 1 .005.023v.014c-.002-.01-.003-.03-.005-.037zm-.29.732-.006.01-.044.027c.016-.01.033-.024.05-.036z" style="color:#000;fill:#282828;stroke-width:1.02352;-inkscape-stroke:none" transform="translate(-40.698 -95.175)"/>
<path d="M76.694 128.845c-.85-.012-1.668.253-2.434.67-.01.592-.015 1.17.109 1.772.323 1.573.422 3.553-.07 5.147-.247.804-.684 1.535-1.347 1.891-.663.356-1.467.296-2.362-.159-.522-.266-1.059-.62-1.487-.757-.223-.072-.392-.096-.522-.069-.13.027-.232.094-.362.27-.53.719-.681 1.823-.497 2.876.177 1.012.418 1.438.543 1.56.143.137.26.154.604.055.548-.158 1.523-.857 2.573-.972l.02-.002.5.058c.686.081 1.247.562 1.622 1.19.372.62.591 1.37.73 2.136.279 1.532.25 3.16.083 4.232-.14.91-.394 1.72-.632 2.53 1.719-.385 3.485-.692 5.307-.36 1.174.214 2.749.574 3.762 1.977l.088.122.046.159c.162.551.16 1.114.024 1.578-.13.45-.348.772-.533 1.023-.181.246-.336.444-.437.606-.102.16-.141.275-.145.336-.01.17 0 .197.07.315.057.1.186.242.39.366.408.246 1.106.414 1.843.45a7.842 7.842 0 0 0 2.174-.21 4.28 4.28 0 0 0 .822-.296c.218-.106.385-.242.377-.233l.029-.031c.025-.035.05-.072.05-.068 0-.004 0-.017-.003-.05a2.733 2.733 0 0 0-.21-.579c-.26-.548-.839-1.333-.822-2.46.01-.657.27-1.21.598-1.576.32-.357.696-.575 1.074-.736.759-.323 1.57-.418 2.054-.458 1.653-.136 3.252.296 4.755.765.457.142.905.29 1.352.434.325-2.258.902-4.247.598-6.217-.071-.46-.25-1.169-.486-1.684-.238-.518-.495-.762-.675-.779-.351-.032-.716.14-1.174.418-.457.277-1.005.665-1.695.742-.745.082-1.406-.291-1.84-.908-.428-.608-.653-1.394-.754-2.196-.203-1.596.016-3.377.794-4.493.568-.813 1.358-.984 2.024-.835.65.146 1.243.51 1.769.779.524.267.99.413 1.237.365a.527.527 0 0 0 .346-.2c.11-.132.235-.373.37-.798.612-1.918.27-3.894-.246-6.054-2.815-.851-5.49-1.534-8.089-.267a.727.727 0 0 0-.223.148c-.024.028-.018.021-.026.056.001-.003-.01.178.07.44.162.522.611 1.29.911 1.978l.004.009.029.063.024.084V133c.162.635.016 1.297-.274 1.727-.272.404-.618.636-.952.81-.675.353-1.399.484-1.724.533a5.888 5.888 0 0 1-3.973-.795c-.512-.311-.876-.594-1.133-1.02-.282-.466-.318-1.084-.172-1.557.252-.814.715-1.266.971-1.89a.663.663 0 0 0 .047-.14c.001-.013 0-.006-.007-.037a.761.761 0 0 0-.184-.268c-.264-.267-.865-.595-1.54-.826-1.356-.462-3.07-.659-3.583-.686-.062-.002-.121-.006-.178-.006z" style="fill:#282828;fill-opacity:1;stroke:none;stroke-width:.991342;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="translate(-40.698 -95.175)"/>
</svg>Relearn
</a>
</div>
<form action="../../search.html" method="get"><div class="searchbox default-animation">
<button class="search-detail" type="submit" title="Search (CTRL+ALT+f)"><i class="fas fa-search"></i></button>
<label class="a11y-only" for="R-search-by">Search</label>
<input data-search-input id="R-search-by" name="search-by" class="search-by" type="search" placeholder="Search...">
<button class="search-clear" type="button" data-search-clear="" title="Clear search"><i class="fas fa-times" title="Clear search"></i></button>
</div></form>
<script>
var contentLangs=['en'];
</script>
<script src="../../js/auto-complete.js?1698446280" defer></script>
<script src="../../js/lunr/lunr.min.js?1698446280" defer></script>
<script src="../../js/lunr/lunr.stemmer.support.min.js?1698446280" defer></script>
<script src="../../js/lunr/lunr.multi.min.js?1698446280" defer></script>
<script src="../../js/lunr/lunr.en.min.js?1698446280" defer></script>
<script src="../../js/search.js?1698446280" defer></script>
</div>
<div id="R-homelinks" class="default-animation">
<hr class="padding">
</div>
<div id="R-content-wrapper" class="highlightable">
<div id="R-topics">
<ul class="enlarge morespace collapsible-menu">
<li data-nav-id="/basics/index.html" class=""><input type="checkbox" id="R-section-df6aa773bd1fbc430ade79f1764e4ce7" aria-controls="R-subsections-df6aa773bd1fbc430ade79f1764e4ce7"><label for="R-section-df6aa773bd1fbc430ade79f1764e4ce7"><i class="fas fa-chevron-down"></i><i class="fas fa-chevron-right"></i><span class="a11y-only">Submenu Basics</span></label><a class="padding" href="../../basics/index.html"><b style="display: inline-block; font-weight: 200; padding-left: .3rem; text-align: left; width: 1.1rem;">1.</b> Basics<i class="fas fa-check read-icon"></i></a><ul id="R-subsections-df6aa773bd1fbc430ade79f1764e4ce7" class="morespace collapsible-menu">
<li data-nav-id="/basics/migration/index.html" class=""><a class="padding" href="../../basics/migration/index.html">What&#39;s New<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/basics/requirements/index.html" class=""><a class="padding" href="../../basics/requirements/index.html">Requirements<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/basics/installation/index.html" class=""><a class="padding" href="../../basics/installation/index.html">Installation<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/basics/configuration/index.html" class=""><a class="padding" href="../../basics/configuration/index.html">Configuration<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/basics/customization/index.html" class=""><a class="padding" href="../../basics/customization/index.html">Customization<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/basics/generator/index.html" class=""><a class="padding" href="../../basics/generator/index.html">Stylesheet generator<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/basics/topbar/index.html" class=""><a class="padding" href="../../basics/topbar/index.html">Topbar Modification<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/basics/history/index.html" class=""><a class="padding" href="../../basics/history/index.html">History<i class="fas fa-check read-icon"></i></a></li></ul></li>
<li data-nav-id="/cont/index.html" class=""><input type="checkbox" id="R-section-2291d2894a4301fd505172f85eca0c0a" aria-controls="R-subsections-2291d2894a4301fd505172f85eca0c0a"><label for="R-section-2291d2894a4301fd505172f85eca0c0a"><i class="fas fa-chevron-down"></i><i class="fas fa-chevron-right"></i><span class="a11y-only">Submenu Content</span></label><a class="padding" href="../../cont/index.html"><b style="display: inline-block; font-weight: 200; padding-left: .3rem; text-align: left; width: 1.1rem;">2.</b> Content<i class="fas fa-check read-icon"></i></a><ul id="R-subsections-2291d2894a4301fd505172f85eca0c0a" class="morespace collapsible-menu">
<li data-nav-id="/cont/pages/index.html" class=""><a class="padding" href="../../cont/pages/index.html">Pages organization<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/cont/archetypes/index.html" class=""><a class="padding" href="../../cont/archetypes/index.html">Archetypes<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/cont/markdown/index.html" class=""><a class="padding" href="../../cont/markdown/index.html">Markdown syntax<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/cont/imageeffects/index.html" class=""><a class="padding" href="../../cont/imageeffects/index.html">Image Effects<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/cont/menushortcuts/index.html" class=""><a class="padding" href="../../cont/menushortcuts/index.html">Menu extra shortcuts<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/cont/i18n/index.html" class=""><a class="padding" href="../../cont/i18n/index.html">Multilingual and i18n<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/cont/taxonomy/index.html" class=""><a class="padding" href="../../cont/taxonomy/index.html">Taxonomy<i class="fas fa-check read-icon"></i></a></li></ul></li>
<li data-nav-id="/shortcodes/index.html" class="parent "><input type="checkbox" id="R-section-c0549379138a5c256f6c0600d532453f" aria-controls="R-subsections-c0549379138a5c256f6c0600d532453f" checked><label for="R-section-c0549379138a5c256f6c0600d532453f"><i class="fas fa-chevron-down"></i><i class="fas fa-chevron-right"></i><span class="a11y-only">Submenu Shortcodes</span></label><a class="padding" href="../../shortcodes/index.html"><b style="display: inline-block; font-weight: 200; padding-left: .3rem; text-align: left; width: 1.1rem;">3.</b> Shortcodes<i class="fas fa-check read-icon"></i></a><ul id="R-subsections-c0549379138a5c256f6c0600d532453f" class="morespace collapsible-menu">
<li data-nav-id="/shortcodes/attachments/index.html" class=""><a class="padding" href="../../shortcodes/attachments/index.html">Attachments<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/badge/index.html" class=""><a class="padding" href="../../shortcodes/badge/index.html">Badge<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/button/index.html" class=""><a class="padding" href="../../shortcodes/button/index.html">Button<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/children/index.html" class=""><input type="checkbox" id="R-section-efce957ff9dad000e250ff868aa3291d" aria-controls="R-subsections-efce957ff9dad000e250ff868aa3291d"><label for="R-section-efce957ff9dad000e250ff868aa3291d"><i class="fas fa-chevron-down"></i><i class="fas fa-chevron-right"></i><span class="a11y-only">Submenu Children</span></label><a class="padding" href="../../shortcodes/children/index.html">Children<i class="fas fa-check read-icon"></i></a><ul id="R-subsections-efce957ff9dad000e250ff868aa3291d" class="morespace collapsible-menu">
<li data-nav-id="/shortcodes/children/test/index.html" class=""><a class="padding" href="../../shortcodes/children/test/index.html">page X<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/children/children-1/index.html" class=""><input type="checkbox" id="R-section-c27b80e9c4c5ceb911093893f4f00a2b" aria-controls="R-subsections-c27b80e9c4c5ceb911093893f4f00a2b"><label for="R-section-c27b80e9c4c5ceb911093893f4f00a2b"><i class="fas fa-chevron-down"></i><i class="fas fa-chevron-right"></i><span class="a11y-only">Submenu page 1</span></label><a class="padding" href="../../shortcodes/children/children-1/index.html">page 1<i class="fas fa-check read-icon"></i></a><ul id="R-subsections-c27b80e9c4c5ceb911093893f4f00a2b" class="morespace collapsible-menu">
<li data-nav-id="/shortcodes/children/children-1/children-1-1/index.html" class="alwaysopen"><input type="checkbox" id="R-section-bc0c0185f32af18e77e51e4a5f0a3ba4" aria-controls="R-subsections-bc0c0185f32af18e77e51e4a5f0a3ba4" checked><label for="R-section-bc0c0185f32af18e77e51e4a5f0a3ba4"><i class="fas fa-chevron-down"></i><i class="fas fa-chevron-right"></i><span class="a11y-only">Submenu page 1-1</span></label><a class="padding" href="../../shortcodes/children/children-1/children-1-1/index.html">page 1-1<i class="fas fa-check read-icon"></i></a><ul id="R-subsections-bc0c0185f32af18e77e51e4a5f0a3ba4" class="morespace collapsible-menu">
<li data-nav-id="" class="alwaysopen"><input type="checkbox" id="R-section-9c0a5b93d94f133c09f9cec9eec310a6" aria-controls="R-subsections-9c0a5b93d94f133c09f9cec9eec310a6" checked><label for="R-section-9c0a5b93d94f133c09f9cec9eec310a6"><i class="fas fa-chevron-down"></i><i class="fas fa-chevron-right"></i><span class="a11y-only">Submenu page 1-1-2 (headless)</span></label><span class="padding">page 1-1-2 (headless)</span><ul id="R-subsections-9c0a5b93d94f133c09f9cec9eec310a6" class="morespace collapsible-menu">
<li data-nav-id="/shortcodes/children/children-1/children-1-1/children-1-1-2/children-1-1-2-1/index.html" class=""><a class="padding" href="../../shortcodes/children/children-1/children-1-1/children-1-1-2/children-1-1-2-1/index.html">page 1-1-2-1<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/children/children-1/children-1-1/children-1-1-2/children-1-1-2-2/index.html" class=""><a class="padding" href="../../shortcodes/children/children-1/children-1-1/children-1-1-2/children-1-1-2-2/index.html">page 1-1-2-2<i class="fas fa-check read-icon"></i></a></li></ul></li>
<li data-nav-id="/shortcodes/children/children-1/children-1-1/children-1-1-3/index.html" class=""><a class="padding" href="../../shortcodes/children/children-1/children-1-1/children-1-1-3/index.html">page 1-1-3<i class="fas fa-check read-icon"></i></a></li></ul></li></ul></li>
<li data-nav-id="/shortcodes/children/children-2/index.html" class=""><a class="padding" href="../../shortcodes/children/children-2/index.html">page 2<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/children/children-3/index.html" class=""><input type="checkbox" id="R-section-801eeaaa0748a0846cc1e95f3a734fb7" aria-controls="R-subsections-801eeaaa0748a0846cc1e95f3a734fb7"><label for="R-section-801eeaaa0748a0846cc1e95f3a734fb7"><i class="fas fa-chevron-down"></i><i class="fas fa-chevron-right"></i><span class="a11y-only">Submenu page 3</span></label><a class="padding" href="../../shortcodes/children/children-3/index.html">page 3<i class="fas fa-check read-icon"></i></a><ul id="R-subsections-801eeaaa0748a0846cc1e95f3a734fb7" class="morespace collapsible-menu">
<li data-nav-id="/shortcodes/children/children-3/test3/index.html" class=""><a class="padding" href="../../shortcodes/children/children-3/test3/index.html">page 3-1<i class="fas fa-check read-icon"></i></a></li></ul></li></ul></li>
<li data-nav-id="/shortcodes/expand/index.html" class=""><a class="padding" href="../../shortcodes/expand/index.html">Expand<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/highlight/index.html" class="active"><a class="padding" href="../../shortcodes/highlight/index.html">Highlight<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/icon/index.html" class=""><a class="padding" href="../../shortcodes/icon/index.html">Icon<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/include/index.html" class=""><a class="padding" href="../../shortcodes/include/index.html">Include<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/math/index.html" class=""><a class="padding" href="../../shortcodes/math/index.html">Math<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/mermaid/index.html" class=""><a class="padding" href="../../shortcodes/mermaid/index.html">Mermaid<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/notice/index.html" class=""><a class="padding" href="../../shortcodes/notice/index.html">Notice<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/openapi/index.html" class=""><a class="padding" href="../../shortcodes/openapi/index.html">OpenAPI<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/siteparam/index.html" class=""><a class="padding" href="../../shortcodes/siteparam/index.html">SiteParam<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/tab/index.html" class=""><a class="padding" href="../../shortcodes/tab/index.html">Tab<i class="fas fa-check read-icon"></i></a></li>
<li data-nav-id="/shortcodes/tabs/index.html" class=""><a class="padding" href="../../shortcodes/tabs/index.html">Tabs<i class="fas fa-check read-icon"></i></a></li></ul></li>
</ul>
</div>
<div id="R-shortcuts">
<div class="nav-title padding">More</div>
<ul class="space">
<li><a class="padding" href="https://github.com/McShelby/hugo-theme-relearn"><i class='fab fa-fw fa-github'></i> GitHub repo</a></li>
<li><a class="padding" href="../../showcase/index.html"><i class='fas fa-fw fa-camera'></i> Showcases</a></li>
<li><a class="padding" href="https://gohugo.io/"><i class='fas fa-fw fa-bookmark'></i> Hugo Documentation</a></li>
<li><a class="padding" href="../../more/credits/index.html"><i class='fas fa-fw fa-bullhorn'></i> Credits</a></li>
<li><a class="padding" href="../../tags/index.html"><i class='fas fa-fw fa-tags'></i> Tags</a></li>
</ul>
</div>
<div class="padding footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showLangSwitch showVariantSwitch showVisitedLinks showFooter"></div>
<div id="R-menu-footer">
<hr class="padding default-animation footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showLangSwitch showVariantSwitch showVisitedLinks showFooter">
<div id="R-prefooter" class="footerLangSwitch footerVariantSwitch footerVisitedLinks showLangSwitch showVariantSwitch showVisitedLinks">
<ul>
<li id="R-select-language-container" class="footerLangSwitch showLangSwitch">
<div class="padding menu-control">
<i class="fas fa-language fa-fw"></i>
<span>&nbsp;</span>
<div class="control-style">
<label class="a11y-only" for="R-select-language">Language</label>
<select id="R-select-language" onchange="location = baseUri + this.value;">
<option id="R-en" value="/shortcodes/highlight/index.html" lang="en" selected>English</option>
<option id="R-pir" value="/pir/shortcodes/highlight/index.html" lang="pir">Arrr! ☠ Pirrrates ☠</option>
</select>
</div>
<div class="clear"></div>
</div>
</li>
<li id="R-select-variant-container" class="footerVariantSwitch showVariantSwitch">
<div class="padding menu-control">
<i class="fas fa-paint-brush fa-fw"></i>
<span>&nbsp;</span>
<div class="control-style">
<label class="a11y-only" for="R-select-variant">Theme</label>
<select id="R-select-variant" onchange="window.variants && variants.changeVariant( this.value );">
<option id="R-auto" value="auto" selected>Auto</option>
<option id="R-relearn-bright" value="relearn-bright">Relearn Bright</option>
<option id="R-relearn-light" value="relearn-light">Relearn Light</option>
<option id="R-relearn-dark" value="relearn-dark">Relearn Dark</option>
<option id="R-zen-light" value="zen-light">Zen Light</option>
<option id="R-zen-dark" value="zen-dark">Zen Dark</option>
<option id="R-neon" value="neon">Neon</option>
<option id="R-learn" value="learn">Learn</option>
<option id="R-blue" value="blue">Blue</option>
<option id="R-green" value="green">Green</option>
<option id="R-red" value="red">Red</option>
</select>
</div>
<div class="clear"></div>
</div>
<script>window.variants && variants.markSelectedVariant();</script>
</li>
<li class="footerVisitedLinks showVisitedLinks">
<div class="padding menu-control">
<i class="fas fa-history fa-fw"></i>
<span>&nbsp;</span>
<div class="control-style">
<button onclick="clearHistory();">Clear History</button>
</div>
<div class="clear"></div>
</div>
</li>
</ul>
</div>
<div id="R-footer" class="footerFooter showFooter">
<span class="github-buttons"></span>
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by <a href="https://gohugo.io/">Hugo</a></p>
<script>
function githubButtonsScheme(){
var scheme = 'light';
var colorPropertyValue = window.getComputedStyle( document.querySelector( '#R-sidebar' ) ).getPropertyValue( 'background-color' );
var colorValues = colorPropertyValue.match( /\d+/g ).map( function( e ){ return parseInt(e,10); });
if( colorValues.length === 3 && ((0.2126 * colorValues[0]) + (0.7152 * colorValues[1]) + (0.0722 * colorValues[2]) < 165) ){
scheme = 'dark';
}
return scheme;
}
function githubButtonsInit(){
if( !window.githubButtons ){
setTimeout( githubButtonsInit, 50 );
return;
}
var scheme = githubButtonsScheme();
var githubButtonsHTML = `
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn/archive/main.zip" data-color-scheme="${scheme}" data-icon="octicon-cloud-download" aria-label="Download McShelby/hugo-theme-relearn on GitHub">Download</a>
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn" data-color-scheme="${scheme}" data-icon="octicon-star" data-show-count="true" aria-label="Star McShelby/hugo-theme-relearn on GitHub">Star</a>
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn/fork" data-color-scheme="${scheme}" data-icon="octicon-repo-forked" data-show-count="true" aria-label="Fork McShelby/hugo-theme-relearn on GitHub">Fork</a>
`;
document.querySelector( '.github-buttons' ).innerHTML = githubButtonsHTML;
document.querySelectorAll( '.github-button' ).forEach( function( anchor ){
anchor.dataset.colorScheme = scheme;
window.githubButtons.render( anchor, function( el ){
anchor.parentNode.replaceChild( el, anchor );
});
});
}
document.addEventListener( 'themeVariantLoaded', function( e ){
setTimeout( githubButtonsInit, 400 );
});
</script>
<script async src="../../js/github-buttons.js?1698446280"></script>
</div>
</div>
</div>
</aside>
<script src="../../js/clipboard.min.js?1698446280" defer></script>
<script src="../../js/perfect-scrollbar.min.js?1698446280" defer></script>
<script src="../../js/theme.js?1698446280" defer></script>
</body>
</html>