<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ascii on
A Scripter's Notes</title><link>https://scripter.co/tags/ascii/</link><description>Recent content in ascii
on A Scripter's Notes</description><language>en-us</language><managingEditor>kaushal.modi@gmail.com (Kaushal Modi)</managingEditor><webMaster>kaushal.modi@gmail.com (Kaushal Modi)</webMaster><lastBuildDate>Wed, 22 Apr 2026 08:24:58 -0400</lastBuildDate><generator>Hugo -- gohugo.io</generator><docs>https://validator.w3.org/feed/docs/rss2.html</docs><atom:link href="https://scripter.co/tags/ascii/index.xml" rel="self" type="application/rss+xml"/><item><title>Hugo: Use goat code blocks for ASCII diagrams</title><link>https://scripter.co/hugo-use-goat-code-blocks-for-ascii-diagrams/</link><description>&lt;blockquote>Use &lt;code>goat&lt;/code> code blocks if you have ASCII diagrams with a mix of text
and box drawing characters.&lt;/blockquote>&lt;div class="ox-hugo-toc toc">
&lt;div class="heading">Table of Contents&lt;/div>
&lt;ul>
&lt;li>&lt;a href="#references">References&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;!--endtoc-->
&lt;p>&lt;a href="https://github.com/gohugoio/hugo/releases/tag/v0.93.0">Hugo &lt;strong>v0.93.0&lt;/strong>&lt;/a> added some serious features like &lt;a href="https://gohugo.io/templates/render-hooks/#render-hooks-for-code-blocks">Code Block Render
Hooks&lt;/a> and native rendering of ASCII diagrams to SVG using a &lt;a href="https://github.com/blampe/goat">GoAT&lt;/a>
&lt;span class="sidenote-number">&lt;small class="sidenote">
Go ASCII Tool
&lt;/small>&lt;/span>
library.&lt;/p>
&lt;div class="note">
&lt;p>To use this feature, you put ASCII diagrams in a code block with
language set to &lt;code>goat&lt;/code> .. .. That&amp;rsquo;s it!&lt;/p>
&lt;/div>
&lt;p>I realized I needed to use this new GoAT rendering feature because if
I had an ASCII diagram with a mix of text and box drawing characters
like ┌ │ ─ ┐, the positional relationship between the text and those
characters wasn&amp;rsquo;t always guaranteed to remain as I intended. The
reason is that based on the user&amp;rsquo;s font setup, the box drawing
characters and the regular text characters could be rendered using
different fonts.&lt;/p>
&lt;p>This problem is best shown with this example that I was documenting in
the &lt;a href="https://ox-hugo.scripter.co/doc/hugo-section/">&lt;code>ox-hugo&lt;/code> manual&lt;/a> &lt;a href="https://github.com/kaushalmodi/ox-hugo/commit/88ae5c8c65a4f0d401b450338cf8bb36c47684fc">today&lt;/a>.&lt;/p>
&lt;p>&lt;a id="code-snippet--ascii-diagram-in-text-src-block">&lt;/a>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-org" data-lang="org">&lt;span class="line">&lt;span class="cl">&lt;span class="c">#+begin_src &lt;/span>&lt;span class="cs">text&lt;/span>&lt;span class="c">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c">&lt;/span>&amp;lt;HUGO_BASE_DIR&amp;gt;/content/&amp;lt;HUGO_SECTION&amp;gt;/&amp;lt;concatenated values of EXPORT_HUGO_SECTION_FRAG&amp;gt;/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───────────────────── section path ─────────────────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c">#+end_src&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="src-block-caption">
&lt;span class="src-block-number">&lt;a href="#code-snippet--ascii-diagram-in-text-src-block">Code Snippet 1&lt;/a>:&lt;/span>
Mix of text and box characters in a plain &lt;code>text&lt;/code> code block
&lt;/div>
&lt;p>Above code block renders to:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">&amp;lt;HUGO_BASE_DIR&amp;gt;/content/&amp;lt;HUGO_SECTION&amp;gt;/&amp;lt;concatenated values of EXPORT_HUGO_SECTION_FRAG&amp;gt;/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───────────────────── section path ─────────────────────────┘
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The code block rendered above might look alright on your browser based
on your font setup.&lt;/p>
&lt;ul>
&lt;li>The &amp;ldquo;section path&amp;rdquo; box drawing should start at &lt;code>&amp;lt;HUGO_SECTION&amp;gt;/ ..&lt;/code>
and end at &lt;code>.. EXPORT_HUGO_SECTION_FRAG&amp;gt;&lt;/code>.&lt;/li>
&lt;/ul>
&lt;p>But it can also look like below with a different font setup:&lt;/p>
&lt;p>&lt;a id="figure--disproportionate-box-drawing">&lt;/a>&lt;/p>
&lt;figure>
&lt;img src="https://scripter.co/hugo-use-goat-code-blocks-for-ascii-diagrams/ascii-diagram-rendered-in-plain-text-code-block.png" alt="Figure 1: Disproportionate box drawing characters"/> &lt;figcaption>
&lt;p>
&lt;span class="figure-number">Figure 1: &lt;/span>Disproportionate box drawing characters
&lt;/p>
&lt;/figcaption>&lt;/figure>
&lt;p>To fix that, we simply change the code block language to &lt;code>goat&lt;/code>
&lt;span class="sidenote-number">&lt;small class="sidenote">
If you author your posts in Markdown, this applies to you too. Just
use the Markdown fenced code block syntax: &lt;code>```goat .. ```&lt;/code>.
&lt;/small>&lt;/span>
&lt;a id="code-snippet--ascii-diagram-in-goat-src-block">&lt;/a>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-org" data-lang="org">&lt;span class="line">&lt;span class="cl">&lt;span class="c">#+begin_src &lt;/span>&lt;span class="cs">goat&lt;/span>&lt;span class="c">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c">&lt;/span>&amp;lt;HUGO_BASE_DIR&amp;gt;/content/&amp;lt;HUGO_SECTION&amp;gt;/&amp;lt;concatenated values of EXPORT_HUGO_SECTION_FRAG&amp;gt;/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───────────────────── section path ─────────────────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c">#+end_src&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="src-block-caption">
&lt;span class="src-block-number">&lt;a href="#code-snippet--ascii-diagram-in-goat-src-block">Code Snippet 2&lt;/a>:&lt;/span>
Mix of text and box characters in a &lt;code>goat&lt;/code> code block
&lt;/div>
&lt;p>Now we will see the below rendering on any browser because you are
looking at the SVG generated from the above code block by that &lt;em>GoAT&lt;/em>
library.&lt;/p>
&lt;div class="goat svg-container ">
&lt;svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 720 41"
>
&lt;g transform='translate(8,16)'>
&lt;text text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'>&amp;lt;&lt;/text>
&lt;text text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'>H&lt;/text>
&lt;text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>U&lt;/text>
&lt;text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>G&lt;/text>
&lt;text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>O&lt;/text>
&lt;text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>_&lt;/text>
&lt;text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>B&lt;/text>
&lt;text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>A&lt;/text>
&lt;text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>S&lt;/text>
&lt;text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>E&lt;/text>
&lt;text text-anchor='middle' x='80' y='4' fill='currentColor' style='font-size:1em'>_&lt;/text>
&lt;text text-anchor='middle' x='88' y='4' fill='currentColor' style='font-size:1em'>D&lt;/text>
&lt;text text-anchor='middle' x='96' y='4' fill='currentColor' style='font-size:1em'>I&lt;/text>
&lt;text text-anchor='middle' x='104' y='4' fill='currentColor' style='font-size:1em'>R&lt;/text>
&lt;text text-anchor='middle' x='112' y='4' fill='currentColor' style='font-size:1em'>&amp;gt;&lt;/text>
&lt;text text-anchor='middle' x='120' y='4' fill='currentColor' style='font-size:1em'>/&lt;/text>
&lt;text text-anchor='middle' x='128' y='4' fill='currentColor' style='font-size:1em'>c&lt;/text>
&lt;text text-anchor='middle' x='136' y='4' fill='currentColor' style='font-size:1em'>o&lt;/text>
&lt;text text-anchor='middle' x='144' y='4' fill='currentColor' style='font-size:1em'>n&lt;/text>
&lt;text text-anchor='middle' x='152' y='4' fill='currentColor' style='font-size:1em'>t&lt;/text>
&lt;text text-anchor='middle' x='160' y='4' fill='currentColor' style='font-size:1em'>e&lt;/text>
&lt;text text-anchor='middle' x='168' y='4' fill='currentColor' style='font-size:1em'>n&lt;/text>
&lt;text text-anchor='middle' x='176' y='4' fill='currentColor' style='font-size:1em'>t&lt;/text>
&lt;text text-anchor='middle' x='184' y='4' fill='currentColor' style='font-size:1em'>/&lt;/text>
&lt;text text-anchor='middle' x='192' y='4' fill='currentColor' style='font-size:1em'>&amp;lt;&lt;/text>
&lt;text text-anchor='middle' x='192' y='20' fill='currentColor' style='font-size:1em'>└&lt;/text>
&lt;text text-anchor='middle' x='200' y='4' fill='currentColor' style='font-size:1em'>H&lt;/text>
&lt;text text-anchor='middle' x='200' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='208' y='4' fill='currentColor' style='font-size:1em'>U&lt;/text>
&lt;text text-anchor='middle' x='208' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='216' y='4' fill='currentColor' style='font-size:1em'>G&lt;/text>
&lt;text text-anchor='middle' x='216' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>O&lt;/text>
&lt;text text-anchor='middle' x='224' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>_&lt;/text>
&lt;text text-anchor='middle' x='232' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>S&lt;/text>
&lt;text text-anchor='middle' x='240' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>E&lt;/text>
&lt;text text-anchor='middle' x='248' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>C&lt;/text>
&lt;text text-anchor='middle' x='256' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>T&lt;/text>
&lt;text text-anchor='middle' x='264' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>I&lt;/text>
&lt;text text-anchor='middle' x='272' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='280' y='4' fill='currentColor' style='font-size:1em'>O&lt;/text>
&lt;text text-anchor='middle' x='280' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='288' y='4' fill='currentColor' style='font-size:1em'>N&lt;/text>
&lt;text text-anchor='middle' x='288' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='296' y='4' fill='currentColor' style='font-size:1em'>&amp;gt;&lt;/text>
&lt;text text-anchor='middle' x='296' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='304' y='4' fill='currentColor' style='font-size:1em'>/&lt;/text>
&lt;text text-anchor='middle' x='304' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='312' y='4' fill='currentColor' style='font-size:1em'>&amp;lt;&lt;/text>
&lt;text text-anchor='middle' x='312' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='320' y='4' fill='currentColor' style='font-size:1em'>c&lt;/text>
&lt;text text-anchor='middle' x='320' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='328' y='4' fill='currentColor' style='font-size:1em'>o&lt;/text>
&lt;text text-anchor='middle' x='328' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='336' y='4' fill='currentColor' style='font-size:1em'>n&lt;/text>
&lt;text text-anchor='middle' x='336' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='344' y='4' fill='currentColor' style='font-size:1em'>c&lt;/text>
&lt;text text-anchor='middle' x='344' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='352' y='4' fill='currentColor' style='font-size:1em'>a&lt;/text>
&lt;text text-anchor='middle' x='352' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='360' y='4' fill='currentColor' style='font-size:1em'>t&lt;/text>
&lt;text text-anchor='middle' x='360' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='368' y='4' fill='currentColor' style='font-size:1em'>e&lt;/text>
&lt;text text-anchor='middle' x='376' y='4' fill='currentColor' style='font-size:1em'>n&lt;/text>
&lt;text text-anchor='middle' x='384' y='4' fill='currentColor' style='font-size:1em'>a&lt;/text>
&lt;text text-anchor='middle' x='384' y='20' fill='currentColor' style='font-size:1em'>s&lt;/text>
&lt;text text-anchor='middle' x='392' y='4' fill='currentColor' style='font-size:1em'>t&lt;/text>
&lt;text text-anchor='middle' x='392' y='20' fill='currentColor' style='font-size:1em'>e&lt;/text>
&lt;text text-anchor='middle' x='400' y='4' fill='currentColor' style='font-size:1em'>e&lt;/text>
&lt;text text-anchor='middle' x='400' y='20' fill='currentColor' style='font-size:1em'>c&lt;/text>
&lt;text text-anchor='middle' x='408' y='4' fill='currentColor' style='font-size:1em'>d&lt;/text>
&lt;text text-anchor='middle' x='408' y='20' fill='currentColor' style='font-size:1em'>t&lt;/text>
&lt;text text-anchor='middle' x='416' y='20' fill='currentColor' style='font-size:1em'>i&lt;/text>
&lt;text text-anchor='middle' x='424' y='4' fill='currentColor' style='font-size:1em'>v&lt;/text>
&lt;text text-anchor='middle' x='424' y='20' fill='currentColor' style='font-size:1em'>o&lt;/text>
&lt;text text-anchor='middle' x='432' y='4' fill='currentColor' style='font-size:1em'>a&lt;/text>
&lt;text text-anchor='middle' x='432' y='20' fill='currentColor' style='font-size:1em'>n&lt;/text>
&lt;text text-anchor='middle' x='440' y='4' fill='currentColor' style='font-size:1em'>l&lt;/text>
&lt;text text-anchor='middle' x='448' y='4' fill='currentColor' style='font-size:1em'>u&lt;/text>
&lt;text text-anchor='middle' x='448' y='20' fill='currentColor' style='font-size:1em'>p&lt;/text>
&lt;text text-anchor='middle' x='456' y='4' fill='currentColor' style='font-size:1em'>e&lt;/text>
&lt;text text-anchor='middle' x='456' y='20' fill='currentColor' style='font-size:1em'>a&lt;/text>
&lt;text text-anchor='middle' x='464' y='4' fill='currentColor' style='font-size:1em'>s&lt;/text>
&lt;text text-anchor='middle' x='464' y='20' fill='currentColor' style='font-size:1em'>t&lt;/text>
&lt;text text-anchor='middle' x='472' y='20' fill='currentColor' style='font-size:1em'>h&lt;/text>
&lt;text text-anchor='middle' x='480' y='4' fill='currentColor' style='font-size:1em'>o&lt;/text>
&lt;text text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'>f&lt;/text>
&lt;text text-anchor='middle' x='496' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'>E&lt;/text>
&lt;text text-anchor='middle' x='504' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='512' y='4' fill='currentColor' style='font-size:1em'>X&lt;/text>
&lt;text text-anchor='middle' x='512' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='520' y='4' fill='currentColor' style='font-size:1em'>P&lt;/text>
&lt;text text-anchor='middle' x='520' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='528' y='4' fill='currentColor' style='font-size:1em'>O&lt;/text>
&lt;text text-anchor='middle' x='528' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='536' y='4' fill='currentColor' style='font-size:1em'>R&lt;/text>
&lt;text text-anchor='middle' x='536' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='544' y='4' fill='currentColor' style='font-size:1em'>T&lt;/text>
&lt;text text-anchor='middle' x='544' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='552' y='4' fill='currentColor' style='font-size:1em'>_&lt;/text>
&lt;text text-anchor='middle' x='552' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='560' y='4' fill='currentColor' style='font-size:1em'>H&lt;/text>
&lt;text text-anchor='middle' x='560' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='568' y='4' fill='currentColor' style='font-size:1em'>U&lt;/text>
&lt;text text-anchor='middle' x='568' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='576' y='4' fill='currentColor' style='font-size:1em'>G&lt;/text>
&lt;text text-anchor='middle' x='576' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='584' y='4' fill='currentColor' style='font-size:1em'>O&lt;/text>
&lt;text text-anchor='middle' x='584' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='592' y='4' fill='currentColor' style='font-size:1em'>_&lt;/text>
&lt;text text-anchor='middle' x='592' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='600' y='4' fill='currentColor' style='font-size:1em'>S&lt;/text>
&lt;text text-anchor='middle' x='600' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='608' y='4' fill='currentColor' style='font-size:1em'>E&lt;/text>
&lt;text text-anchor='middle' x='608' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='616' y='4' fill='currentColor' style='font-size:1em'>C&lt;/text>
&lt;text text-anchor='middle' x='616' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='624' y='4' fill='currentColor' style='font-size:1em'>T&lt;/text>
&lt;text text-anchor='middle' x='624' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='632' y='4' fill='currentColor' style='font-size:1em'>I&lt;/text>
&lt;text text-anchor='middle' x='632' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='640' y='4' fill='currentColor' style='font-size:1em'>O&lt;/text>
&lt;text text-anchor='middle' x='640' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='648' y='4' fill='currentColor' style='font-size:1em'>N&lt;/text>
&lt;text text-anchor='middle' x='648' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='656' y='4' fill='currentColor' style='font-size:1em'>_&lt;/text>
&lt;text text-anchor='middle' x='656' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='664' y='4' fill='currentColor' style='font-size:1em'>F&lt;/text>
&lt;text text-anchor='middle' x='664' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='672' y='4' fill='currentColor' style='font-size:1em'>R&lt;/text>
&lt;text text-anchor='middle' x='672' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='680' y='4' fill='currentColor' style='font-size:1em'>A&lt;/text>
&lt;text text-anchor='middle' x='680' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='688' y='4' fill='currentColor' style='font-size:1em'>G&lt;/text>
&lt;text text-anchor='middle' x='688' y='20' fill='currentColor' style='font-size:1em'>─&lt;/text>
&lt;text text-anchor='middle' x='696' y='4' fill='currentColor' style='font-size:1em'>&amp;gt;&lt;/text>
&lt;text text-anchor='middle' x='696' y='20' fill='currentColor' style='font-size:1em'>┘&lt;/text>
&lt;text text-anchor='middle' x='704' y='4' fill='currentColor' style='font-size:1em'>/&lt;/text>
&lt;/g>
&lt;/svg>
&lt;/div>
&lt;dl>
&lt;dt>Caveat&lt;/dt>
&lt;dd>The GoAT library doesn&amp;rsquo;t render the text fonts to my
liking, but it&amp;rsquo;s still better than completely messing up the
positional relationship between the text and the box diagram
characters.&lt;/dd>
&lt;/dl>
&lt;p>Happy grazing! 🐐&lt;/p>
&lt;h2 id="references">References&amp;nbsp;&lt;a class="headline-hash no-text-decoration" href="#references">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://gohugo.io/content-management/diagrams/">Hugo Documentation &amp;ndash; Diagrams&lt;/a>&lt;/li>
&lt;/ul></description><author>Kaushal.Modi@fakeEmailToMakeValidatorHappy.com (Kaushal Modi)</author><category domain="https://scripter.co/categories/hugo">hugo</category><category domain="https://scripter.co/tags/ascii">ascii</category><category domain="https://scripter.co/tags/diagrams">diagrams</category><category domain="https://scripter.co/tags/100daystooffload">100DaysToOffload</category><guid>https://scripter.co/hugo-use-goat-code-blocks-for-ascii-diagrams/</guid><pubDate>Thu, 07 Apr 2022 23:44:00 -0400</pubDate></item></channel></rss>