mirror of
https://github.com/McShelby/hugo-theme-relearn.git
synced 2024-11-23 15:57:57 +00:00
299 lines
32 KiB
HTML
299 lines
32 KiB
HTML
<!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.115.4">
|
|
<meta name="generator" content="Relearn 5.17.1+tip">
|
|
<meta name="description" content="Render code with a syntax highlighter">
|
|
<meta name="author" content="Sören Weber">
|
|
<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="https://McShelby.github.io/hugo-theme-relearn/shortcodes/highlight/index.html" rel="canonical" type="text/html" title="Highlight :: Hugo Relearn Theme">
|
|
<link href="../../shortcodes/highlight/index.xml" rel="alternate" type="application/rss+xml" title="Highlight :: Hugo Relearn Theme">
|
|
<link href="../../images/logo.svg?1690470365" 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?1690470366" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/fontawesome-all.min.css?1690470366" rel="stylesheet"></noscript>
|
|
<link href="../../css/nucleus.css?1690470366" rel="stylesheet">
|
|
<link href="../../css/auto-complete.css?1690470366" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/auto-complete.css?1690470366" rel="stylesheet"></noscript>
|
|
<link href="../../css/perfect-scrollbar.min.css?1690470366" rel="stylesheet">
|
|
<link href="../../css/fonts.css?1690470366" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/fonts.css?1690470366" rel="stylesheet"></noscript>
|
|
<link href="../../css/theme.css?1690470366" rel="stylesheet">
|
|
<link href="../../css/theme-auto.css?1690470366" rel="stylesheet" id="variant-style">
|
|
<link href="../../css/variant.css?1690470366" rel="stylesheet">
|
|
<link href="../../css/print.css?1690470366" rel="stylesheet" media="print">
|
|
<link href="../../css/format-print.css?1690470366" rel="stylesheet">
|
|
<link href="../../css/ie.css?1690470366" rel="stylesheet">
|
|
<script src="../../js/url.js?1690470366"></script>
|
|
<script src="../../js/variant.js?1690470366"></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_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', 'learn', 'neon', 'blue', 'green', 'red' ] );
|
|
</script>
|
|
<style>
|
|
#body img.bg-white {
|
|
background-color: white;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="mobile-support print disableInlineCopyToClipboard" data-url="../../shortcodes/highlight/index.html">
|
|
<div id="body" class="default-animation">
|
|
<div id="sidebar-overlay"></div>
|
|
<div id="toc-overlay"></div>
|
|
<nav id="topbar" class="highlightable">
|
|
<div>
|
|
<div id="breadcrumbs">
|
|
<span id="sidebar-toggle-span">
|
|
<a href="#" id="sidebar-toggle" class="topbar-link" title='Menu (CTRL+ALT+n)'><i class="fas fa-bars fa-fw"></i></a>
|
|
</span>
|
|
<ol class="links" itemscope itemtype="http://schema.org/BreadcrumbList">
|
|
<li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="../../index.html"><span itemprop="name">Hugo Relearn Theme</span></a><meta itemprop="position" content="1"> > </li>
|
|
<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="2"> > </li>
|
|
<li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><span itemprop="name">Highlight</span><meta itemprop="position" content="3"></li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<main id="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="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">"Hello World!"</span><span class="p">)</span></span></span></code></pre></div>
|
|
<h2 id="usage">Usage</h2>
|
|
<p>This shortcode is compatible with Hugo’s <a href="https://gohugo.io/content-management/syntax-highlighting/#highlight-shortcode" target="_blank"><code>highlight</code> shortcode</a> but offers some extensions.</p>
|
|
<p>You can call it interchangeably in the same way as Hugo’s own shortcode using 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 somewhat resemble Hugo’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">​</div>
|
|
<button
|
|
data-tab-item="codefence"
|
|
class="tab-nav-button tab-panel-style cstyle initial active"
|
|
onclick="switchTab('shortcode-parameter','codefence')"
|
|
>
|
|
<div>
|
|
<div class="tab-nav-hidden">codefence</div>
|
|
<div class="tab-nav-text">codefence</div>
|
|
</div>
|
|
</button>
|
|
<button
|
|
data-tab-item="shortcode"
|
|
class="tab-nav-button tab-panel-style cstyle initial"
|
|
onclick="switchTab('shortcode-parameter','shortcode')"
|
|
>
|
|
<div>
|
|
<div class="tab-nav-hidden">shortcode</div>
|
|
<div class="tab-nav-text">shortcode</div>
|
|
</div>
|
|
</button>
|
|
<button
|
|
data-tab-item="shortcode (positional)"
|
|
class="tab-nav-button tab-panel-style cstyle initial"
|
|
onclick="switchTab('shortcode-parameter','shortcode (positional)')"
|
|
>
|
|
<div>
|
|
<div class="tab-nav-hidden">shortcode (positional)</div>
|
|
<div class="tab-nav-text">shortcode (positional)</div>
|
|
</div>
|
|
</button>
|
|
<button
|
|
data-tab-item="partial"
|
|
class="tab-nav-button tab-panel-style cstyle initial"
|
|
onclick="switchTab('shortcode-parameter','partial')"
|
|
>
|
|
<div>
|
|
<div class="tab-nav-hidden">partial</div>
|
|
<div class="tab-nav-text">partial</div>
|
|
</div>
|
|
</button>
|
|
<button
|
|
data-tab-item="partial (compat)"
|
|
class="tab-nav-button tab-panel-style cstyle initial"
|
|
onclick="switchTab('shortcode-parameter','partial (compat)')"
|
|
>
|
|
<div>
|
|
<div class="tab-nav-hidden">partial (compat)</div>
|
|
<div class="tab-nav-text">partial (compat)</div>
|
|
</div>
|
|
</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="true" wrap="true" }
|
|
</span></span><span class="line"><span class="cl">print("Hello World!")
|
|
</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">{{<</span> <span class="nx">highlight</span> <span class="nx">lineNos</span><span class="p">=</span><span class="s">"true"</span> <span class="kd">type</span><span class="p">=</span><span class="s">"py"</span> <span class="nx">wrap</span><span class="p">=</span><span class="s">"true"</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">"Hello World!"</span><span class="p">)</span>
|
|
</span></span><span class="line"><span class="cl"><span class="p">{{<</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">>}}</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">{{<</span> <span class="nx">highlight</span> <span class="nx">py</span> <span class="s">"lineNos=true,wrap=true"</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">"Hello World!"</span><span class="p">)</span>
|
|
</span></span><span class="line"><span class="cl"><span class="p">{{<</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">>}}</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">"shortcodes/highlight.html"</span> <span class="p">(</span><span class="nx">dict</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"page"</span> <span class="p">.</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"content"</span> <span class="s">"print(\"Hello World!\")"</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"lineNos"</span> <span class="s">"true"</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"type"</span> <span class="s">"py"</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"wrap"</span> <span class="s">"true"</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">"shortcodes/highlight.html"</span> <span class="p">(</span><span class="nx">dict</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"page"</span> <span class="p">.</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"content"</span> <span class="s">"print(\"Hello World!\")"</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"options"</span> <span class="s">"lineNos=true,wrap=true"</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="s">"type"</span> <span class="s">"py"</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>Default</th>
|
|
<th>Notes</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><strong>type</strong></td>
|
|
<td><em><empty></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>wrap</strong></td>
|
|
<td>see notes</td>
|
|
<td><em>Extension</em>. 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><em><empty></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><option></strong></em></td>
|
|
<td><em><empty></em></td>
|
|
<td>Any of <a href="https://gohugo.io/functions/highlight/#options" target="_blank">Hugo’s supported options</a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><em><strong><content></strong></em></td>
|
|
<td><em><empty></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’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 = "tango"</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’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">Line Numbers</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">{{<</span> <span class="nx">highlight</span> <span class="nx">lineNos</span><span class="p">=</span><span class="s">"true"</span> <span class="kd">type</span><span class="p">=</span><span class="s">"py"</span> <span class="p">>}}</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"><</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">>=</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">{{<</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">>}}</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">1</span><span class="cl"><span class="c1"># Quicksort Python One-liner</span>
|
|
</span></span><span class="line"><span class="ln">2</span><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"><</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">>=</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="ln">3</span><span class="cl"><span class="c1"># Some more stuff</span></span></span></code></pre></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">{{<</span> <span class="nx">highlight</span> <span class="kd">type</span><span class="p">=</span><span class="s">"py"</span> <span class="nx">wrap</span><span class="p">=</span><span class="s">"true"</span> <span class="nx">hl_lines</span><span class="p">=</span><span class="s">"2"</span> <span class="p">>}}</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"><</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">>=</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">{{<</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">>}}</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"><</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">>=</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">{{<</span> <span class="nx">highlight</span> <span class="kd">type</span><span class="p">=</span><span class="s">"py"</span> <span class="nx">wrap</span><span class="p">=</span><span class="s">"false"</span> <span class="nx">hl_lines</span><span class="p">=</span><span class="s">"2"</span> <span class="p">>}}</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"><</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">>=</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">{{<</span> <span class="o">/</span><span class="nx">highlight</span> <span class="p">>}}</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"><</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">>=</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>
|
|
<script src="../../js/clipboard.min.js?1690470366" defer></script>
|
|
<script src="../../js/perfect-scrollbar.min.js?1690470366" defer></script>
|
|
<script src="../../js/theme.js?1690470366" defer></script>
|
|
</body>
|
|
</html>
|