<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Guiselle Armstrong</title><link>https://guisellearmstrong.com/</link><atom:link href="https://guisellearmstrong.com/index.xml" rel="self" type="application/rss+xml"/><description>Guiselle Armstrong</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en</language><lastBuildDate>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate><image><url>https://guisellearmstrong.com/media/icon.svg</url><title>Guiselle Armstrong</title><link>https://guisellearmstrong.com/</link></image><item><title>Experience</title><link>https://guisellearmstrong.com/experience/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/experience/</guid><description/></item><item><title>Volunteer</title><link>https://guisellearmstrong.com/volunteer/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/volunteer/</guid><description/></item><item><title>⚡️ Turn Jupyter Notebooks into Blog Posts</title><link>https://guisellearmstrong.com/blog/%EF%B8%8F-turn-jupyter-notebooks-into-blog-posts/</link><pubDate>Mon, 15 Jul 2024 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/blog/%EF%B8%8F-turn-jupyter-notebooks-into-blog-posts/</guid><description>&lt;p&gt;As a researcher or data scientist, your work often lives in Jupyter Notebooks. But sharing those insights effectively usually means taking screenshots, messy copy-pasting, or exporting to PDF.&lt;/p&gt;
&lt;p&gt;Hugo Blox changes that. With the &lt;code&gt;{{&amp;lt; notebook &amp;gt;}}&lt;/code&gt; shortcode, you can render your actual &lt;code&gt;.ipynb&lt;/code&gt; files directly as beautiful, interactive blog posts or project pages. Keep your code, outputs, and narrative in one place.&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" open&gt;
&lt;summary&gt;Table of Contents&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#why-publish-notebooks"&gt;Why publish notebooks?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#example-data-science-workflow"&gt;Example: Data Science Workflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#how-to-add-a-notebook"&gt;How to add a notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#next-steps"&gt;Next steps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="why-publish-notebooks"&gt;Why publish notebooks?&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-emerald-100 dark:bg-emerald-900 border-emerald-500"
data-callout="tip"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-emerald-600 dark:text-emerald-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 18v-5.25m0 0a6 6 0 0 0 1.5-.189m-1.5.189a6 6 0 0 1-1.5-.189m3.75 7.478a12.1 12.1 0 0 1-4.5 0m3.75 2.383a14.4 14.4 0 0 1-3 0M14.25 18v-.192c0-.983.658-1.823 1.508-2.316a7.5 7.5 0 1 0-7.517 0c.85.493 1.509 1.333 1.509 2.316V18"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Tip&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;&lt;strong&gt;Reproducible Research&lt;/strong&gt;: By publishing the actual notebook, you allow others to download and run your code, verifying your results and building upon your work.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No more screenshots&lt;/strong&gt; – Render crisp code and vector plots directly from your source.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Theme consistent&lt;/strong&gt; – Notebooks automatically adapt to your site&amp;rsquo;s theme (including dark mode).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flexible sourcing&lt;/strong&gt; – Display notebooks from your &lt;code&gt;assets/&lt;/code&gt; folder, page bundles, or even directly from a remote GitHub URL.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interactive&lt;/strong&gt; – Users can copy code blocks or download the full notebook to run locally.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="example-data-science-workflow"&gt;Example: Data Science Workflow&lt;/h2&gt;
&lt;p&gt;Below is a live example of a notebook rendered right here in this post. Notice how the markdown, code, and outputs (text, HTML, and JSON) are all preserved and styled.&lt;/p&gt;
&lt;div id="hb-notebook-86b2483a72d99021c62bf6617361405b" class="hb-notebook not-prose" data-hb-component="notebook" aria-label="Notebook Launch Readiness Analysis" style="--hb-notebook-output-max-height:26rem;"&gt;
&lt;div class="hb-notebook-header"&gt;
&lt;div class="hb-notebook-heading"&gt;
&lt;p class="hb-notebook-title"&gt;Launch Readiness Analysis&lt;/p&gt;
&lt;p class="hb-notebook-subtitle"&gt;Python · Kernel: Python 3 · nbformat 4.5 · 6 cells&lt;/p&gt;
&lt;/div&gt;
&lt;a class="hb-notebook-download" href="https://guisellearmstrong.com/blog/%EF%B8%8F-turn-jupyter-notebooks-into-blog-posts/hugoblox-onboarding.ipynb" download&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"/&gt;&lt;/svg&gt;
&lt;span&gt;Download notebook&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;dl class="hb-notebook-metadata"&gt;
&lt;div&gt;
&lt;dt&gt;Language&lt;/dt&gt;
&lt;dd&gt;Python&lt;/dd&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;dt&gt;Version&lt;/dt&gt;
&lt;dd&gt;3.11&lt;/dd&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;dt&gt;Kernel&lt;/dt&gt;
&lt;dd&gt;Python 3 python3&lt;/dd&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;dt&gt;nbformat&lt;/dt&gt;
&lt;dd&gt;4.5&lt;/dd&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;dt&gt;Authors&lt;/dt&gt;
&lt;dd&gt;Ownable CMS&lt;/dd&gt;
&lt;/div&gt;
&lt;/dl&gt;&lt;div class="hb-notebook-body"&gt;&lt;article class="hb-notebook-cell hb-notebook-cell--markdown" data-cell-type="markdown"&gt;
&lt;header class="hb-notebook-cell-header"&gt;
&lt;span class="hb-notebook-pill"&gt;Markdown&lt;/span&gt;
&lt;/header&gt;
&lt;div class="hb-notebook-markdown prose dark:prose-invert"&gt;
&lt;h1 id="ship-notebook-stories-in-minutes"&gt;Ship Notebook Stories in Minutes&lt;/h1&gt;
&lt;p&gt;Hugo Blox Notebook renderer turns your &lt;code&gt;.ipynb&lt;/code&gt; experiments into beautiful long-form posts.
Use this sample to see how markdown, code, and outputs flow together.&lt;/p&gt;
&lt;/div&gt;
&lt;/article&gt;&lt;article class="hb-notebook-cell hb-notebook-cell--markdown" data-cell-type="markdown"&gt;
&lt;header class="hb-notebook-cell-header"&gt;
&lt;span class="hb-notebook-pill"&gt;Markdown&lt;/span&gt;
&lt;/header&gt;
&lt;div class="hb-notebook-markdown prose dark:prose-invert"&gt;
&lt;ol&gt;
&lt;li&gt;Drop notebooks inside &lt;code&gt;assets/notebooks/&lt;/code&gt; (or import them as page resources).&lt;/li&gt;
&lt;li&gt;Reference them with &lt;code&gt;{{&amp;lt;/* notebook src=&amp;quot;your.ipynb&amp;quot; */&amp;gt;}}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Control code, outputs, metadata badges, and download links via shortcode params.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/article&gt;&lt;article class="hb-notebook-cell hb-notebook-cell--code" data-cell-type="code"&gt;
&lt;header class="hb-notebook-cell-header"&gt;
&lt;span class="hb-notebook-pill"&gt;In [1]&lt;/span&gt;
&lt;div class="hb-notebook-tags"&gt;
&lt;span&gt;demo&lt;/span&gt;
&lt;span&gt;quickstart&lt;/span&gt;
&lt;/div&gt;
&lt;/header&gt;
&lt;div class="hb-notebook-code" data-language="python"&gt;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; math
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;accuracy &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0.982&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;print(&lt;span style="color:#e6db74"&gt;&amp;#34;Collecting data...&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;print(&lt;span style="color:#e6db74"&gt;&amp;#34;Training notebook-ready block...&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;print(&lt;span style="color:#e6db74"&gt;&amp;#34;Done!&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;accuracy&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="hb-notebook-outputs"&gt;&lt;pre class="hb-notebook-output hb-notebook-output--stream"&gt;&lt;code&gt;Collecting data...
Training notebook-ready block...
Done!
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class="hb-notebook-output hb-notebook-output--text"&gt;&lt;code&gt;0.982&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/article&gt;&lt;article class="hb-notebook-cell hb-notebook-cell--code" data-cell-type="code"&gt;
&lt;header class="hb-notebook-cell-header"&gt;
&lt;span class="hb-notebook-pill"&gt;In [2]&lt;/span&gt;
&lt;/header&gt;
&lt;div class="hb-notebook-code" data-language="python"&gt;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; IPython.display &lt;span style="color:#f92672"&gt;import&lt;/span&gt; HTML
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;HTML(&lt;span style="color:#e6db74"&gt;&amp;#34;&amp;lt;div style=&amp;#39;font-family:Inter,ui-sans-serif;&amp;#39;&amp;gt;&amp;lt;strong&amp;gt;Launch Readiness:&amp;lt;/strong&amp;gt; &amp;lt;span style=&amp;#39;color:#22c55e;&amp;#39;&amp;gt;98.2&lt;/span&gt;&lt;span style="color:#e6db74"&gt;% c&lt;/span&gt;&lt;span style="color:#e6db74"&gt;onfidence&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;em&amp;gt;Notebook blocks are theme-aware and dark-mode friendly.&amp;lt;/em&amp;gt;&amp;lt;/div&amp;gt;&amp;#34;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="hb-notebook-outputs"&gt;
&lt;div class="hb-notebook-output hb-notebook-output--html"&gt;&lt;div style='font-family:Inter,ui-sans-serif;'&gt;&lt;strong&gt;Launch Readiness:&lt;/strong&gt; &lt;span style='color:#22c55e;'&gt;98.2% confidence&lt;/span&gt;&lt;br&gt;&lt;em&gt;Notebook blocks are theme-aware and dark-mode friendly.&lt;/em&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;&lt;article class="hb-notebook-cell hb-notebook-cell--code" data-cell-type="code"&gt;
&lt;header class="hb-notebook-cell-header"&gt;
&lt;span class="hb-notebook-pill"&gt;In [3]&lt;/span&gt;
&lt;div class="hb-notebook-tags"&gt;
&lt;span&gt;metrics&lt;/span&gt;
&lt;/div&gt;
&lt;/header&gt;
&lt;div class="hb-notebook-code" data-language="python"&gt;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;metrics &lt;span style="color:#f92672"&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;metrics&amp;#39;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;engagement_rate&amp;#39;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;0.73&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;read_time_minutes&amp;#39;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;4.6&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;subscribers&amp;#39;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1280&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;metrics&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="hb-notebook-outputs"&gt;&lt;pre class="hb-notebook-output hb-notebook-output--json"&gt;&lt;code&gt;{
"metrics": {
"engagement_rate": 0.73,
"read_time_minutes": 4.6,
"subscribers": 1280
}
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/article&gt;&lt;article class="hb-notebook-cell hb-notebook-cell--markdown" data-cell-type="markdown"&gt;
&lt;header class="hb-notebook-cell-header"&gt;
&lt;span class="hb-notebook-pill"&gt;Markdown&lt;/span&gt;
&lt;/header&gt;
&lt;div class="hb-notebook-markdown prose dark:prose-invert"&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;Tip: Pair this block with Call-to-Action cards or the Embed shortcode to link to GitHub repos, datasets, or ARXIV preprints.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;/article&gt;
&lt;/div&gt;
&lt;div class="sr-only" data-hb-component="notebook" data-hb-version="1.0" data-hb-license="MIT"&gt;
Powered by Hugo Blox Kit - https://github.com/HugoBlox/kit
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="how-to-add-a-notebook"&gt;How to add a notebook&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Save your notebook.&lt;/strong&gt; Place your &lt;code&gt;.ipynb&lt;/code&gt; file in &lt;code&gt;assets/notebooks/&lt;/code&gt; (for global access) or inside a page bundle (like &lt;code&gt;content/blog/my-post/analysis.ipynb&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add the shortcode.&lt;/strong&gt; In any Markdown page, simply use:
&lt;code&gt;{{&amp;lt; notebook src=&amp;quot;analysis.ipynb&amp;quot; &amp;gt;}}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customize.&lt;/strong&gt; You can hide code cells for non-technical audiences (&lt;code&gt;show_code=false&lt;/code&gt;) or just show the output (&lt;code&gt;show_outputs=true&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-purple-100 dark:bg-purple-900 border-purple-500"
data-callout="important"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-purple-600 dark:text-purple-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9 3.75h.008v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Important&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;Hugo Blox respects your privacy. Notebook rendering happens statically at build time—no third-party services required.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="next-steps"&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Try it out:&lt;/strong&gt; Drop one of your existing notebooks into this site and see how it looks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Link your papers:&lt;/strong&gt; Use the Embed shortcode to link your notebook to your latest arXiv preprint or GitHub repository.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Get help:&lt;/strong&gt; Join the community on &lt;a href="https://discord.gg/z8wNYzb" target="_blank" rel="noopener"&gt;Discord&lt;/a&gt; or check the &lt;a href="https://docs.hugoblox.com" target="_blank" rel="noopener"&gt;documentation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Happy researching! 🚀&lt;/p&gt;</description></item><item><title>🎉 Easily create your own simple yet highly customizable blog</title><link>https://guisellearmstrong.com/blog/easily-create-your-own-simple-yet-highly-customizable-blog/</link><pubDate>Fri, 27 Oct 2023 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/blog/easily-create-your-own-simple-yet-highly-customizable-blog/</guid><description>&lt;p&gt;Welcome 👋&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" open&gt;
&lt;summary&gt;Table of Contents&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#overview"&gt;Overview&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#get-started"&gt;Get Started&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#crowd-funded-open-source-software"&gt;Crowd-funded open-source software&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#-click-here-to-become-a-sponsor-and-help-support-hugo-blox"&gt;❤️ Click here to become a sponsor and help support Hugo Blox’s future ❤️&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#ecosystem"&gt;Ecosystem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#inspiration"&gt;Inspiration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#features"&gt;Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#themes"&gt;Themes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#license"&gt;License&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;The Hugo Blox website builder for Hugo, along with its starter templates, is designed for professional creators, educators, and teams/organizations - although it can be used to create any kind of site&lt;/li&gt;
&lt;li&gt;The template can be modified and customised to suit your needs. It&amp;rsquo;s a good platform for anyone looking to take control of their data and online identity whilst having the convenience to start off with a &lt;strong&gt;no-code solution (write in Markdown and customize with YAML parameters)&lt;/strong&gt; and having &lt;strong&gt;flexibility to later add even deeper personalization with HTML and CSS&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;You can work with all your favourite tools and apps with hundreds of plugins and integrations to speed up your workflows, interact with your readers, and much more&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="get-started"&gt;Get Started&lt;/h3&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-emerald-100 dark:bg-emerald-900 border-emerald-500"
data-callout="tip"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-emerald-600 dark:text-emerald-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 18v-5.25m0 0a6 6 0 0 0 1.5-.189m-1.5.189a6 6 0 0 1-1.5-.189m3.75 7.478a12.1 12.1 0 0 1-4.5 0m3.75 2.383a14.4 14.4 0 0 1-3 0M14.25 18v-.192c0-.983.658-1.823 1.508-2.316a7.5 7.5 0 1 0-7.517 0c.85.493 1.509 1.333 1.509 2.316V18"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Quick Start Guide&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;New to Hugo Blox? Follow these steps to get your site up and running in minutes!&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;👉 &lt;a href="https://hugoblox.com/templates/" target="_blank" rel="noopener"&gt;&lt;strong&gt;Create a new site&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📚 &lt;a href="https://docs.hugoblox.com/" target="_blank" rel="noopener"&gt;&lt;strong&gt;Personalize your site&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://discord.gg/z8wNYzb" target="_blank" rel="noopener"&gt;Chat with the &lt;strong&gt;Hugo Blox community&lt;/strong&gt;&lt;/a&gt; or &lt;a href="https://discourse.gohugo.io" target="_blank" rel="noopener"&gt;&lt;strong&gt;Hugo community&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🐦 Twitter: &lt;a href="https://x.com/MakeOwnable" target="_blank" rel="noopener"&gt;@MakeOwnable&lt;/a&gt; #MadeWithHugoBlox&lt;/li&gt;
&lt;li&gt;💡 &lt;a href="https://github.com/HugoBlox/kit/issues" target="_blank" rel="noopener"&gt;Request a &lt;strong&gt;feature&lt;/strong&gt; or report a &lt;strong&gt;bug&lt;/strong&gt; for &lt;em&gt;Hugo Blox&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;⬆️ &lt;strong&gt;Updating Hugo Blox?&lt;/strong&gt; View the &lt;a href="https://docs.hugoblox.com/reference/update/" target="_blank" rel="noopener"&gt;Update Guide&lt;/a&gt; and &lt;a href="https://github.com/HugoBlox/kit/releases" target="_blank" rel="noopener"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-purple-100 dark:bg-purple-900 border-purple-500"
data-callout="important"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-purple-600 dark:text-purple-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9 3.75h.008v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Important&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;Remember to backup your site before making major updates!&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="crowd-funded-open-source-software"&gt;Crowd-funded open-source software&lt;/h2&gt;
&lt;p&gt;To help us develop this template and software sustainably under the MIT license, we ask all individuals and businesses that use it to help support its ongoing maintenance and development via sponsorship.&lt;/p&gt;
&lt;h3 id="-click-here-to-become-a-sponsor-and-help-support-hugo-blox"&gt;&lt;a href="https://hugoblox.com/sponsor/" target="_blank" rel="noopener"&gt;❤️ Click here to become a sponsor and help support Hugo Blox&amp;rsquo;s future ❤️&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;As a token of appreciation for sponsoring, you can &lt;strong&gt;unlock &lt;a href="https://hugoblox.com/sponsor/" target="_blank" rel="noopener"&gt;these&lt;/a&gt; awesome rewards and extra features 🦄✨&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="ecosystem"&gt;Ecosystem&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/GetRD/academic-file-converter" target="_blank" rel="noopener"&gt;Bibtex To Markdown&lt;/a&gt;:&lt;/strong&gt; Automatically import publications from BibTeX&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="inspiration"&gt;Inspiration&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://hugoblox.com/creators/" target="_blank" rel="noopener"&gt;Learn what other &lt;strong&gt;creators&lt;/strong&gt;&lt;/a&gt; are building with this template.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Enhanced Markdown Support&lt;br&gt;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;Hugo Blox now supports GitHub and Obsidian-style callouts! Use standard Markdown alert syntax like &lt;code&gt;&amp;gt; [!NOTE]&lt;/code&gt; for better portability.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Page builder&lt;/strong&gt; - Create &lt;em&gt;anything&lt;/em&gt; with no-code &lt;a href="https://hugoblox.com/blocks/" target="_blank" rel="noopener"&gt;&lt;strong&gt;blocks&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://docs.hugoblox.com/reference/markdown/" target="_blank" rel="noopener"&gt;&lt;strong&gt;elements&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edit any type of content&lt;/strong&gt; - Blog posts, publications, talks, slides, projects, and more!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create content&lt;/strong&gt; in &lt;a href="https://docs.hugoblox.com/reference/markdown/" target="_blank" rel="noopener"&gt;&lt;strong&gt;Markdown&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://docs.hugoblox.com/getting-started/cms/" target="_blank" rel="noopener"&gt;&lt;strong&gt;Jupyter&lt;/strong&gt;&lt;/a&gt;, or &lt;a href="https://docs.hugoblox.com/getting-started/cms/" target="_blank" rel="noopener"&gt;&lt;strong&gt;RStudio&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plugin System&lt;/strong&gt; - Fully customizable &lt;a href="https://docs.hugoblox.com/getting-started/customize/" target="_blank" rel="noopener"&gt;&lt;strong&gt;color&lt;/strong&gt; and &lt;strong&gt;font themes&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Display Code and Math&lt;/strong&gt; - Code syntax highlighting and LaTeX math supported&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integrations&lt;/strong&gt; - &lt;a href="https://analytics.google.com" target="_blank" rel="noopener"&gt;Google Analytics&lt;/a&gt;, &lt;a href="https://disqus.com" target="_blank" rel="noopener"&gt;Disqus commenting&lt;/a&gt;, Maps, Contact Forms, and more!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Beautiful Site&lt;/strong&gt; - Simple and refreshing one-page design&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Industry-Leading SEO&lt;/strong&gt; - Help get your website found on search engines and social media&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Media Galleries&lt;/strong&gt; - Display your images and videos with captions in a customizable gallery&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mobile Friendly&lt;/strong&gt; - Look amazing on every screen with a mobile friendly version of your site&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-language&lt;/strong&gt; - 35+ language packs including English, 中文, and Português&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-user&lt;/strong&gt; - Each author gets their own profile page&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privacy Pack&lt;/strong&gt; - Assists with GDPR&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stand Out&lt;/strong&gt; - Bring your site to life with animation, parallax backgrounds, and scroll effects&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;One-Click Deployment&lt;/strong&gt; - No servers. No databases. Only files.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-orange-100 dark:bg-orange-900 border-orange-500"
data-callout="warning"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-orange-600 dark:text-orange-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Version Requirements&lt;br&gt;&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;The new Markdown alert syntax requires Hugo v0.132.0 or later. Make sure you&amp;rsquo;re using a compatible version!&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="themes"&gt;Themes&lt;/h2&gt;
&lt;p&gt;Hugo Blox and its templates come with &lt;strong&gt;automatic day (light) and night (dark) mode&lt;/strong&gt; built-in. Visitors can choose their preferred mode by clicking the sun/moon icon in the header.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.hugoblox.com/getting-started/customize/" target="_blank" rel="noopener"&gt;Choose a stunning &lt;strong&gt;theme&lt;/strong&gt; and &lt;strong&gt;font&lt;/strong&gt;&lt;/a&gt; for your site. Themes are fully customizable.&lt;/p&gt;
&lt;h2 id="license"&gt;License&lt;/h2&gt;
&lt;p&gt;Copyright 2016-present &lt;a href="https://georgecushen.com" target="_blank" rel="noopener"&gt;George Cushen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Released under the &lt;a href="https://github.com/HugoBlox/kit/blob/main/LICENSE.md" target="_blank" rel="noopener"&gt;MIT&lt;/a&gt; license.&lt;/p&gt;</description></item><item><title>🧠 Sharpen your thinking with a second brain</title><link>https://guisellearmstrong.com/blog/sharpen-your-thinking-with-a-second-brain/</link><pubDate>Thu, 26 Oct 2023 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/blog/sharpen-your-thinking-with-a-second-brain/</guid><description>&lt;p&gt;Create a personal knowledge base and share your knowledge with your peers.&lt;/p&gt;
&lt;p&gt;Hugo Blox web framework empowers you with one of the most flexible note-taking capabilities out there.&lt;/p&gt;
&lt;p&gt;Create a powerful knowledge base that works on top of a local folder of plain text Markdown files.&lt;/p&gt;
&lt;p&gt;Use it as your second brain, either publicly sharing your knowledge with your peers via your website, or via a private GitHub repository and password-protected site just for yourself.&lt;/p&gt;
&lt;h2 id="mindmaps"&gt;Mindmaps&lt;/h2&gt;
&lt;p&gt;Hugo Blox supports a Markdown extension for mindmaps.&lt;/p&gt;
&lt;p&gt;With this open format, can even edit your mindmaps in other popular tools such as Obsidian.&lt;/p&gt;
&lt;p&gt;Simply insert a Markdown code block labelled as &lt;code&gt;markmap&lt;/code&gt; and optionally set the height of the mindmap as shown in the example below.&lt;/p&gt;
&lt;p&gt;Mindmaps can be created by simply writing the items as a Markdown list within the &lt;code&gt;markmap&lt;/code&gt; code block, indenting each item to create as many sub-levels as you need:&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="markmap" style="height: 200px;"&gt;
&lt;pre&gt;- Hugo Modules
- Hugo Blox
- netlify
- netlify-cms
- slides&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Anh here&amp;rsquo;s a more advanced mindmap with formatting, code blocks, and math:&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="markmap" style="height: 500px;"&gt;
&lt;pre&gt;- Mindmaps
- Links
- [Hugo Blox Docs](https://docs.hugoblox.com/)
- [Discord Community](https://discord.gg/z8wNYzb)
- [GitHub](https://github.com/HugoBlox/kit)
- Features
- Markdown formatting
- **inline** ~~text~~ *styles*
- multiline
text
- `inline code`
- Math: $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 id="highlighting"&gt;Highlighting&lt;/h2&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;Highlight&lt;!-- raw HTML omitted --&gt; important text with &lt;code&gt;mark&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#f92672"&gt;mark&lt;/span&gt;&amp;gt;Highlighted text&amp;lt;/&lt;span style="color:#f92672"&gt;mark&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="callouts"&gt;Callouts&lt;/h2&gt;
&lt;p&gt;Use &lt;a href="https://docs.hugoblox.com/reference/markdown/#callouts" target="_blank" rel="noopener"&gt;callouts&lt;/a&gt; (aka &lt;em&gt;asides&lt;/em&gt;, &lt;em&gt;hints&lt;/em&gt;, or &lt;em&gt;alerts&lt;/em&gt;) to draw attention to notes, tips, and warnings.&lt;/p&gt;
&lt;p&gt;Use the &lt;code&gt;&amp;gt; [!NOTE]&lt;/code&gt; syntax to create a callout.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;&amp;gt; &lt;/span&gt;&lt;span style="font-style:italic"&gt;[!NOTE]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;&amp;gt; &lt;/span&gt;&lt;span style="font-style:italic"&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Note&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Or use the &lt;code&gt;warning&lt;/code&gt; callout type so your readers don&amp;rsquo;t miss critical details:&lt;/p&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-orange-100 dark:bg-orange-900 border-orange-500"
data-callout="warning"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-orange-600 dark:text-orange-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Warning&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;A Markdown aside is useful for displaying notices, hints, or definitions to your readers.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="did-you-find-this-page-helpful-consider-sharing-it-"&gt;Did you find this page helpful? Consider sharing it 🙌&lt;/h2&gt;</description></item><item><title>📈 Communicate your results effectively with the best data visualizations</title><link>https://guisellearmstrong.com/blog/communicate-your-results-effectively-with-the-best-data-visualizations/</link><pubDate>Wed, 25 Oct 2023 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/blog/communicate-your-results-effectively-with-the-best-data-visualizations/</guid><description>&lt;p&gt;Hugo Blox is designed to give technical content creators a seamless experience. You can focus on the content and Hugo Blox handles the rest.&lt;/p&gt;
&lt;p&gt;Use popular tools such as Plotly, Mermaid, and data frames.&lt;/p&gt;
&lt;h2 id="embed-rich-content"&gt;Embed Rich Content&lt;/h2&gt;
&lt;p&gt;HuggingFace Model&lt;/p&gt;
&lt;div class="group bg-white/90 dark:bg-zinc-900/90 backdrop-blur-sm rounded-2xl ring-1 ring-zinc-900/5 dark:ring-white/10 shadow-lg overflow-hidden transition-all duration-300 ease-out hover:shadow-xl hover:shadow-primary-500/10 hover:-translate-y-1 focus-within:ring-2 focus-within:ring-primary-500/50 my-6" role="article" aria-labelledby="hb-embed-title-hb-embed-d2148de5094168c9b97833601aca9139"&gt;
&lt;div class="flex items-center gap-3 p-6 border-b border-zinc-100 dark:border-zinc-800"&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;div class="w-10 h-10 rounded-full bg-gradient-to-br from-yellow-400 to-orange-500 flex items-center justify-center"&gt;
&lt;svg class="w-6 h-6 text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="currentColor" d="M12.025 1.13c-5.77 0-10.449 4.647-10.449 10.378c0 1.112.178 2.181.503 3.185c.064-.222.203-.444.416-.577a.96.96 0 0 1 .524-.15c.293 0 .584.124.84.284c.278.173.48.408.71.694c.226.282.458.611.684.951v-.014c.017-.324.106-.622.264-.874s.403-.487.762-.543c.3-.047.596.06.787.203s.31.313.4.467c.15.257.212.468.233.542c.01.026.653 1.552 1.657 2.54c.616.605 1.01 1.223 1.082 1.912c.055.537-.096 1.059-.38 1.572c.637.121 1.294.187 1.967.187c.657 0 1.298-.063 1.921-.178c-.287-.517-.44-1.041-.384-1.581c.07-.69.465-1.307 1.081-1.913c1.004-.987 1.647-2.513 1.657-2.539c.021-.074.083-.285.233-.542c.09-.154.208-.323.4-.467a1.08 1.08 0 0 1 .787-.203c.359.056.604.29.762.543s.247.55.265.874v.015c.225-.34.457-.67.683-.952c.23-.286.432-.52.71-.694c.257-.16.547-.284.84-.285a.97.97 0 0 1 .524.151c.228.143.373.388.43.625l.006.04a10.3 10.3 0 0 0 .534-3.273c0-5.731-4.678-10.378-10.449-10.378M8.327 6.583a1.5 1.5 0 0 1 .713.174a1.487 1.487 0 0 1 .617 2.013c-.183.343-.762-.214-1.102-.094c-.38.134-.532.914-.917.71a1.487 1.487 0 0 1 .69-2.803m7.486 0a1.487 1.487 0 0 1 .689 2.803c-.385.204-.536-.576-.916-.71c-.34-.12-.92.437-1.103.094a1.487 1.487 0 0 1 .617-2.013a1.5 1.5 0 0 1 .713-.174m-10.68 1.55a.96.96 0 1 1 0 1.921a.96.96 0 0 1 0-1.92m13.838 0a.96.96 0 1 1 0 1.92a.96.96 0 0 1 0-1.92M8.489 11.458c.588.01 1.965 1.157 3.572 1.164c1.607-.007 2.984-1.155 3.572-1.164c.196-.003.305.12.305.454c0 .886-.424 2.328-1.563 3.202c-.22-.756-1.396-1.366-1.63-1.32q-.011.001-.02.006l-.044.026l-.01.008l-.03.024q-.018.017-.035.036l-.032.04a1 1 0 0 0-.058.09l-.014.025q-.049.088-.11.19a1 1 0 0 1-.083.116a1.2 1.2 0 0 1-.173.18q-.035.029-.075.058a1.3 1.3 0 0 1-.251-.243a1 1 0 0 1-.076-.107c-.124-.193-.177-.363-.337-.444c-.034-.016-.104-.008-.2.022q-.094.03-.216.087q-.06.028-.125.063l-.13.074q-.067.04-.136.086a3 3 0 0 0-.135.096a3 3 0 0 0-.26.219a2 2 0 0 0-.12.121a2 2 0 0 0-.106.128l-.002.002a2 2 0 0 0-.09.132l-.001.001a1.2 1.2 0 0 0-.105.212q-.013.036-.024.073c-1.139-.875-1.563-2.317-1.563-3.203c0-.334.109-.457.305-.454m.836 10.354c.824-1.19.766-2.082-.365-3.194c-1.13-1.112-1.789-2.738-1.789-2.738s-.246-.945-.806-.858s-.97 1.499.202 2.362c1.173.864-.233 1.45-.685.64c-.45-.812-1.683-2.896-2.322-3.295s-1.089-.175-.938.647s2.822 2.813 2.562 3.244s-1.176-.506-1.176-.506s-2.866-2.567-3.49-1.898s.473 1.23 2.037 2.16c1.564.932 1.686 1.178 1.464 1.53s-3.675-2.511-4-1.297c-.323 1.214 3.524 1.567 3.287 2.405c-.238.839-2.71-1.587-3.216-.642c-.506.946 3.49 2.056 3.522 2.064c1.29.33 4.568 1.028 5.713-.624m5.349 0c-.824-1.19-.766-2.082.365-3.194c1.13-1.112 1.789-2.738 1.789-2.738s.246-.945.806-.858s.97 1.499-.202 2.362c-1.173.864.233 1.45.685.64c.451-.812 1.683-2.896 2.322-3.295s1.089-.175.938.647s-2.822 2.813-2.562 3.244s1.176-.506 1.176-.506s2.866-2.567 3.49-1.898s-.473 1.23-2.037 2.16c-1.564.932-1.686 1.178-1.464 1.53s3.675-2.511 4-1.297c.323 1.214-3.524 1.567-3.287 2.405c.238.839 2.71-1.587 3.216-.642c.506.946-3.49 2.056-3.522 2.064c-1.29.33-4.568 1.028-5.713-.624"/&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-1 min-w-0"&gt;
&lt;h3 id="hb-embed-title-hb-embed-d2148de5094168c9b97833601aca9139" class="text-xl font-bold tracking-tight leading-tight truncate"&gt;
&lt;a href="https://huggingface.co/google/embeddinggemma-300m" target="_blank" rel="noopener" class="text-zinc-900 dark:text-zinc-100 hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200"&gt;google/embeddinggemma-300m&lt;/a&gt;
&lt;/h3&gt;
&lt;div class="flex items-center gap-2 mt-1"&gt;
&lt;span class="inline-block w-2 h-2 rounded-full bg-secondary-500"&gt;&lt;/span&gt;
&lt;span class="text-sm text-zinc-600 dark:text-zinc-400 capitalize"&gt;
sentence-similarity
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;a href="https://huggingface.co/google/embeddinggemma-300m" target="_blank" rel="noopener" class="text-zinc-400 hover:text-primary-500 transition-colors duration-200"&gt;
&lt;svg class="w-5 h-5 hb-embed-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"/&gt;&lt;/svg&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="p-6 space-y-4"&gt;
&lt;div class="flex items-center gap-6 pt-2"&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-primary-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"/&gt;&lt;/svg&gt;&lt;span id="hb-hb-embed-d2148de5094168c9b97833601aca9139-downloads"&gt;1.95828M&lt;/span&gt;&lt;/div&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-secondary-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21 8.25c0-2.485-2.099-4.5-4.687-4.5c-1.936 0-3.598 1.126-4.313 2.733c-.715-1.607-2.377-2.733-4.312-2.733C5.098 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12"/&gt;&lt;/svg&gt;&lt;span id="hb-hb-embed-d2148de5094168c9b97833601aca9139-likes"&gt;1.664k&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="absolute inset-0 pointer-events-none bg-gradient-to-r from-primary-500/0 via-primary-500/5 to-secondary-500/0 opacity-0 group-hover:opacity-100 transition-opacity duration-300"&gt;&lt;/div&gt;
&lt;div class="sr-only" data-hb-component="embed" data-hb-version="1.0" data-hb-license="MIT"&gt;
Powered by Hugo Blox Kit - https://github.com/HugoBlox/kit
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;HuggingFace Dataset&lt;/p&gt;
&lt;div class="group bg-white/90 dark:bg-zinc-900/90 backdrop-blur-sm rounded-2xl ring-1 ring-zinc-900/5 dark:ring-white/10 shadow-lg overflow-hidden transition-all duration-300 ease-out hover:shadow-xl hover:shadow-primary-500/10 hover:-translate-y-1 focus-within:ring-2 focus-within:ring-primary-500/50 my-6" role="article" aria-labelledby="hb-embed-title-hb-embed-447e67c9a87572342e3f6edd96735ef7"&gt;
&lt;div class="flex items-center gap-3 p-6 border-b border-zinc-100 dark:border-zinc-800"&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;div class="w-10 h-10 rounded-full bg-gradient-to-br from-yellow-400 to-orange-500 flex items-center justify-center"&gt;
&lt;svg class="w-6 h-6 text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="currentColor" d="M12.025 1.13c-5.77 0-10.449 4.647-10.449 10.378c0 1.112.178 2.181.503 3.185c.064-.222.203-.444.416-.577a.96.96 0 0 1 .524-.15c.293 0 .584.124.84.284c.278.173.48.408.71.694c.226.282.458.611.684.951v-.014c.017-.324.106-.622.264-.874s.403-.487.762-.543c.3-.047.596.06.787.203s.31.313.4.467c.15.257.212.468.233.542c.01.026.653 1.552 1.657 2.54c.616.605 1.01 1.223 1.082 1.912c.055.537-.096 1.059-.38 1.572c.637.121 1.294.187 1.967.187c.657 0 1.298-.063 1.921-.178c-.287-.517-.44-1.041-.384-1.581c.07-.69.465-1.307 1.081-1.913c1.004-.987 1.647-2.513 1.657-2.539c.021-.074.083-.285.233-.542c.09-.154.208-.323.4-.467a1.08 1.08 0 0 1 .787-.203c.359.056.604.29.762.543s.247.55.265.874v.015c.225-.34.457-.67.683-.952c.23-.286.432-.52.71-.694c.257-.16.547-.284.84-.285a.97.97 0 0 1 .524.151c.228.143.373.388.43.625l.006.04a10.3 10.3 0 0 0 .534-3.273c0-5.731-4.678-10.378-10.449-10.378M8.327 6.583a1.5 1.5 0 0 1 .713.174a1.487 1.487 0 0 1 .617 2.013c-.183.343-.762-.214-1.102-.094c-.38.134-.532.914-.917.71a1.487 1.487 0 0 1 .69-2.803m7.486 0a1.487 1.487 0 0 1 .689 2.803c-.385.204-.536-.576-.916-.71c-.34-.12-.92.437-1.103.094a1.487 1.487 0 0 1 .617-2.013a1.5 1.5 0 0 1 .713-.174m-10.68 1.55a.96.96 0 1 1 0 1.921a.96.96 0 0 1 0-1.92m13.838 0a.96.96 0 1 1 0 1.92a.96.96 0 0 1 0-1.92M8.489 11.458c.588.01 1.965 1.157 3.572 1.164c1.607-.007 2.984-1.155 3.572-1.164c.196-.003.305.12.305.454c0 .886-.424 2.328-1.563 3.202c-.22-.756-1.396-1.366-1.63-1.32q-.011.001-.02.006l-.044.026l-.01.008l-.03.024q-.018.017-.035.036l-.032.04a1 1 0 0 0-.058.09l-.014.025q-.049.088-.11.19a1 1 0 0 1-.083.116a1.2 1.2 0 0 1-.173.18q-.035.029-.075.058a1.3 1.3 0 0 1-.251-.243a1 1 0 0 1-.076-.107c-.124-.193-.177-.363-.337-.444c-.034-.016-.104-.008-.2.022q-.094.03-.216.087q-.06.028-.125.063l-.13.074q-.067.04-.136.086a3 3 0 0 0-.135.096a3 3 0 0 0-.26.219a2 2 0 0 0-.12.121a2 2 0 0 0-.106.128l-.002.002a2 2 0 0 0-.09.132l-.001.001a1.2 1.2 0 0 0-.105.212q-.013.036-.024.073c-1.139-.875-1.563-2.317-1.563-3.203c0-.334.109-.457.305-.454m.836 10.354c.824-1.19.766-2.082-.365-3.194c-1.13-1.112-1.789-2.738-1.789-2.738s-.246-.945-.806-.858s-.97 1.499.202 2.362c1.173.864-.233 1.45-.685.64c-.45-.812-1.683-2.896-2.322-3.295s-1.089-.175-.938.647s2.822 2.813 2.562 3.244s-1.176-.506-1.176-.506s-2.866-2.567-3.49-1.898s.473 1.23 2.037 2.16c1.564.932 1.686 1.178 1.464 1.53s-3.675-2.511-4-1.297c-.323 1.214 3.524 1.567 3.287 2.405c-.238.839-2.71-1.587-3.216-.642c-.506.946 3.49 2.056 3.522 2.064c1.29.33 4.568 1.028 5.713-.624m5.349 0c-.824-1.19-.766-2.082.365-3.194c1.13-1.112 1.789-2.738 1.789-2.738s.246-.945.806-.858s.97 1.499-.202 2.362c-1.173.864.233 1.45.685.64c.451-.812 1.683-2.896 2.322-3.295s1.089-.175.938.647s-2.822 2.813-2.562 3.244s1.176-.506 1.176-.506s2.866-2.567 3.49-1.898s-.473 1.23-2.037 2.16c-1.564.932-1.686 1.178-1.464 1.53s3.675-2.511 4-1.297c.323 1.214-3.524 1.567-3.287 2.405c.238.839 2.71-1.587 3.216-.642c.506.946-3.49 2.056-3.522 2.064c-1.29.33-4.568 1.028-5.713-.624"/&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-1 min-w-0"&gt;
&lt;h3 id="hb-embed-title-hb-embed-447e67c9a87572342e3f6edd96735ef7" class="text-xl font-bold tracking-tight leading-tight truncate"&gt;
&lt;a href="https://huggingface.co/datasets/fka/awesome-chatgpt-prompts" target="_blank" rel="noopener" class="text-zinc-900 dark:text-zinc-100 hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200"&gt;fka/prompts.chat&lt;/a&gt;
&lt;/h3&gt;
&lt;div class="flex items-center gap-2 mt-1"&gt;
&lt;span class="inline-block w-2 h-2 rounded-full bg-primary-500"&gt;&lt;/span&gt;
&lt;span class="text-sm text-zinc-600 dark:text-zinc-400 capitalize"&gt;
dataset
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;a href="https://huggingface.co/datasets/fka/awesome-chatgpt-prompts" target="_blank" rel="noopener" class="text-zinc-400 hover:text-primary-500 transition-colors duration-200"&gt;
&lt;svg class="w-5 h-5 hb-embed-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"/&gt;&lt;/svg&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="p-6 space-y-4"&gt;
&lt;p class="text-zinc-600 dark:text-zinc-400 text-base leading-relaxed line-clamp-3"&gt;
a.k.a. Awesome ChatGPT Prompts
This is a Dataset Repository mirror of prompts.chat — a social platform for AI prompts.
📢 Notice
This Hugging Face dataset is a mirror. For the …
&lt;/p&gt;&lt;div class="flex items-center gap-6 pt-2"&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-primary-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"/&gt;&lt;/svg&gt;&lt;span id="hb-hb-embed-447e67c9a87572342e3f6edd96735ef7-downloads"&gt;38.894k&lt;/span&gt;&lt;/div&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-secondary-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21 8.25c0-2.485-2.099-4.5-4.687-4.5c-1.936 0-3.598 1.126-4.313 2.733c-.715-1.607-2.377-2.733-4.312-2.733C5.098 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12"/&gt;&lt;/svg&gt;&lt;span id="hb-hb-embed-447e67c9a87572342e3f6edd96735ef7-likes"&gt;9.702k&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="absolute inset-0 pointer-events-none bg-gradient-to-r from-primary-500/0 via-primary-500/5 to-secondary-500/0 opacity-0 group-hover:opacity-100 transition-opacity duration-300"&gt;&lt;/div&gt;
&lt;div class="sr-only" data-hb-component="embed" data-hb-version="1.0" data-hb-license="MIT"&gt;
Powered by Hugo Blox Kit - https://github.com/HugoBlox/kit
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;GitHub Repository&lt;/p&gt;
&lt;div class="group bg-white/90 dark:bg-zinc-900/90 backdrop-blur-sm rounded-2xl ring-1 ring-zinc-900/5 dark:ring-white/10 shadow-lg overflow-hidden transition-all duration-300 ease-out hover:shadow-xl hover:shadow-primary-500/10 hover:-translate-y-1 focus-within:ring-2 focus-within:ring-primary-500/50 my-6" role="article" aria-labelledby="hb-embed-title-hb-embed-68509e0cacbde01a6edba6e6a9c0d758"&gt;
&lt;div class="flex items-center gap-3 p-6 border-b border-zinc-100 dark:border-zinc-800"&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;div class="w-10 h-10 rounded-full bg-gradient-to-br from-slate-800 to-slate-900 flex items-center justify-center"&gt;
&lt;svg class="w-6 h-6 text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-1 min-w-0"&gt;
&lt;h3 id="hb-embed-title-hb-embed-68509e0cacbde01a6edba6e6a9c0d758" class="text-xl font-bold tracking-tight leading-tight truncate"&gt;
&lt;a href="https://github.com/HugoBlox/kit" target="_blank" rel="noopener" class="text-zinc-900 dark:text-zinc-100 hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200"&gt;kit&lt;/a&gt;
&lt;/h3&gt;
&lt;div class="flex items-center gap-2 mt-1"&gt;
&lt;span class="text-sm text-zinc-600 dark:text-zinc-400"&gt;by
&lt;a href="https://github.com/HugoBlox" target="_blank" rel="noopener" class="font-medium hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200"&gt;HugoBlox&lt;/a&gt;
&lt;/span&gt;&lt;span class="text-sm text-zinc-500 dark:text-zinc-500"&gt;•&lt;/span&gt;
&lt;span class="inline-block w-2 h-2 rounded-full bg-primary-500"&gt;&lt;/span&gt;
&lt;span class="text-sm text-zinc-500 dark:text-zinc-500 capitalize"&gt;HTML&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;a href="https://github.com/HugoBlox/kit" target="_blank" rel="noopener" class="text-zinc-400 hover:text-primary-500 transition-colors duration-200"&gt;
&lt;svg class="w-5 h-5 hb-embed-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"/&gt;&lt;/svg&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="p-6 space-y-4"&gt;
&lt;p class="text-zinc-600 dark:text-zinc-400 text-base leading-relaxed line-clamp-3"&gt;
🧱 Describe your site, AI builds it, you own it as Markdown. Snap together Tailwind blocks like Lego — landing pages, blogs, portfolios, docs &amp;amp; more. No AI slop. Free to deploy anywhere 👇
&lt;/p&gt;&lt;div class="flex items-center gap-6 pt-2"&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-primary-500" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"&gt;&lt;path d="M6 2C4.89543 2 4 2.89543 4 4C4 4.74028 4.4022 5.38663 5 5.73244V7C5 8.65685 6.34315 10 8 10H10V11.2676C9.4022 11.6134 9 12.2597 9 13C9 14.1046 9.89543 15 11 15C12.1046 15 13 14.1046 13 13C13 12.2597 12.5978 11.6134 12 11.2676V10H14C15.6569 10 17 8.65685 17 7V5.73244C17.5978 5.38663 18 4.74028 18 4C18 2.89543 17.1046 2 16 2C14.8954 2 14 2.89543 14 4C14 4.74028 14.4022 5.38663 15 5.73244V7C15 7.55228 14.5523 8 14 8H8C7.44772 8 7 7.55228 7 7V5.73244C7.5978 5.38663 8 4.74028 8 4C8 2.89543 7.10457 2 6 2ZM6 4C6 3.44772 6.44772 3 7 3C7.55228 3 8 3.44772 8 4C8 4.55228 7.55228 5 7 5C6.44772 5 6 4.55228 6 4ZM11 13C11 12.4477 11.4477 12 12 12C12.5523 12 13 12.4477 13 13C13 13.5523 12.5523 14 12 14C11.4477 14 11 13.5523 11 13ZM16 3C15.4477 3 15 3.44772 15 4C15 4.55228 15.4477 5 16 5C16.5523 5 17 4.55228 17 4C17 3.44772 16.5523 3 16 3Z"/&gt;&lt;/svg&gt;&lt;span id="hb-hb-embed-68509e0cacbde01a6edba6e6a9c0d758-forks"&gt;2.938k&lt;/span&gt;&lt;/div&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-red-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9 3.75h.008v.008H12z"/&gt;&lt;/svg&gt;
&lt;a href="https://github.com/HugoBlox/kit/issues" target="_blank" rel="noopener" class="font-medium hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200" id="hb-hb-embed-68509e0cacbde01a6edba6e6a9c0d758-issues"&gt;6&lt;/a&gt;&lt;/div&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-yellow-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.56.56 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.56.56 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.56.56 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.56.56 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.56.56 0 0 0 .475-.345z"/&gt;&lt;/svg&gt;&lt;span id="hb-hb-embed-68509e0cacbde01a6edba6e6a9c0d758-stars"&gt;9.442k&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="flex flex-wrap gap-1 pt-2"&gt;&lt;span class="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/40 dark:text-primary-300"&gt;
academic
&lt;/span&gt;&lt;span class="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/40 dark:text-primary-300"&gt;
blog
&lt;/span&gt;&lt;span class="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/40 dark:text-primary-300"&gt;
documentation-tool
&lt;/span&gt;&lt;span class="text-xs text-zinc-500 dark:text-zinc-500"&gt;+17&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="absolute inset-0 pointer-events-none bg-gradient-to-r from-primary-500/0 via-primary-500/5 to-secondary-500/0 opacity-0 group-hover:opacity-100 transition-opacity duration-300"&gt;&lt;/div&gt;
&lt;div class="sr-only" data-hb-component="embed" data-hb-version="1.0" data-hb-license="MIT"&gt;
Powered by Hugo Blox Kit - https://github.com/HugoBlox/kit
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Custom embed with manual data&lt;/p&gt;
&lt;div class="group bg-white/90 dark:bg-zinc-900/90 backdrop-blur-sm rounded-2xl ring-1 ring-zinc-900/5 dark:ring-white/10 shadow-lg overflow-hidden transition-all duration-300 ease-out hover:shadow-xl hover:shadow-primary-500/10 hover:-translate-y-1 focus-within:ring-2 focus-within:ring-primary-500/50 my-6" role="article" aria-labelledby="hb-embed-title-hb-embed-1aefddb992c3c49347781994bab97a6b"&gt;
&lt;div class="flex items-center gap-3 p-6 border-b border-zinc-100 dark:border-zinc-800"&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;div class="w-10 h-10 rounded-full bg-gradient-to-br from-zinc-700 to-zinc-800 flex items-center justify-center"&gt;
&lt;svg class="w-5 h-5 text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a9 9 0 0 1 7.843 4.582M12 3a9 9 0 0 0-7.843 4.582m15.686 0A11.95 11.95 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.96 8.96 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.9 17.9 0 0 1 12 16.5a17.9 17.9 0 0 1-8.716-2.247m0 0A9 9 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418"/&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-1 min-w-0"&gt;
&lt;h3 id="hb-embed-title-hb-embed-1aefddb992c3c49347781994bab97a6b" class="text-xl font-bold tracking-tight leading-tight truncate"&gt;
&lt;a href="https://example.com" target="_blank" rel="noopener" class="text-zinc-900 dark:text-zinc-100 hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200"&gt;My Custom Resource&lt;/a&gt;
&lt;/h3&gt;
&lt;div class="flex items-center gap-2 mt-1"&gt;
&lt;span class="text-sm text-zinc-500 dark:text-zinc-500"&gt;example.com&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;a href="https://example.com" target="_blank" rel="noopener" class="text-zinc-400 hover:text-primary-500 transition-colors duration-200"&gt;
&lt;svg class="w-5 h-5 hb-embed-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"/&gt;&lt;/svg&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="p-6 space-y-4"&gt;
&lt;p class="text-zinc-600 dark:text-zinc-400 text-base leading-relaxed line-clamp-3"&gt;
A great resource for learning
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="absolute inset-0 pointer-events-none bg-gradient-to-r from-primary-500/0 via-primary-500/5 to-secondary-500/0 opacity-0 group-hover:opacity-100 transition-opacity duration-300"&gt;&lt;/div&gt;
&lt;div class="sr-only" data-hb-component="embed" data-hb-version="1.0" data-hb-license="MIT"&gt;
Powered by Hugo Blox Kit - https://github.com/HugoBlox/kit
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="custom-images"&gt;Custom Images&lt;/h3&gt;
&lt;p&gt;Embed beautiful images from any source with Hugo image processing (Unsplash, custom URLs, etc.):&lt;/p&gt;
&lt;div class="group bg-white/90 dark:bg-zinc-900/90 backdrop-blur-sm rounded-2xl ring-1 ring-zinc-900/5 dark:ring-white/10 shadow-lg overflow-hidden transition-all duration-300 ease-out hover:shadow-xl hover:shadow-primary-500/10 hover:-translate-y-1 focus-within:ring-2 focus-within:ring-primary-500/50 my-6" role="article" aria-labelledby="hb-embed-title-hb-embed-084aa2fb77d8a3b6367e9fb34ef5cc3c"&gt;
&lt;div class="flex items-center gap-3 p-6 border-b border-zinc-100 dark:border-zinc-800"&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;div class="w-10 h-10 rounded-full bg-gradient-to-br from-zinc-700 to-zinc-800 flex items-center justify-center"&gt;
&lt;svg class="w-5 h-5 text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a9 9 0 0 1 7.843 4.582M12 3a9 9 0 0 0-7.843 4.582m15.686 0A11.95 11.95 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.96 8.96 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.9 17.9 0 0 1 12 16.5a17.9 17.9 0 0 1-8.716-2.247m0 0A9 9 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418"/&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-1 min-w-0"&gt;
&lt;h3 id="hb-embed-title-hb-embed-084aa2fb77d8a3b6367e9fb34ef5cc3c" class="text-xl font-bold tracking-tight leading-tight truncate"&gt;
&lt;a href="https://example.com" target="_blank" rel="noopener" class="text-zinc-900 dark:text-zinc-100 hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200"&gt;Data Visualization Guide&lt;/a&gt;
&lt;/h3&gt;
&lt;div class="flex items-center gap-2 mt-1"&gt;
&lt;span class="text-sm text-zinc-500 dark:text-zinc-500"&gt;example.com&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;a href="https://example.com" target="_blank" rel="noopener" class="text-zinc-400 hover:text-primary-500 transition-colors duration-200"&gt;
&lt;svg class="w-5 h-5 hb-embed-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"/&gt;&lt;/svg&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="p-6 space-y-4"&gt;
&lt;div class="mb-4 overflow-hidden rounded-lg"&gt;
&lt;img class="w-full h-auto transition-transform duration-500 ease-out group-hover:scale-105"
srcset="https://guisellearmstrong.com/photo-1514888286974-6c03e2ca1dba_18145305924448453957_hu_a708a41179cb7a3b.webp 400w, https://guisellearmstrong.com/photo-1514888286974-6c03e2ca1dba_18145305924448453957_hu_cff1081e0b153ec5.webp 600w, https://guisellearmstrong.com/photo-1514888286974-6c03e2ca1dba_18145305924448453957_hu_1a74ffc4ef729678.webp 800w, https://guisellearmstrong.com/photo-1514888286974-6c03e2ca1dba_18145305924448453957_hu_726e43da04ad74ce.webp 800w"
sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw"
src="https://guisellearmstrong.com/photo-1514888286974-6c03e2ca1dba_18145305924448453957_hu_a708a41179cb7a3b.webp"
width="400"
height="300"
loading="lazy"
decoding="async"
alt="Beautiful data visualization workspace"
style="aspect-ratio: 400/300;"&gt;
&lt;/div&gt;&lt;p class="text-zinc-600 dark:text-zinc-400 text-base leading-relaxed line-clamp-3"&gt;
Beautiful data visualization workspace
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="absolute inset-0 pointer-events-none bg-gradient-to-r from-primary-500/0 via-primary-500/5 to-secondary-500/0 opacity-0 group-hover:opacity-100 transition-opacity duration-300"&gt;&lt;/div&gt;
&lt;div class="sr-only" data-hb-component="embed" data-hb-version="1.0" data-hb-license="MIT"&gt;
Powered by Hugo Blox Kit - https://github.com/HugoBlox/kit
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can also add images to any platform embed:&lt;/p&gt;
&lt;div class="group bg-white/90 dark:bg-zinc-900/90 backdrop-blur-sm rounded-2xl ring-1 ring-zinc-900/5 dark:ring-white/10 shadow-lg overflow-hidden transition-all duration-300 ease-out hover:shadow-xl hover:shadow-primary-500/10 hover:-translate-y-1 focus-within:ring-2 focus-within:ring-primary-500/50 my-6" role="article" aria-labelledby="hb-embed-title-hb-embed-0908a8334f605e17ee4d70e6d42c2576"&gt;
&lt;div class="flex items-center gap-3 p-6 border-b border-zinc-100 dark:border-zinc-800"&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;div class="w-10 h-10 rounded-full bg-gradient-to-br from-slate-800 to-slate-900 flex items-center justify-center"&gt;
&lt;svg class="w-6 h-6 text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-1 min-w-0"&gt;
&lt;h3 id="hb-embed-title-hb-embed-0908a8334f605e17ee4d70e6d42c2576" class="text-xl font-bold tracking-tight leading-tight truncate"&gt;
&lt;a href="https://github.com/plotly/plotly.py" target="_blank" rel="noopener" class="text-zinc-900 dark:text-zinc-100 hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200"&gt;plotly.py&lt;/a&gt;
&lt;/h3&gt;
&lt;div class="flex items-center gap-2 mt-1"&gt;
&lt;span class="text-sm text-zinc-600 dark:text-zinc-400"&gt;by
&lt;a href="https://github.com/plotly" target="_blank" rel="noopener" class="font-medium hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200"&gt;plotly&lt;/a&gt;
&lt;/span&gt;&lt;span class="text-sm text-zinc-500 dark:text-zinc-500"&gt;•&lt;/span&gt;
&lt;span class="inline-block w-2 h-2 rounded-full bg-primary-500"&gt;&lt;/span&gt;
&lt;span class="text-sm text-zinc-500 dark:text-zinc-500 capitalize"&gt;Python&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flex-shrink-0"&gt;
&lt;a href="https://github.com/plotly/plotly.py" target="_blank" rel="noopener" class="text-zinc-400 hover:text-primary-500 transition-colors duration-200"&gt;
&lt;svg class="w-5 h-5 hb-embed-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"/&gt;&lt;/svg&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="p-6 space-y-4"&gt;
&lt;div class="mb-4 overflow-hidden rounded-lg"&gt;
&lt;img class="w-full h-auto transition-transform duration-500 ease-out group-hover:scale-105"
srcset="https://guisellearmstrong.com/photo-1551288049-bebda4e38f71_10164962980614054447_hu_d3444b96623d5e63.webp 400w, https://guisellearmstrong.com/photo-1551288049-bebda4e38f71_10164962980614054447_hu_33e635b38f6b9210.webp 600w, https://guisellearmstrong.com/photo-1551288049-bebda4e38f71_10164962980614054447_hu_d6df8572f70c81ca.webp 600w"
sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw"
src="https://guisellearmstrong.com/photo-1551288049-bebda4e38f71_10164962980614054447_hu_d3444b96623d5e63.webp"
width="400"
height="267"
loading="lazy"
decoding="async"
alt="plotly.py"
style="aspect-ratio: 400/267;"&gt;
&lt;/div&gt;&lt;p class="text-zinc-600 dark:text-zinc-400 text-base leading-relaxed line-clamp-3"&gt;
The interactive graphing library for Python ✨
&lt;/p&gt;&lt;div class="flex items-center gap-6 pt-2"&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-primary-500" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"&gt;&lt;path d="M6 2C4.89543 2 4 2.89543 4 4C4 4.74028 4.4022 5.38663 5 5.73244V7C5 8.65685 6.34315 10 8 10H10V11.2676C9.4022 11.6134 9 12.2597 9 13C9 14.1046 9.89543 15 11 15C12.1046 15 13 14.1046 13 13C13 12.2597 12.5978 11.6134 12 11.2676V10H14C15.6569 10 17 8.65685 17 7V5.73244C17.5978 5.38663 18 4.74028 18 4C18 2.89543 17.1046 2 16 2C14.8954 2 14 2.89543 14 4C14 4.74028 14.4022 5.38663 15 5.73244V7C15 7.55228 14.5523 8 14 8H8C7.44772 8 7 7.55228 7 7V5.73244C7.5978 5.38663 8 4.74028 8 4C8 2.89543 7.10457 2 6 2ZM6 4C6 3.44772 6.44772 3 7 3C7.55228 3 8 3.44772 8 4C8 4.55228 7.55228 5 7 5C6.44772 5 6 4.55228 6 4ZM11 13C11 12.4477 11.4477 12 12 12C12.5523 12 13 12.4477 13 13C13 13.5523 12.5523 14 12 14C11.4477 14 11 13.5523 11 13ZM16 3C15.4477 3 15 3.44772 15 4C15 4.55228 15.4477 5 16 5C16.5523 5 17 4.55228 17 4C17 3.44772 16.5523 3 16 3Z"/&gt;&lt;/svg&gt;&lt;span id="hb-hb-embed-0908a8334f605e17ee4d70e6d42c2576-forks"&gt;2.806k&lt;/span&gt;&lt;/div&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-red-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9 3.75h.008v.008H12z"/&gt;&lt;/svg&gt;
&lt;a href="https://github.com/plotly/plotly.py/issues" target="_blank" rel="noopener" class="font-medium hover:text-primary-600 dark:hover:text-primary-400 hover:underline transition-colors duration-200" id="hb-hb-embed-0908a8334f605e17ee4d70e6d42c2576-issues"&gt;757&lt;/a&gt;&lt;/div&gt;&lt;div class="flex items-center gap-1.5 text-sm text-zinc-600 dark:text-zinc-400"&gt;
&lt;svg class="w-4 h-4 text-yellow-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.56.56 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.56.56 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.56.56 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.56.56 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.56.56 0 0 0 .475-.345z"/&gt;&lt;/svg&gt;&lt;span id="hb-hb-embed-0908a8334f605e17ee4d70e6d42c2576-stars"&gt;18.551k&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="flex flex-wrap gap-1 pt-2"&gt;&lt;span class="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/40 dark:text-primary-300"&gt;
d3
&lt;/span&gt;&lt;span class="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/40 dark:text-primary-300"&gt;
dashboard
&lt;/span&gt;&lt;span class="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/40 dark:text-primary-300"&gt;
declarative
&lt;/span&gt;&lt;span class="text-xs text-zinc-500 dark:text-zinc-500"&gt;+11&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="absolute inset-0 pointer-events-none bg-gradient-to-r from-primary-500/0 via-primary-500/5 to-secondary-500/0 opacity-0 group-hover:opacity-100 transition-opacity duration-300"&gt;&lt;/div&gt;
&lt;div class="sr-only" data-hb-component="embed" data-hb-version="1.0" data-hb-license="MIT"&gt;
Powered by Hugo Blox Kit - https://github.com/HugoBlox/kit
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="charts"&gt;Charts&lt;/h2&gt;
&lt;p&gt;Hugo Blox supports the popular &lt;a href="https://plot.ly/" target="_blank" rel="noopener"&gt;Plotly&lt;/a&gt; format for interactive data visualizations. With Plotly, you can design almost any kind of visualization you can imagine!&lt;/p&gt;
&lt;p&gt;Save your Plotly JSON in your page folder, for example &lt;code&gt;line-chart.json&lt;/code&gt;, and then add the &lt;code&gt;{{&amp;lt; chart data=&amp;quot;line-chart&amp;quot; &amp;gt;}}&lt;/code&gt; shortcode where you would like the chart to appear.&lt;/p&gt;
&lt;p&gt;Demo:&lt;/p&gt;
&lt;div id="chart-918642357" class="chart"&gt;&lt;/div&gt;
&lt;script&gt;
(function() {
async function fetchChartJSON() {
console.debug('Hugo Blox fetching chart JSON...')
const response = await fetch('.\/line-chart.json');
return await response.json();
}
let a = setInterval( function() {
if ( typeof window.Plotly === 'undefined' ) {
console.debug('Plotly not loaded yet...')
return;
}
clearInterval( a );
fetchChartJSON().then(chart =&gt; {
console.debug('Plotting chart...')
window.Plotly.newPlot('chart-918642357', chart.data, chart.layout, {responsive: true});
});
}, 500 );
})();
&lt;/script&gt;
&lt;p&gt;You might also find the &lt;a href="http://plotly-json-editor.getforge.io/" target="_blank" rel="noopener"&gt;Plotly JSON Editor&lt;/a&gt; useful.&lt;/p&gt;
&lt;h2 id="diagrams"&gt;Diagrams&lt;/h2&gt;
&lt;p&gt;Hugo Blox supports the &lt;em&gt;Mermaid&lt;/em&gt; Markdown extension for diagrams.&lt;/p&gt;
&lt;p&gt;An example &lt;strong&gt;flowchart&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
graph TD
A[Hard] --&amp;gt;|Text| B(Round)
B --&amp;gt; C{Decision}
C --&amp;gt;|One| D[Result 1]
C --&amp;gt;|Two| E[Result 2]
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="mermaid"&gt;graph TD
A[Hard] --&gt;|Text| B(Round)
B --&gt; C{Decision}
C --&gt;|One| D[Result 1]
C --&gt;|Two| E[Result 2]
&lt;/div&gt;
&lt;p&gt;An example &lt;strong&gt;sequence diagram&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
sequenceDiagram
Alice-&amp;gt;&amp;gt;John: Hello John, how are you?
loop Healthcheck
John-&amp;gt;&amp;gt;John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John--&amp;gt;&amp;gt;Alice: Great!
John-&amp;gt;&amp;gt;Bob: How about you?
Bob--&amp;gt;&amp;gt;John: Jolly good!
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="mermaid"&gt;sequenceDiagram
Alice-&gt;&gt;John: Hello John, how are you?
loop Healthcheck
John-&gt;&gt;John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John--&gt;&gt;Alice: Great!
John-&gt;&gt;Bob: How about you?
Bob--&gt;&gt;John: Jolly good!
&lt;/div&gt;
&lt;p&gt;An example &lt;strong&gt;class diagram&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
classDiagram
Class01 &amp;lt;|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --&amp;gt; C2 : Where am i?
Class09 --* C3
Class09 --|&amp;gt; Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 &amp;lt;--&amp;gt; C2: Cool label
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="mermaid"&gt;classDiagram
Class01 &lt;|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --&gt; C2 : Where am i?
Class09 --* C3
Class09 --|&gt; Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 &lt;--&gt; C2: Cool label
&lt;/div&gt;
&lt;p&gt;An example &lt;strong&gt;state diagram&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
stateDiagram
[*] --&amp;gt; Still
Still --&amp;gt; [*]
Still --&amp;gt; Moving
Moving --&amp;gt; Still
Moving --&amp;gt; Crash
Crash --&amp;gt; [*]
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="mermaid"&gt;stateDiagram
[*] --&gt; Still
Still --&gt; [*]
Still --&gt; Moving
Moving --&gt; Still
Moving --&gt; Crash
Crash --&gt; [*]
&lt;/div&gt;
&lt;h2 id="data-frames"&gt;Data Frames&lt;/h2&gt;
&lt;p&gt;Save your spreadsheet as a CSV file in your page&amp;rsquo;s folder and then render it by adding the &lt;em&gt;Table&lt;/em&gt; shortcode to your page:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{&amp;lt; &lt;span style="color:#a6e22e"&gt;table&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;path&lt;/span&gt;=&lt;span style="color:#e6db74"&gt;&amp;#34;results.csv&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;header&lt;/span&gt;=&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;caption&lt;/span&gt;=&lt;span style="color:#e6db74"&gt;&amp;#34;Table 1: My results&amp;#34;&lt;/span&gt; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;table class="table-auto w-full"&gt;
&lt;thead&gt;
&lt;tr&gt; &lt;th class="border-b dark:border-slate-600 font-medium p-4 pt-0 pb-3 text-slate-400 dark:text-slate-200 text-left"&gt;customer_id&lt;/th&gt; &lt;th class="border-b dark:border-slate-600 font-medium p-4 pt-0 pb-3 text-slate-400 dark:text-slate-200 text-left"&gt;score&lt;/th&gt; &lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td data-table-dtype="number" class="border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400"&gt;1&lt;/td&gt;
&lt;td data-table-dtype="number" class="border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400"&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td data-table-dtype="number" class="border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400"&gt;2&lt;/td&gt;
&lt;td data-table-dtype="text" class="border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400"&gt;0.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td data-table-dtype="number" class="border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400"&gt;3&lt;/td&gt;
&lt;td data-table-dtype="number" class="border-b border-slate-100 dark:border-slate-700 p-4 text-slate-500 dark:text-slate-400"&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;caption class="table-caption"&gt;Table 1: My results&lt;/caption&gt;
&lt;/table&gt;
&lt;h2 id="interactive-buttons"&gt;Interactive Buttons&lt;/h2&gt;
&lt;p&gt;Add engaging call-to-action buttons to your data visualization posts:&lt;/p&gt;
&lt;h3 id="basic-buttons"&gt;Basic Buttons&lt;/h3&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-7bede79551130aaa6dde489e6c01c8df"
href="https://guisellearmstrong.com/"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-primary-500 to-primary-600 hover:from-primary-600 hover:to-primary-700 active:from-primary-700 active:to-primary-800 text-white shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-0.5 hover:scale-[1.02] active:scale-[0.98] focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Contact Us"
&gt;
&lt;span&gt;Contact Us&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-17a57e0a6d8eb75eb5de617bf5782c58"
href="https://plotly.com/python/"
target="_blank"
rel="noopener noreferrer"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-secondary-500 to-secondary-600 hover:from-secondary-600 hover:to-secondary-700 active:from-secondary-700 active:to-secondary-800 text-white shadow-lg shadow-secondary-500/25 hover:shadow-xl hover:shadow-secondary-500/30 hover:scale-105 active:scale-95 focus:ring-secondary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Learn Plotly"
&gt;
&lt;span&gt;Learn Plotly&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go-html-template" data-lang="go-html-template"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;/&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;Contact Us&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://plotly.com/python/&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;new_tab&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;style&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;secondary&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;Learn Plotly&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="styled-buttons-for-data-actions"&gt;Styled Buttons for Data Actions&lt;/h3&gt;
&lt;div class="text-center"&gt;
&lt;a
id="button-c998dbde23295325e1c3ca32823aca4a"
href="#"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-primary-500 to-primary-600 hover:from-primary-600 hover:to-primary-700 active:from-primary-700 active:to-primary-800 text-white shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-0.5 hover:scale-[1.02] active:scale-[0.98] focus:ring-primary-500/50 px-6 py-3 text-lg rounded-lg"
role="button"
aria-label="View Dashboard"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875zm6.75-4.5c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125zm6.75-4.5c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;View Dashboard&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-ede6faa84443717aeca5b5c7547e84ce"
href="https://guisellearmstrong.com/data/results.csv"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-white dark:bg-zinc-900 border-2 border-primary-500 text-primary-600 dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-950/50 hover:border-primary-600 active:bg-primary-100 dark:active:bg-primary-950 shadow-md hover:shadow-lg hover:scale-105 active:scale-95 focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Download Data"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Download Data&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-1674a6e1e6a9da3275eed0f3a0ced9d3"
href="https://github.com/HugoBlox"
target="_blank"
rel="noopener noreferrer"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-transparent text-primary-600 dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-950/50 active:bg-primary-100 dark:active:bg-primary-950 hover:scale-105 active:scale-95 focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="View Source Code"
&gt;
&lt;span&gt;View Source Code&lt;/span&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go-html-template" data-lang="go-html-template"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;#&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;style&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;primary&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;size&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;lg&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;align&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;center&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;icon&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;chart-bar&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;View Dashboard&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;/data/results.csv&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;style&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;outline&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;icon&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;document-arrow-down&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;Download Data&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://github.com/HugoBlox&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;new_tab&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;style&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;ghost&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;icon&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;arrow-top-right-on-square&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;icon_position&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;right&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;View Source Code&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="multiple-aligned-buttons"&gt;Multiple Aligned Buttons&lt;/h3&gt;
&lt;div class="text-center"&gt;
&lt;a
id="button-bc6f1293d680e71f3d6135c80a823491"
href="https://jupyter.org/"
target="_blank"
rel="noopener noreferrer"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-secondary-500 to-secondary-600 hover:from-secondary-600 hover:to-secondary-700 active:from-secondary-700 active:to-secondary-800 text-white shadow-lg shadow-secondary-500/25 hover:shadow-xl hover:shadow-secondary-500/30 hover:scale-105 active:scale-95 focus:ring-secondary-500/50 px-4 py-2 text-base rounded-full"
role="button"
aria-label="Try Jupyter"
&gt;
&lt;span&gt;Try Jupyter&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="text-center"&gt;
&lt;a
id="button-8605546b5ecb174b2fecb780468ad087"
href="https://colab.research.google.com/"
target="_blank"
rel="noopener noreferrer"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-primary-500 to-primary-600 hover:from-primary-600 hover:to-primary-700 active:from-primary-700 active:to-primary-800 text-white shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-0.5 hover:scale-[1.02] active:scale-[0.98] focus:ring-primary-500/50 px-4 py-2 text-base rounded-full"
role="button"
aria-label="Open in Colab"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.59 14.37q.159.666.16 1.38a6 6 0 0 1-6 6v-4.8m5.84-2.58a14.98 14.98 0 0 0 6.16-12.12A14.98 14.98 0 0 0 9.631 8.41m5.96 5.96a14.9 14.9 0 0 1-5.841 2.58m-.119-8.54a6 6 0 0 0-7.381 5.84h4.8m2.581-5.84a14.9 14.9 0 0 0-2.58 5.84m2.699 2.7q-.155.032-.311.06a15 15 0 0 1-2.448-2.448l.06-.312m-2.24 2.39a4.49 4.49 0 0 0-1.757 4.306q.341.054.696.054a4.5 4.5 0 0 0 3.61-1.812M16.5 9a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Open in Colab&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go-html-template" data-lang="go-html-template"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://jupyter.org/&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;new_tab&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;style&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;secondary&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;rounded&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;full&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;align&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;center&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;Try Jupyter&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://colab.research.google.com/&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;new_tab&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;style&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;primary&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;rounded&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;full&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;align&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;center&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;icon&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;rocket-launch&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;Open in Colab&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="did-you-find-this-page-helpful-consider-sharing-it-"&gt;Did you find this page helpful? Consider sharing it 🙌&lt;/h2&gt;</description></item><item><title>👩🏼‍🏫 Teach academic courses</title><link>https://guisellearmstrong.com/blog/teach-academic-courses/</link><pubDate>Tue, 24 Oct 2023 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/blog/teach-academic-courses/</guid><description>&lt;p&gt;&lt;a href="https://hugoblox.com" target="_blank" rel="noopener"&gt;HugoBlox Kit&lt;/a&gt; is designed to give technical content creators a seamless experience. You can focus on the content and the HugoBlox Kit which this template is built upon handles the rest.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Embed videos, podcasts, code, LaTeX math, and even test students!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On this page, you&amp;rsquo;ll find some examples of the types of technical content that can be rendered with Hugo Blox.&lt;/p&gt;
&lt;h2 id="citation"&gt;Citation&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s an example of citing a publication using the cite shortcode:&lt;/p&gt;
&lt;p&gt;You can also use the default view by omitting the view parameter:&lt;/p&gt;
&lt;h2 id="video"&gt;Video&lt;/h2&gt;
&lt;p&gt;Teach your course by sharing videos with your students. Choose from one of the following approaches:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Youtube&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; youtube D2vj0WcvH5c &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/D2vj0WcvH5c?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Bilibili&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; bilibili BV1WV4y1r7DF &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Video file&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Videos may be added to a page by either placing them in your &lt;code&gt;assets/media/&lt;/code&gt; media library or in your &lt;a href="https://gohugo.io/content-management/page-bundles/" target="_blank" rel="noopener"&gt;page&amp;rsquo;s folder&lt;/a&gt;, and then embedding them with the &lt;em&gt;video&lt;/em&gt; shortcode:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; video src=&amp;quot;my_video.mp4&amp;quot; controls=&amp;quot;yes&amp;quot; &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="podcast"&gt;Podcast&lt;/h2&gt;
&lt;p&gt;You can add a podcast or music to a page by placing the MP3 file in the page&amp;rsquo;s folder or the media library folder and then embedding the audio on your page with the &lt;em&gt;audio&lt;/em&gt; shortcode:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; audio src=&amp;quot;ambient-piano.mp3&amp;quot; &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Try it out:&lt;/p&gt;
&lt;audio controls &gt;
&lt;source src="https://guisellearmstrong.com/blog/teach-academic-courses/ambient-piano.mp3" type="audio/mpeg"&gt;
&lt;/audio&gt;
&lt;h2 id="test-students"&gt;Test students&lt;/h2&gt;
&lt;p&gt;Provide a simple yet fun self-assessment by revealing the solutions to challenges with the &lt;code&gt;spoiler&lt;/code&gt; shortcode:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{&amp;lt; spoiler text=&amp;#34;👉 Click to view the solution&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;You found me!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{&amp;lt; /spoiler &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;details class="spoiler " id="spoiler-4"&gt;
&lt;summary class="cursor-pointer"&gt;👉 Click to view the solution&lt;/summary&gt;
&lt;div class="rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2"&gt;
You found me 🎉
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="math"&gt;Math&lt;/h2&gt;
&lt;p&gt;HugoBlox Kit supports a Markdown extension for $\LaTeX$ math. Enable math by setting the &lt;code&gt;math: true&lt;/code&gt; option in your page&amp;rsquo;s front matter, or enable math for your entire site by toggling math in your &lt;code&gt;config/_default/params.yaml&lt;/code&gt; file:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;features&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;math&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;enable&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To render &lt;em&gt;inline&lt;/em&gt; or &lt;em&gt;block&lt;/em&gt; math, wrap your LaTeX math with &lt;code&gt;$...$&lt;/code&gt; or &lt;code&gt;$$...$$&lt;/code&gt;, respectively.&lt;/p&gt;
&lt;p&gt;Example &lt;strong&gt;math block&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-latex" data-lang="latex"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;$$&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\gamma_{n} &lt;span style="color:#f92672"&gt;=&lt;/span&gt; \frac{ \left | \left &lt;span style="color:#f92672"&gt;(&lt;/span&gt;\mathbf x_{n} &lt;span style="color:#f92672"&gt;-&lt;/span&gt; \mathbf x_{n&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;} \right &lt;span style="color:#f92672"&gt;)&lt;/span&gt;^T \left &lt;span style="color:#f92672"&gt;[&lt;/span&gt;\nabla F &lt;span style="color:#f92672"&gt;(&lt;/span&gt;\mathbf x_{n}&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt; \nabla F &lt;span style="color:#f92672"&gt;(&lt;/span&gt;\mathbf x_{n&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;}&lt;span style="color:#f92672"&gt;)&lt;/span&gt; \right &lt;span style="color:#f92672"&gt;]&lt;/span&gt; \right |}{\left \|\nabla F&lt;span style="color:#f92672"&gt;(&lt;/span&gt;\mathbf{x}_{n}&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt; \nabla F&lt;span style="color:#f92672"&gt;(&lt;/span&gt;\mathbf{x}_{n&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;}&lt;span style="color:#f92672"&gt;)&lt;/span&gt; \right \|^&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;$$&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;p&gt;$$\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left |\nabla F(\mathbf{x}&lt;em&gt;{n}) - \nabla F(\mathbf{x}&lt;/em&gt;{n-1}) \right |^2}$$&lt;/p&gt;
&lt;p&gt;Example &lt;strong&gt;inline math&lt;/strong&gt; &lt;code&gt;$\nabla F(\mathbf{x}_{n})$&lt;/code&gt; renders as $\nabla F(\mathbf{x}_{n})$.&lt;/p&gt;
&lt;p&gt;Example &lt;strong&gt;multi-line math&lt;/strong&gt; using the math linebreak (&lt;code&gt;\\&lt;/code&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-latex" data-lang="latex"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;$$&lt;/span&gt;f&lt;span style="color:#f92672"&gt;(&lt;/span&gt;k;p_{&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;}^{&lt;span style="color:#f92672"&gt;*&lt;/span&gt;}&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; \begin{cases}p_{&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;}^{&lt;span style="color:#f92672"&gt;*&lt;/span&gt;} &amp;amp; \text{if }k&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, \\
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;p_{&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;}^{&lt;span style="color:#f92672"&gt;*&lt;/span&gt;} &amp;amp; \text{if }k&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;.\end{cases}&lt;span style="color:#e6db74"&gt;$$&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;p&gt;$$
f(k;p_{0}^{&lt;em&gt;}) = \begin{cases}p_{0}^{&lt;/em&gt;} &amp;amp; \text{if }k=1, \
1-p_{0}^{*} &amp;amp; \text{if }k=0.\end{cases}
$$&lt;/p&gt;
&lt;h2 id="code"&gt;Code&lt;/h2&gt;
&lt;p&gt;HugoBlox Kit utilises Hugo&amp;rsquo;s Markdown extension for highlighting code syntax. The code theme can be selected in the &lt;code&gt;config/_default/params.yaml&lt;/code&gt; file.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```python
import pandas as pd
data = pd.read_csv(&amp;quot;data.csv&amp;quot;)
data.head()
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; pandas &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; pd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;data &lt;span style="color:#f92672"&gt;=&lt;/span&gt; pd&lt;span style="color:#f92672"&gt;.&lt;/span&gt;read_csv(&lt;span style="color:#e6db74"&gt;&amp;#34;data.csv&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;data&lt;span style="color:#f92672"&gt;.&lt;/span&gt;head()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="inline-images"&gt;Inline Images&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{&amp;lt; &lt;span style="color:#a6e22e"&gt;icon&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;name&lt;/span&gt;=&lt;span style="color:#e6db74"&gt;&amp;#34;python&amp;#34;&lt;/span&gt; &amp;gt;}} &lt;span style="color:#a6e22e"&gt;Python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;p&gt;
&lt;span class="inline-block pr-1"&gt;
&lt;svg style="height: 1em; transform: translateY(0.1em);" xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 448 512" fill="currentColor"&gt;&lt;path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/&gt;&lt;/svg&gt;
&lt;/span&gt; Python&lt;/p&gt;
&lt;h2 id="did-you-find-this-page-helpful-consider-sharing-it-"&gt;Did you find this page helpful? Consider sharing it 🙌&lt;/h2&gt;</description></item><item><title>✅ Manage your projects</title><link>https://guisellearmstrong.com/blog/manage-your-projects/</link><pubDate>Mon, 23 Oct 2023 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/blog/manage-your-projects/</guid><description>&lt;p&gt;Easily manage your projects - create ideation mind maps, Gantt charts, todo lists, and more!&lt;/p&gt;
&lt;h2 id="ideation"&gt;Ideation&lt;/h2&gt;
&lt;p&gt;Hugo Blox supports a Markdown extension for mindmaps.&lt;/p&gt;
&lt;p&gt;Simply insert a Markdown code block labelled as &lt;code&gt;markmap&lt;/code&gt; and optionally set the height of the mindmap as shown in the example below.&lt;/p&gt;
&lt;p&gt;Mindmaps can be created by simply writing the items as a Markdown list within the &lt;code&gt;markmap&lt;/code&gt; code block, indenting each item to create as many sub-levels as you need:&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="markmap" style="height: 200px;"&gt;
&lt;pre&gt;- Hugo Modules
- Hugo Blox
- netlify
- netlify-cms
- slides&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 id="diagrams"&gt;Diagrams&lt;/h2&gt;
&lt;p&gt;Hugo Blox supports the &lt;em&gt;Mermaid&lt;/em&gt; Markdown extension for diagrams.&lt;/p&gt;
&lt;p&gt;An example &lt;strong&gt;Gantt diagram&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
gantt
section Section
Completed :done, des1, 2014-01-06,2014-01-08
Active :active, des2, 2014-01-07, 3d
Parallel 1 : des3, after des1, 1d
Parallel 2 : des4, after des1, 1d
Parallel 3 : des5, after des3, 1d
Parallel 4 : des6, after des4, 1d
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class="mermaid"&gt;gantt
section Section
Completed :done, des1, 2014-01-06,2014-01-08
Active :active, des2, 2014-01-07, 3d
Parallel 1 : des3, after des1, 1d
Parallel 2 : des4, after des1, 1d
Parallel 3 : des5, after des3, 1d
Parallel 4 : des6, after des4, 1d
&lt;/div&gt;
&lt;h2 id="todo-lists"&gt;Todo lists&lt;/h2&gt;
&lt;p&gt;You can even write your todo lists in Markdown too:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;- [x]&lt;/span&gt; Write math example
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;- [x]&lt;/span&gt; Write diagram example
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;- [ ]&lt;/span&gt; Do something else
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Write math example
&lt;ul&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Write diagram example&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Do something else&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="did-you-find-this-page-helpful-consider-sharing-it-"&gt;Did you find this page helpful? Consider sharing it 🙌&lt;/h2&gt;</description></item><item><title>Audit Readiness &amp; GRC Program Enablement</title><link>https://guisellearmstrong.com/projects/audit-readiness-grc-program-enablement/</link><pubDate>Tue, 01 Aug 2023 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/projects/audit-readiness-grc-program-enablement/</guid><description>&lt;p&gt;&lt;strong&gt;Focus Areas:&lt;/strong&gt; SOC 2 · PCI DSS · CCPA · ISO/IEC 27001&lt;/p&gt;
&lt;p&gt;Focused on transforming audit readiness from a reactive, audit-season effort into a continuous, well-governed program aligned with SOC 2, PCI DSS, CCPA, and ISO/IEC 27001 principles. I led cross-functional efforts to improve visibility into risk, standardize evidence management, automate governance workflows, and strengthen collaboration between business teams, technical teams, and auditors.&lt;/p&gt;
&lt;h2 id="experience"&gt;Experience&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Established Executive-Level GRC Visibility&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Designed and automated a Power BI GRC Executive Dashboard providing leadership with monthly visibility into key compliance and risk metrics&lt;/li&gt;
&lt;li&gt;Tracked user access reviews, policy exceptions, audit artifacts, remediation activity, and vulnerability trends&lt;/li&gt;
&lt;li&gt;Enabled continuous monitoring, management review, and risk-based decision-making&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Strengthened Access Controls &amp;amp; Resiliency&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Partnered with departments to complete and document User Access Reviews (UARs)&lt;/li&gt;
&lt;li&gt;Developed and maintained Disaster Recovery documentation aligned with audit and availability requirements&lt;/li&gt;
&lt;li&gt;Ensured access controls and recovery practices were clearly defined, owned, and consistently audit-ready&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Operationalized Privacy &amp;amp; Regulatory Compliance (CCPA)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supported privacy access removals and data rights requests using OneTrust&lt;/li&gt;
&lt;li&gt;Ensured requests were processed within regulatory timelines and documented with appropriate approvals&lt;/li&gt;
&lt;li&gt;Maintained defensible evidence aligned with SOC 2 Privacy and ISO data protection controls&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Centralized Evidence Management &amp;amp; Audit Support&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gathered, validated, and archived audit artifacts from multiple business and technical teams&lt;/li&gt;
&lt;li&gt;Maintained organized evidence repositories to support internal audits, SOC 2, PCI DSS, and regulatory assessments&lt;/li&gt;
&lt;li&gt;Actively participated in QSA and auditor meetings, helping translate control intent, clarify scope, and resolve gaps efficiently&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Supported Audit Findings &amp;amp; Timely Remediation (MAPS)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assisted teams in reviewing and addressing audit (MAPS) findings&lt;/li&gt;
&lt;li&gt;Partnered with control owners to identify root causes, define corrective actions, and track remediation efforts&lt;/li&gt;
&lt;li&gt;Ensured findings were remediated within required timelines and supported with appropriate evidence to meet audit expectations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Implemented Policy Exception Governance&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Created and facilitated a weekly policy exception review meeting with cross-functional stakeholders&lt;/li&gt;
&lt;li&gt;Built a Power Automate workflow and dashboard to track exception approvals and notify owners of upcoming expirations&lt;/li&gt;
&lt;li&gt;Documented risk acceptance decisions and communicated outcomes to leadership to maintain a clear audit trail&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Enabled PCI DSS Compliance Through Training&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Designed and delivered PCI DSS training for employees involved in payment processing and credit card handling&lt;/li&gt;
&lt;li&gt;Reinforced secure handling practices, role-based responsibilities, and compliance expectations&lt;/li&gt;
&lt;li&gt;Supported ongoing audit readiness and reduced compliance risk&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Developed People &amp;amp; GRC Capability&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trained, mentored, and empowered early-career cybersecurity engineers&lt;/li&gt;
&lt;li&gt;Helped teams understand how technical controls support SOC 2, PCI DSS, and ISO requirements&lt;/li&gt;
&lt;li&gt;Strengthened long-term ownership and accountability for controls across the organization&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="impact--results"&gt;Impact &amp;amp; Results&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Improved continuous audit readiness across SOC 2, PCI DSS, privacy, and internal audit programs&lt;/li&gt;
&lt;li&gt;Reduced audit friction by proactively addressing MAPS findings and control gaps&lt;/li&gt;
&lt;li&gt;Increased leadership visibility into compliance health and remediation status&lt;/li&gt;
&lt;li&gt;Strengthened collaboration between security, IT, legal, and business teams&lt;/li&gt;
&lt;li&gt;Built scalable, repeatable governance processes that supported consistent audit outcomes&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Vulnerability Management &amp; Risk Reduction Program</title><link>https://guisellearmstrong.com/projects/vulnerability-management-risk-reduction-program/</link><pubDate>Wed, 01 Mar 2023 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/projects/vulnerability-management-risk-reduction-program/</guid><description>&lt;p&gt;&lt;strong&gt;Framework Alignment:&lt;/strong&gt; SOC 2 &amp;amp; ISO/IEC 27001&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Objective:&lt;/strong&gt; Reduce organizational risk by preventing vulnerable assets from entering production and ensuring timely, well‑governed remediation across infrastructure, databases, and endpoints&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Established vulnerability management as a preventive, risk‑based control integrated into both production readiness and ongoing operations. The program aligned technical vulnerability scanning, remediation scheduling, and patch validation to SOC 2 and ISO/IEC 27001 expectations, ensuring vulnerabilities were identified early, prioritized appropriately, and remediated in a controlled, auditable manner.&lt;/p&gt;
&lt;h2 id="how-i-approached-vulnerability-risk-management"&gt;How I Approached Vulnerability Risk Management&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Preventive Vulnerability Controls &amp;amp; Production Readiness&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Executed enterprise vulnerability scans using Qualys and Nessus&lt;/li&gt;
&lt;li&gt;Performed mandatory vulnerability scans on all new server builds prior to production deployment&lt;/li&gt;
&lt;li&gt;Ensured systems met baseline security requirements before promotion to production, supporting preventive controls under SOC 2 CC7 and ISO operational security principles&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Continuous Risk Monitoring &amp;amp; Leadership Visibility (SOC 2 CC4 | ISO Clause 9)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Designed and delivered a Power BI Vulnerability Management Dashboard&lt;/li&gt;
&lt;li&gt;Provided visibility into open vulnerabilities, remediation progress, and vulnerability burndown trends&lt;/li&gt;
&lt;li&gt;Enabled management review and continuous monitoring of security risk posture&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Clear Ownership &amp;amp; Accurate Data Mapping (SOC 2 CC3 | ISO Clause 6)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Parsed vulnerability scan outputs using Python to accurately map vulnerabilities to specific devices and responsible owners&lt;/li&gt;
&lt;li&gt;Delivered owner‑specific remediation views to reduce noise and increase accountability&lt;/li&gt;
&lt;li&gt;Improved data integrity for both remediation tracking and audit evidence&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Risk‑Based Prioritization &amp;amp; Zero‑Day Response (SOC 2 CC5 | ISO Risk Treatment)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prioritized vulnerabilities based on severity, exploitability, and active threat intelligence, including zero‑day exploitation&lt;/li&gt;
&lt;li&gt;Focused remediation efforts on vulnerabilities posing the highest risk to confidentiality, integrity, and availability&lt;/li&gt;
&lt;li&gt;Ensured remediation decisions aligned with documented risk tolerance and audit expectations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cross‑Team Remediation Scheduling &amp;amp; Governance (SOC 2 CC7 | ISO Clause 8)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collaborated closely with server, database, and endpoint teams to establish structured vulnerability remediation schedules&lt;/li&gt;
&lt;li&gt;Coordinated remediation timelines based on system criticality, exposure, and operational impact&lt;/li&gt;
&lt;li&gt;Facilitated recurring remediation discussions to track progress and remove blockers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Patch Testing &amp;amp; Controlled Deployment&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Worked directly in SCCM and Patch My PC to validate and test patches prior to production rollout&lt;/li&gt;
&lt;li&gt;Ensured patches were tested for stability and compatibility before deployment&lt;/li&gt;
&lt;li&gt;Supported controlled, auditable patch management processes aligned with ISO patch management and SOC 2 system operations controls&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Audit &amp;amp; GRC Integration&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ensured vulnerability remediation activities, approvals, and outcomes were documented and retained as audit evidence&lt;/li&gt;
&lt;li&gt;Demonstrated continuous monitoring, risk treatment, and control effectiveness during audits&lt;/li&gt;
&lt;li&gt;Integrated vulnerability management metrics into broader GRC and audit readiness reporting&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="impact--results"&gt;Impact &amp;amp; Results&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Prevented insecure servers from entering production environments&lt;/li&gt;
&lt;li&gt;Reduced time‑to‑remediate for high‑risk and zero‑day vulnerabilities&lt;/li&gt;
&lt;li&gt;Improved coordination and accountability across infrastructure, database, and endpoint teams&lt;/li&gt;
&lt;li&gt;Strengthened patch governance through testing and controlled deployment&lt;/li&gt;
&lt;li&gt;Provided clear, defensible evidence of vulnerability management controls during SOC 2 and ISO‑aligned audits&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Change Management &amp; Controlled Release Governance</title><link>https://guisellearmstrong.com/projects/change-management-controlled-release-governance/</link><pubDate>Wed, 01 Jun 2022 00:00:00 +0000</pubDate><guid>https://guisellearmstrong.com/projects/change-management-controlled-release-governance/</guid><description>&lt;p&gt;&lt;strong&gt;Framework Alignment:&lt;/strong&gt; SOC 2 (CC7) &amp;amp; ISO/IEC 27001&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Objective:&lt;/strong&gt; Ensure all system and application changes were authorized, risk‑assessed, tested, documented, and deployed in a controlled manner to protect system availability, security, and compliance posture&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Focused on strengthening organizational change management practices to meet SOC 2 CC7 and ISO change control expectations. The goal was to ensure that changes were not only implemented successfully, but also governed in a way that reduced operational risk, protected sensitive data, and produced defensible audit evidence. My work emphasized education, structured governance, and cross‑functional collaboration to embed change management into daily operations.&lt;/p&gt;
&lt;h2 id="how-i-applied-soc-2--iso-change-control-principles"&gt;How I Applied SOC 2 &amp;amp; ISO Change Control Principles&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Established Controlled Change Processes (SOC 2 CC7 | ISO Change Controls)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trained department managers and stakeholders on how to properly submit change documentation in alignment with formal change control requirements&lt;/li&gt;
&lt;li&gt;Ensured all changes included required elements such as testing evidence, risk assessments, business justification, and approvals&lt;/li&gt;
&lt;li&gt;Reinforced that changes must be authorized, reviewed, and traceable prior to implementation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Led Change Advisory Board (CAB) Governance (SOC 2 CC7.2 | ISO Authorization &amp;amp; Review)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Led daily CAB meetings, facilitating structured reviews of proposed changes&lt;/li&gt;
&lt;li&gt;Evaluated changes for risk, timing conflicts, dependencies, and potential impact to availability and security&lt;/li&gt;
&lt;li&gt;Ensured approval decisions, conditions, and outcomes were clearly documented for audit purposes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Ensured Change Documentation Integrity &amp;amp; Data Protection&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reviewed and revised submitted change records to ensure completeness, accuracy, and audit readiness&lt;/li&gt;
&lt;li&gt;Verified inclusion of testing results, risk assessments, and formal business approvals&lt;/li&gt;
&lt;li&gt;Ensured no PII or PCI data was included in change documentation, reducing data exposure risk and supporting regulatory compliance&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Coordinated Secure &amp;amp; Successful Releases (SOC 2 CC7 | ISO Operational Change)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Worked closely with release and deployment teams to verify that approved changes were deployed as planned&lt;/li&gt;
&lt;li&gt;Supported coordination, communication, and scheduling to minimize disruption&lt;/li&gt;
&lt;li&gt;Assisted with post‑implementation validation to confirm change success and stability&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Advised on Risk, Impact, and Organizational Readiness&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Acted as a trusted advisor to teams on how uncontrolled or poorly documented changes can impact availability, security, audit results, and customer trust&lt;/li&gt;
&lt;li&gt;Educated stakeholders on the importance of structured change management as a core operational and compliance control&lt;/li&gt;
&lt;li&gt;Strengthened awareness that change management is a shared responsibility supporting the organization as a whole&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="impact--results"&gt;Impact &amp;amp; Results&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Improved consistency and quality of change documentation across departments&lt;/li&gt;
&lt;li&gt;Reduced operational risk from unauthorized or insufficiently tested changes&lt;/li&gt;
&lt;li&gt;Supported system stability and availability during deployments&lt;/li&gt;
&lt;li&gt;Strengthened evidence for SOC 2 and ISO‑aligned audits&lt;/li&gt;
&lt;li&gt;Increased organizational understanding of change as a critical governance control&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>