<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://ter.kkga.me/</id>
    <title>Ter</title>
    <updated>2023-12-22T16:28:27.630Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>Gadzhi Kharkharov</name>
        <email>x@kkga.me</email>
        <uri>https://kkga.me/</uri>
    </author>
    <link rel="alternate" href="https://ter.kkga.me/"/>
    <link rel="self" href="https://ter.kkga.me//feed"/>
    <subtitle>A tiny wiki-style site builder with Zettelkasten flavor</subtitle>
    <rights>Copyright 2023 https://ter.kkga.me/</rights>
    <entry>
        <title type="html"><![CDATA[Usage]]></title>
        <id>https://ter.kkga.me/usage</id>
        <link href="https://ter.kkga.me/usage"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[How to use and configure Ter.]]></summary>
        <content type="html"><![CDATA[<h2 id="install-deno"><a class="h-anchor" href="#install-deno">#</a>Install deno</h2><p>Ter is built with <a href="https://deno.land/" rel="external noopener noreferrer">Deno</a>, so you&#39;ll need to have it
<a href="https://deno.land/manual/getting_started/installation" rel="external noopener noreferrer">installed</a>.</p>
<h2 id="build-a-site"><a class="h-anchor" href="#build-a-site">#</a>Build a site</h2><p>Default command will recursively search for <code>*.md</code> files in the current
directory and generate a site into the <code>_site</code> directory:</p>
<pre class="hljs language-plaintext">deno run -A https://deno.land/x/ter/main.ts</pre><p>Use <code>--input</code> and <code>--output</code> (or <code>-i</code> and <code>-o</code>) flags for custom
source/destination directories:</p>
<pre class="hljs language-plaintext">deno run -A https://deno.land/x/ter/main.ts -i pages -o _dist</pre><p>To start a local server with live refresh, pass the <code>--serve</code> (or <code>-s</code>) flag:</p>
<pre class="hljs language-plaintext">deno run -A https://deno.land/x/ter/main.ts -s</pre>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Ter]]></title>
        <id>https://ter.kkga.me/</id>
        <link href="https://ter.kkga.me/"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[Tiny wiki-style site builder.]]></summary>
        <content type="html"><![CDATA[<p>Ter takes a folder of markdown files and replicates its structure into a static
site with automatically <a href="/usage/content">indexed</a> directories and
backlinks. <a href="/zettelkasten">Zettelkasten</a>-style.</p>
<p>Run this to compile all .md files in the current directory to HTML (requires
<a href="https://deno.land" rel="external noopener noreferrer">Deno</a> to be installed):</p>
<pre class="hljs language-plaintext">deno run -A https://deno.land/x/ter/main.ts</pre><ul>
<li>see <a href="/usage">usage</a> for more details;</li>
<li><a href="/goals">goals</a> for some thinking behind Ter&#39;s approach;</li>
<li>or feel free to just roam around.</li>
</ul>
<p>Made with <a href="https://deno.land" rel="external noopener noreferrer">Deno</a>. Deno is fun. Contribute or submit issues:
<a href="https://github.com/kkga/ter" rel="external noopener noreferrer">github.com/kkga/ter</a></p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Example sites]]></title>
        <id>https://ter.kkga.me/example-sites</id>
        <link href="https://ter.kkga.me/example-sites"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <content type="html"><![CDATA[<ul>
<li><a href="https://kkga.me" rel="external noopener noreferrer">https://kkga.me</a></li>
</ul>
<p>Using Ter?
<a href="https://github.com/kkga/ter/blob/master/docs/example-sites.md" rel="external noopener noreferrer">Add your site!</a></p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Command line usage]]></title>
        <id>https://ter.kkga.me/usage/cli-usage</id>
        <link href="https://ter.kkga.me/usage/cli-usage"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[How to use Ter from the command line.]]></summary>
        <content type="html"><![CDATA[<p>Run Ter with the <code>--help</code> flag to see usage reference.</p>
<pre class="hljs language-plaintext">deno run https://deno.land/x/ter/main.ts --help</pre><pre class="hljs language-plaintext">Ter -- tiny wiki-style site builder

USAGE:
  ter [options]

OPTIONS:
  -i, --input     Source directory (default: .)
  -o, --output    Output directory (default: _site)
  -c, --config    Path to config file (default: .ter/config.json)
  -s, --serve     Serve locally and watch for changes (default: false)
  -d, --debug     Verbose output and statistics (default: false)
  --port          Serve port (default: 8000)
  --drafts        Render pages marked as drafts (default: false)`;</pre>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Configuration]]></title>
        <id>https://ter.kkga.me/usage/configuration</id>
        <link href="https://ter.kkga.me/usage/configuration"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[How to configure Ter.]]></summary>
        <content type="html"><![CDATA[<p>Ter reads a JSON configuration file at <code>.ter/config.json</code> before building a
site.</p>
<p>Alternative location can be specified with with the <code>--config</code> CLI flag. If the
file does not exist, Ter will create it with default options on first build.</p>
<h4 id="options"><a class="h-anchor" href="#options">#</a>Options</h4><table>
<thead>
<tr>
<th>Key</th>
<th>Description</th>
</tr>
</thead>
<tbody><tr>
<td>title</td>
<td>Title of your site.</td>
</tr>
<tr>
<td>description</td>
<td>Description of your site.</td>
</tr>
<tr>
<td>url</td>
<td>Published URL address of your site.</td>
</tr>
<tr>
<td>rootCrumb</td>
<td>Label used for root crumb label (default: &quot;index&quot;).</td>
</tr>
<tr>
<td>authorName</td>
<td>Your name.</td>
</tr>
<tr>
<td>authorEmail</td>
<td>Your email.</td>
</tr>
<tr>
<td>authorUrl</td>
<td>Your home page.</td>
</tr>
<tr>
<td>lang</td>
<td>Optional. <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument" rel="external noopener noreferrer">Locale</a> used for formatting dates.</td>
</tr>
<tr>
<td>codeHighlight</td>
<td>Optional. Use syntax highlighting in code blocks (default: false).</td>
</tr>
<tr>
<td>head</td>
<td>Optional. String to inject at the bottom of <code>&lt;head&gt;</code> tag.</td>
</tr>
</tbody></table>
<h4 id="example"><a class="h-anchor" href="#example">#</a>Example</h4><pre class="hljs language-json"><span class="hljs-punctuation">{</span>
  <span class="hljs-attr">&quot;title&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;Your Blog Name&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;description&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;I am writing about my experiences as a naval navel-gazer&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;url&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;https://example.com/&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;rootCrumb&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;index&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;authorName&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;Your Name Here&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;authorEmail&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;youremailaddress@example.com&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;authorUrl&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;https://example.com/about-me/&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;lang&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;en&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;codeHighlight&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;head&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;&lt;script src=&#x27;https://microanalytics.io/js/script.js&#x27; id=&#x27;XXXXXXXX&#x27;&gt;&lt;/script&gt;&quot;</span>
<span class="hljs-punctuation">}</span></pre>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Deploy]]></title>
        <id>https://ter.kkga.me/usage/deploy</id>
        <link href="https://ter.kkga.me/usage/deploy"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[How to deploy Ter sites.]]></summary>
        <content type="html"><![CDATA[<p>Ter generates a static site which can be deployed anywhere.</p>
<p>Note: when using non-default input and output paths, update the <em>build command</em>
and <em>output directory</em> accordingly.</p>
<h3 id="vercel"><a class="h-anchor" href="#vercel">#</a>Vercel</h3><p>To deploy on <a href="https://vercel.com" rel="external noopener noreferrer">Vercel</a>, use the following build and output
configuration.</p>
<h4 id="build-command"><a class="h-anchor" href="#build-command">#</a>Build command</h4><pre class="hljs language-plaintext">deno run -A --unstable https://deno.land/x/ter/main.ts</pre><h4 id="output-directory"><a class="h-anchor" href="#output-directory">#</a>Output directory</h4><pre class="hljs language-plaintext">_site</pre><h4 id="install-command"><a class="h-anchor" href="#install-command">#</a>Install command</h4><pre class="hljs language-plaintext">curl -fsSL https://deno.land/x/install/install.sh | DENO_INSTALL=/usr/local sh</pre><h3 id="deno-deploy"><a class="h-anchor" href="#deno-deploy">#</a>Deno Deploy</h3><p>For <a href="https://deno.com/deploy" rel="external noopener noreferrer">Deno Deploy</a>, we can use a GitHub Action to
automatically build the site and then deploy it with Deno&#39;s
<a href="https://github.com/denoland/deployctl/blob/main/action/README.md" rel="external noopener noreferrer">deployctl</a>.</p>
<p>Firstly, create a new project on Deno Deploy. Select &quot;Deploy from GitHub&quot;, link
the repository, and use the production branch. For deployment mode, select
“GitHub Actions”.</p>
<p>Next, create a <code>.github/workflows/deno-deploy.yml</code> file in the repository and
make changes according to your setup.</p>
<h4 id="github-action-(deno-deploy.yml)"><a class="h-anchor" href="#github-action-(deno-deploy.yml)">#</a>GitHub Action (deno-deploy.yml)</h4><pre class="hljs language-yaml"><span class="hljs-attr">name:</span> <span class="hljs-string">Deploy</span> <span class="hljs-string">to</span> <span class="hljs-string">Deno</span> <span class="hljs-string">Deploy</span>

<span class="hljs-attr">on:</span>
  <span class="hljs-attr">push:</span>
    <span class="hljs-comment"># Change if using a different production branch</span>
    <span class="hljs-attr">branches:</span> [ <span class="hljs-string">main</span> ]
  <span class="hljs-attr">pull_request:</span>
    <span class="hljs-attr">branches:</span> [ <span class="hljs-string">main</span> ]

<span class="hljs-attr">jobs:</span>
  <span class="hljs-attr">deploy:</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">Deploy</span>
    <span class="hljs-attr">runs-on:</span> <span class="hljs-string">ubuntu-latest</span>
    <span class="hljs-attr">permissions:</span>
      <span class="hljs-attr">id-token:</span> <span class="hljs-string">write</span>
      <span class="hljs-attr">contents:</span> <span class="hljs-string">read</span>

    <span class="hljs-attr">steps:</span>
      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Clone</span> <span class="hljs-string">repository</span>
        <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@v3</span>

      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Setup</span> <span class="hljs-string">Deno</span>
        <span class="hljs-attr">uses:</span> <span class="hljs-string">denoland/setup-deno@v1.1.0</span>

      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Build</span> <span class="hljs-string">site</span>
        <span class="hljs-comment"># Change if using non-default input/output directories</span>
        <span class="hljs-attr">run:</span> <span class="hljs-string">deno</span> <span class="hljs-string">run</span> <span class="hljs-string">-A</span> <span class="hljs-string">--unstable</span> <span class="hljs-string">main.ts</span>

      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Deploy</span> <span class="hljs-string">to</span> <span class="hljs-string">Deno</span> <span class="hljs-string">Deploy</span>
        <span class="hljs-attr">uses:</span> <span class="hljs-string">denoland/deployctl@v1</span>
        <span class="hljs-attr">with:</span>
          <span class="hljs-comment"># Replace with the project name on Deno Deploy</span>
          <span class="hljs-attr">project:</span> <span class="hljs-string">my-ter-site</span>
          <span class="hljs-attr">entrypoint:</span> <span class="hljs-string">https://deno.land/std/http/file_server.ts</span>
          <span class="hljs-comment"># Change if using non-default output directory</span>
          <span class="hljs-attr">root:</span> <span class="hljs-string">_site</span></pre>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Content]]></title>
        <id>https://ter.kkga.me/usage/content</id>
        <link href="https://ter.kkga.me/usage/content"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[How to structure content for Ter.]]></summary>
        <content type="html"><![CDATA[<h2 id="index-pages"><a class="h-anchor" href="#index-pages">#</a>Index pages</h2><p>Ter recursively recreates the source file system on the rendered site and each
directory gets an index file listing its content. For example, if the source
looks like this:</p>
<pre class="hljs language-plaintext">content
├── index.md
├── about-me.md
└── life
    ├── failed-startup-ideas.md
    └── thoughts-on-life.md</pre><p>... the <code>life</code> directory will get an <code>life/index.html</code> page with an index of its
content.</p>
<p>If a directory contains an <code>index.md</code> file, its content will be injected into
the rendered <code>index.html</code> above the index list. This can be useful for
describing what the directory content is about or calling out individual pages.</p>
<p>Items in the index are sorted in the following order:</p>
<ol>
<li>files with <code>pinned: true</code> in the <a href="#markdown-frontmatter">frontmatter</a> are
listed at the top;</li>
<li>directories (child index pages);</li>
<li>rest of markdown files, sorted by <a href="#markdown-frontmatter">date</a>.</li>
</ol>
<h2 id="markdown-frontmatter"><a class="h-anchor" href="#markdown-frontmatter">#</a>Markdown frontmatter</h2><p>Ter extracts <a href="https://jekyllrb.com/docs/front-matter/" rel="external noopener noreferrer">YAML frontmatter</a>
delimited by <code>---</code> from markdown files. Here’s an example:</p>
<pre class="hljs language-yaml"><span class="hljs-meta">---</span>
<span class="hljs-attr">title:</span> <span class="hljs-string">My</span> <span class="hljs-string">page</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">Here’s</span> <span class="hljs-string">my</span> <span class="hljs-string">description</span>
<span class="hljs-attr">date:</span> <span class="hljs-number">2022-01-29</span>
<span class="hljs-attr">tags:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">myTag</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">otherTag</span>
<span class="hljs-attr">property:</span> <span class="hljs-string">value</span>
<span class="hljs-meta">---
</span>
<span class="hljs-comment">## My content</span></pre><p>Some properties are utilized when building a site. All of them are optional.</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody><tr>
<td>title</td>
<td></td>
<td>Page title</td>
</tr>
<tr>
<td>description</td>
<td></td>
<td>Page description</td>
</tr>
<tr>
<td>tags</td>
<td></td>
<td>Page tags</td>
</tr>
<tr>
<td>date</td>
<td></td>
<td>Page publish date in YYYY-MM-DD format</td>
</tr>
<tr>
<td>dateUpdated</td>
<td></td>
<td>Page last update date in YYYY-MM-DD format</td>
</tr>
<tr>
<td>pinned</td>
<td><code>false</code></td>
<td>Page is listed at the top of <a href="#index-pages">index lists</a></td>
</tr>
<tr>
<td>unlisted</td>
<td><code>false</code></td>
<td>Page is excluded from all <a href="#index-pages">index lists</a></td>
</tr>
<tr>
<td>draft</td>
<td><code>false</code></td>
<td>File is <a href="#ignoring-files">ignored</a> during site generation</td>
</tr>
<tr>
<td>layout</td>
<td><code>&quot;list&quot;</code></td>
<td>Layout of the <a href="#index-pages">index list</a>; can be <code>list</code>, <code>log</code> or <code>grid</code></td>
</tr>
<tr>
<td>toc</td>
<td><code>false</code></td>
<td>Show table of contents</td>
</tr>
<tr>
<td>showHeader</td>
<td><code>true</code></td>
<td>Show page header with title, description, date and tags</td>
</tr>
</tbody></table>
<h2 id="ignoring-files"><a class="h-anchor" href="#ignoring-files">#</a>Ignoring files</h2><p>Any files and folders that start with an <code>_</code> or <code>.</code> (hidden) are ignored. For
example, if there is a <code>_drafts</code> folder in the content directory, it will be
skipped during site generation.</p>
<p>In addition, any markdown file with <code>draft: true</code> in the
<a href="#markdown-frontmatter">frontmatter</a> will be ignored. To render files with
<code>draft: true</code>, pass <code>--drafts</code> flag to the main command. For example:</p>
<pre class="hljs language-sh">deno run -A https://deno.land/x/ter/main.ts --serve --drafts</pre><h2 id="dead-internal-links"><a class="h-anchor" href="#dead-internal-links">#</a>Dead internal links</h2><p>Ter automatically finds non-working internal links and lets you know about them
after building a site. Here&#39;s an example output:</p>
<pre class="hljs language-plaintext">[...]
Dead links:
/overview -&gt; /non-existent-page-name
/overview -&gt; /some-dead-link</pre>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Goals]]></title>
        <id>https://ter.kkga.me/goals</id>
        <link href="https://ter.kkga.me/goals"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[See if Ter works for you.]]></summary>
        <content type="html"><![CDATA[<p>Ter tries to solve some specific use cases effortlessly, rather than being a
full-fledged static site builder.</p>
<p>If any of the following sounds relevant, Ter might be for you.</p>
<h3 id="goals"><a class="h-anchor" href="#goals">#</a>Goals</h3><ul>
<li>The filesystem is the navigation and organization method;</li>
<li>Creating a new page (or section) should be as simple as creating a file (or
directory);</li>
<li>No bundled JavaScript -- it&#39;s just a bunch of hyperlinked documents, after
all;</li>
<li>Work out of the box, simplicity &gt; customization.</li>
</ul>
<h3 id="use-cases"><a class="h-anchor" href="#use-cases">#</a>Use cases</h3><ul>
<li>A published <a href="https://en.wikipedia.org/wiki/Personal_wiki" rel="external noopener noreferrer">personal wiki</a>;</li>
<li>A collection of <a href="/zettelkasten">Zettelkasten</a> notes;</li>
<li>A simple blog;</li>
<li>Software documentation (just like the one you&#39;re currently browsing).</li>
</ul>
<p>If you&#39;re looking for a more flexible static site generator, try something like
<a href="https://www.11ty.dev/" rel="external noopener noreferrer">11ty</a> or <a href="https://astro.build/" rel="external noopener noreferrer">Astro</a>.</p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Markdown]]></title>
        <id>https://ter.kkga.me/gfm</id>
        <link href="https://ter.kkga.me/gfm"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[Sample of Markdown.]]></summary>
        <content type="html"><![CDATA[<p>Ter uses <a href="https://github.github.com/gfm/" rel="external noopener noreferrer">GitHub Flavored Markdown (GFM)</a> via
<a href="https://marked.js.org/" rel="external noopener noreferrer">Marked</a> for rendering markdown files.</p>
<p>Below is a sample of GFM for previewing and testing purposes.</p>
<hr>
<p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>.</p>
<p>This is a normal paragraph. Bacon ipsum dolor sit amet t-bone doner shank
drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck
kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs
biltong.</p>
<blockquote>
<p>This is a blockquote. Bacon ipsum dolor sit amet t-bone doner shank drumstick,
pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa
leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.</p>
</blockquote>
<p>Internal links look like <a href="/usage/content">this</a>. External links look like
<a href="https://github.com/kkga/ter" rel="external noopener noreferrer">this</a>. Links to non-html files look like
<a href="/img/img-large.jpg">this</a>.</p>
<h1 id="header-1"><a class="h-anchor" href="#header-1">#</a>Header 1</h1><p>This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone
doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump
pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder
short ribs biltong.</p>
<h2 id="header-2"><a class="h-anchor" href="#header-2">#</a>Header 2</h2><blockquote>
<p>This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone
doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock
rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow
shoulder short ribs biltong.</p>
</blockquote>
<h3 id="header-3"><a class="h-anchor" href="#header-3">#</a>Header 3</h3><pre class="hljs language-plaintext">This is a code block following a header.</pre><h4 id="header-4"><a class="h-anchor" href="#header-4">#</a>Header 4</h4><ul>
<li>This is an unordered list following a header.</li>
<li>This is an unordered list following a header.</li>
<li>This is an unordered list following a header.</li>
</ul>
<h5 id="header-5"><a class="h-anchor" href="#header-5">#</a>Header 5</h5><ol>
<li>This is an ordered list following a header.</li>
<li>This is an ordered list following a header.</li>
<li>This is an ordered list following a header.</li>
</ol>
<h6 id="header-6"><a class="h-anchor" href="#header-6">#</a>Header 6</h6><table>
<thead>
<tr>
<th>What</th>
<th>Follows</th>
</tr>
</thead>
<tbody><tr>
<td>A table</td>
<td>A header</td>
</tr>
<tr>
<td>A table</td>
<td>A header</td>
</tr>
<tr>
<td>A table</td>
<td>A header</td>
</tr>
</tbody></table>
<p>Here is an unordered list:</p>
<ul>
<li>Salt-n-Pepa</li>
<li>Bel Biv DeVoe</li>
<li>Kid &#39;N Play</li>
</ul>
<p>And an ordered list:</p>
<ol>
<li>Michael Jackson</li>
<li>Michael Bolton</li>
<li>Michael Bublé</li>
</ol>
<p>And an unordered task list:</p>
<ul>
<li><input checked="" disabled="" type="checkbox"> Create a sample markdown document</li>
<li><input checked="" disabled="" type="checkbox"> Add task lists to it</li>
<li><input disabled="" type="checkbox"> Take a vacation</li>
</ul>
<p>And a &quot;mixed&quot; task list:</p>
<ul>
<li><input disabled="" type="checkbox"> Steal underpants</li>
<li>?</li>
<li><input disabled="" type="checkbox"> Profit!</li>
</ul>
<p>And a nested list:</p>
<ul>
<li>Jackson 5<ul>
<li>Michael</li>
<li>Tito</li>
<li>Jackie</li>
<li>Marlon</li>
<li>Jermaine</li>
</ul>
</li>
<li>TMNT<ul>
<li>Leonardo</li>
<li>Michelangelo</li>
<li>Donatello</li>
<li>Raphael</li>
</ul>
</li>
</ul>
<hr>
<p>There&#39;s a horizontal rule above and below this.</p>
<hr>
<p>Definition lists can be used with HTML syntax.</p>
<dl>
  <dt>Name</dt>
  <dd>Godzilla</dd>
  <dt>Born</dt>
  <dd>1952</dd>
  <dt>Birthplace</dt>
  <dd>Japan</dd>
  <dt>Color</dt>
  <dd>Green</dd>
</dl>

<hr>
<details>
  <summary>This is a summary of details</summary>
  <p>
    This is a paragraph inside details. Bacon ipsum dolor sit amet t-bone doner shank
    drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck
    kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs
    biltong.
  </p>
</details>

<hr>
<p>Tables should have bold headings and alternating shaded rows.</p>
<table>
<thead>
<tr>
<th>Artist</th>
<th>Album</th>
<th>Year</th>
</tr>
</thead>
<tbody><tr>
<td>Michael Jackson</td>
<td>Thriller</td>
<td>1982</td>
</tr>
<tr>
<td>Prince</td>
<td>Purple Rain</td>
<td>1984</td>
</tr>
<tr>
<td>Beastie Boys</td>
<td>License to Ill</td>
<td>1986</td>
</tr>
</tbody></table>
<p>If a table is too wide, it should condense down and/or scroll horizontally.</p>
<table>
<thead>
<tr>
<th>Artist</th>
<th>Album</th>
<th>Year</th>
<th>Label</th>
<th>Awards</th>
<th>Songs</th>
</tr>
</thead>
<tbody><tr>
<td>Michael Jackson</td>
<td>Thriller</td>
<td>1982</td>
<td>Epic Records</td>
<td>Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&amp;B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical</td>
<td>Wanna Be Startin&#39; Somethin&#39;, Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life</td>
</tr>
<tr>
<td>Prince</td>
<td>Purple Rain</td>
<td>1984</td>
<td>Warner Brothers Records</td>
<td>Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&amp;B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal</td>
<td>Let&#39;s Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I&#39;m a Star, Purple Rain</td>
</tr>
<tr>
<td>Beastie Boys</td>
<td>License to Ill</td>
<td>1986</td>
<td>Mercury Records</td>
<td>noawardsbutthistablecelliswide</td>
<td>Rhymin &amp; Stealin, The New Style, She&#39;s Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill</td>
</tr>
</tbody></table>
<hr>
<p>Code snippets like <code>var foo = &quot;bar&quot;;</code> can be shown inline.</p>
<p>Also, <code>this should vertically align</code> <del><code>with this</code></del> <del>and this</del>.</p>
<p>Code can also be shown in a block element.</p>
<pre class="hljs language-plaintext">var foo = &quot;bar&quot;;</pre><p>Code can also use syntax highlighting.</p>
<pre class="hljs language-javascript"><span class="hljs-keyword">var</span> foo = <span class="hljs-string">&quot;bar&quot;</span>;</pre><pre class="hljs language-plaintext">Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.</pre><pre class="hljs language-javascript"><span class="hljs-keyword">var</span> foo =
  <span class="hljs-string">&quot;The same thing is true for code with syntax highlighting. A single line of code should horizontally scroll if it is really long.&quot;</span>;</pre><pre class="hljs language-typescript"><span class="hljs-keyword">async</span> <span class="hljs-keyword">function</span> <span class="hljs-title function_">initializeFile</span>(<span class="hljs-params">filePath: <span class="hljs-built_in">string</span>, url: URL</span>) {
  <span class="hljs-keyword">const</span> fileResponse = <span class="hljs-keyword">await</span> <span class="hljs-title function_">fetch</span>(url).<span class="hljs-title function_">catch</span>(<span class="hljs-function">(<span class="hljs-params">err</span>) =&gt;</span> {
    <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">`Can&#x27;t fetch file: <span class="hljs-subst">${url}</span>, Error: <span class="hljs-subst">${err}</span>`</span>);
    <span class="hljs-comment">// Exit if we can&#x27;t get the file</span>
    <span class="hljs-title class_">Deno</span>.<span class="hljs-title function_">exit</span>(<span class="hljs-number">1</span>);
  });
  <span class="hljs-keyword">if</span> (fileResponse &amp;&amp; fileResponse.<span class="hljs-property">body</span>) {
    <span class="hljs-keyword">await</span> <span class="hljs-title function_">ensureDir</span>(<span class="hljs-title function_">dirname</span>(filePath));
    <span class="hljs-keyword">const</span> file = <span class="hljs-keyword">await</span> <span class="hljs-title class_">Deno</span>.<span class="hljs-title function_">open</span>(filePath, {
      <span class="hljs-attr">write</span>: <span class="hljs-literal">true</span>,
      <span class="hljs-attr">create</span>: <span class="hljs-literal">true</span>,
    });
    <span class="hljs-keyword">const</span> writableStream = <span class="hljs-title function_">writableStreamFromWriter</span>(file);
    <span class="hljs-keyword">await</span> fileResponse.<span class="hljs-property">body</span>.<span class="hljs-title function_">pipeTo</span>(writableStream);
  }
}</pre><p>Inline code inside table cells should still be distinguishable.</p>
<table>
<thead>
<tr>
<th>Language</th>
<th>Code</th>
</tr>
</thead>
<tbody><tr>
<td>Javascript</td>
<td><code>var foo = &quot;bar&quot;;</code></td>
</tr>
<tr>
<td>Ruby</td>
<td><code>foo = &quot;bar&quot;</code></td>
</tr>
</tbody></table>
<hr>
<p>Small images should be shown at their actual size.</p>
<p><img src="/img/img-small.jpg" alt="Bridge"/></p>
<p>Large images should always scale down and fit in the content container.</p>
<figure>
  <img src="/img/img-large.jpg">
  <figcaption>This a figcaption</figcaption>
</figure>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Zettelkasten]]></title>
        <id>https://ter.kkga.me/zettelkasten</id>
        <link href="https://ter.kkga.me/zettelkasten"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
        <summary type="html"><![CDATA[Note-taking system.]]></summary>
        <content type="html"><![CDATA[<p>From <a href="https://en.wikipedia.org/wiki/Zettelkasten" rel="external noopener noreferrer">Wikipedia</a>:</p>
<blockquote>
<p>The zettelkasten (German: &quot;slip box&quot;, plural zettelkästen) is a system of
note-taking and personal knowledge management used in research and study.</p>
</blockquote>
<hr>
<p><a href="https://www.reddit.com/r/Zettelkasten/comments/b566a4/what_is_a_zettelkasten/" rel="external noopener noreferrer">This post</a>
on the r/Zettelkasten subreddit has a great introduction to the system, but
here&#39;s a short snippet:</p>
<blockquote>
<p>The term comes from Niklaus Luhmann, a German autodidact and famously prolific
academic sociologist. Similar techniques were developed independently by
Nabokov and Prisig, among others.</p>
</blockquote>
<blockquote>
<p>Luhmann used a physical box of cards -- imagine an analog library card
catalog. Most modern practitioners use digital slip-boxes. The core of the
technique lies in a few simple principles:</p>
</blockquote>
<blockquote>
<ul>
<li>Write liberally about what you think and read. Write in detail so you can
quickly re-internalize ideas after you forget them.</li>
<li>Wherever you can, separate notes into small and distinct ideas.</li>
<li>When you notice connections between ideas, encode them by writing references
from one note to another.</li>
<li>When you want to think or write, read your notes and follow the references
between them.</li>
</ul>
</blockquote>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tags]]></title>
        <id>https://ter.kkga.me/tags</id>
        <link href="https://ter.kkga.me/tags"/>
        <updated>2023-12-22T16:28:27.630Z</updated>
    </entry>
</feed>