<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:webfeeds="http://webfeeds.org/rss/1.0">
  <channel>
    <title>Blog on staticnotes.org</title>
    <link>https://staticnotes.org/tags/blog/</link>
    <webfeeds:icon>https://staticnotes.org/logo.png</webfeeds:icon>
    <webfeeds:logo>https://staticnotes.org/logo.png</webfeeds:logo>
    <description>Recent content in Blog on staticnotes.org</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Wed, 12 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://staticnotes.org/tags/blog/index.xml" rel="self" type="application/rss+xml" /><image>
      <url>https://staticnotes.org/logo.png</url>
      <title>staticnotes.org</title>
      <link>https://staticnotes.org/tags/blog/</link>
    </image>
    
    <item>
      <title>About this blog and its microfeatures</title>
      <link>https://staticnotes.org/posts/blog-microfeatures/</link>
      <pubDate>Wed, 12 Feb 2025 00:00:00 +0000</pubDate>
      
      <guid>https://staticnotes.org/posts/blog-microfeatures/</guid>
      <description>&lt;p&gt;No blog would be complete without a post explaining the code and frameworks used to generate it. In fact, often tweaking the blog code is more fun than actually writing something.&lt;/p&gt;&#xA;&lt;h2 id=&#34;static-site-generator&#34; class=&#34;content-heading&#34;&gt;Static site generator&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;I try to keep the tech of this blog simple. I am using the &lt;a href=&#34;https://gohugo.io/&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;Hugo&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.7em; padding-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 512 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt; static site generator and chose one of the simplest themes &lt;a href=&#34;https://themes.gohugo.io/themes/hugo-bearcub/&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;Bear Cub&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.7em; padding-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 512 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt; to get started. What I liked about the theme was its small code footprint, no JavaScript/ads/trackers, and it was entirely focused on text. The generated pages are small and load fast. The simple layout made it very easy for me to understand and modify it over time.&lt;/p&gt;&#xA;&lt;p&gt;The source code is hosted on GitLab and the static sites are published to GitLab Pages. This means that to publish a new post, I just have to push a commit with the changes to the remote repository.&lt;/p&gt;&#xA;&lt;h2 id=&#34;supporting-math-code-jupyter-notebooks&#34; class=&#34;content-heading&#34;&gt;Supporting math, code, Jupyter notebooks&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;At the time of starting this blog I worked as a data scientist. I wanted to be able to share reproducible Jupyter notebooks that I could easily convert to HTML and embed in this blog. &lt;span class=&#34;sidenote-number&#34;&gt;&lt;small class=&#34;sidenote&#34;&gt; All notebooks are reproducible unless the data used in the blog post is too large to be uploaded to GitLab. &lt;/small&gt;&lt;/span&gt; I put my notebooks into the &lt;code&gt;/notebooks&lt;/code&gt; folder of the repository and use the script &lt;a href=&#34;https://github.com/vlunot/nb2hugo&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;nb2hugo&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.7em; padding-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 512 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt; to convert the notebooks to markdown files. At the bottom of the post you can usually find the link to the Jupyter notebook, the poetry environment, and the data. I wrote about this &lt;a href=&#34;https://staticnotes.org/posts/hugo-and-jupyter/&#34; &#xA;&gt;here&#xA;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The equations on this blog are rendered with &lt;a href=&#34;https://katex.org/&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;KaTeX&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.7em; padding-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 512 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;content-types&#34; class=&#34;content-heading&#34;&gt;Content types&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The content of this blog has four different types:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Posts&lt;/strong&gt; are normal blog posts.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;TILs&lt;/strong&gt;, or Today-I-Learned, are notes documenting something small I have learned on a day. The idea is based on &lt;a href=&#34;https://til.simonwillison.net/&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;Simon Willison&amp;rsquo;s TILs&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.7em; padding-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 512 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Links&lt;/strong&gt; appear in &lt;strong&gt;Feeds&lt;/strong&gt; and are links that I want to share, usually with a short comment. They can be thought of as a retweet.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Book&lt;/strong&gt; reviews.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;1-3 are shown in reverse-chronological order in the main page&amp;rsquo;s feed.&lt;/p&gt;&#xA;&lt;h2 id=&#34;microfeatures&#34; class=&#34;content-heading&#34;&gt;Microfeatures&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;I like Daniel Fedorin&amp;rsquo;s post on &lt;a href=&#34;https://danilafe.com/blog/blog_microfeatures/&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;blog microfeatures&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.7em; padding-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 512 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt;. In the same spirit, here are the microfeatures that I have added:&lt;/p&gt;&#xA;&lt;h3 id=&#34;recommendations&#34; class=&#34;content-heading&#34;&gt;Recommendations&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Most pages have post recommendations at the bottom. I compute the (cosine) similarity of posts after summarizing them with a local LLM, computing embeddings, and storing them in a local Chroma vector database. The two most similar posts and their cosine similarity are then displayed. Note that all of this is pre-generated and static. I wrote in more detail about how this works &lt;a href=&#34;https://staticnotes.org/posts/how-recommendations-work/&#34; &#xA;&gt;here&#xA;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;For this post, they look like this:&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;similar-post-section&#34;&gt;&#xA;    Similar posts:&#xA;    &lt;ul class=&#34;similar-posts-list&#34;&gt;&#xA;      &#xA;        &lt;li&gt;&#xA;          &lt;div class=&#34;similar-post-title&#34;&gt;&lt;a  href=&#34;../../posts/hugo-and-jupyter/&#34;&gt;How to display Jupyter notebooks on your Hugo blog&lt;/a&gt; &lt;a href=&#34;../../posts/how-recommendations-work&#34;&gt;(0.55)&lt;/a&gt;&lt;/div&gt; &#xA;        &lt;/li&gt;&#xA;      &#xA;        &lt;li&gt;&#xA;          &lt;div class=&#34;similar-post-title&#34;&gt;&lt;a  href=&#34;../../posts/how-recommendations-work/&#34;&gt;How related posts are computed&lt;/a&gt; &lt;a href=&#34;../../posts/how-recommendations-work&#34;&gt;(0.458)&lt;/a&gt;&lt;/div&gt; &#xA;        &lt;/li&gt;&#xA;      &#xA;    &lt;/ul&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;sidenotes&#34; class=&#34;content-heading&#34;&gt;Sidenotes&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;I can add sidenotes&lt;span class=&#34;sidenote-number&#34;&gt;&lt;small class=&#34;sidenote&#34;&gt; like this one.&lt;/small&gt;&lt;/span&gt; to a blog post by using the &lt;code&gt;{{% sidenote %}}&lt;/code&gt; shortcode. I really like to use this for comments that are additional to the primary content or later updates to a blog post.&lt;/p&gt;&#xA;&lt;h3 id=&#34;markers-for-external-links&#34; class=&#34;content-heading&#34;&gt;Markers for external links&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Internal &lt;a href=&#34;https://staticnotes.org/posts/blog-microfeatures/&#34; &#xA;&gt;links&#xA;&lt;/a&gt; on this blog have no marker and open in the same window. &lt;a href=&#34;https://www.google.com/&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;External links&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.7em; padding-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 512 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt; are appended with an icon and open in a new window. Inspired by &lt;a href=&#34;https://gwern.net/&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;gwern.net&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.7em; padding-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 512 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt;, I also added specific icons for particular sites: &lt;a href=&#34;https://x.com/jack/status/20&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;tweet&#xA;    &#xA;&#xA;        &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.9em; margin-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 448 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;        &lt;/span&gt;&#xA;&#xA;        &#xA;    &#xA;&lt;/a&gt; on x.com, &lt;a href=&#34;https://www.goodreads.com/book/show/42844155-harry-potter-and-the-philosopher-s-stone&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;book link&#xA;    &#xA;&#xA;        &#xA;    &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;        style=&#34;height: 0.7em; width: 0.9em; margin-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;        class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;        viewBox=&#34;0 0 448 512&#34;&gt;&#xA;        &lt;path fill=&#34;currentColor&#34;&#xA;            d=&#34;M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8 .3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9 .4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2 .5-1 1.1-1.9 1.7-2.9 .2 .1 .4 .1 .6 .2 .3 3.8 .2 30.7 .1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z&#34;&gt;&#xA;        &lt;/path&gt;&#xA;    &lt;/svg&gt;&#xA;&lt;/span&gt;&#xA;&#xA;&#xA;&#xA;    &#xA;&lt;/a&gt; on goodreads, &lt;a href=&#34;https://www.youtube.com/watch?v=MiUHjLxm3V0&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;video&#xA;    &#xA;&#xA;        &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;            style=&#34;height: 0.7em; width: 0.9em; margin-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;            class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;            viewBox=&#34;0 0 448 512&#34;&gt;&#xA;            &lt;path fill=&#34;currentColor&#34;&#xA;                d=&#34;M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z&#34;&gt;&#xA;            &lt;/path&gt;&#xA;        &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;&#xA;    &#xA;    &#xA;&lt;/a&gt; on youtube, and &lt;a href=&#34;https://en.wikipedia.org/wiki/Blog&#34; &#xA;&#xA;    target=&#34;_blank&#34;&#xA;    &gt;article&#xA;    &#xA;        &lt;span style=&#34;white-space: nowrap&#34;&gt;&amp;thinsp;&lt;svg&#xA;                style=&#34;height: 0.7em; width: 0.7em; margin-left: -0.2em;&#34; focusable=&#34;false&#34; data-prefix=&#34;fas&#34; data-icon=&#34;external-link-alt&#34;&#xA;                class=&#34;svg-inline--fa fa-external-link-alt fa-w-16&#34; role=&#34;img&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;                viewBox=&#34;0 0 640 512&#34;&gt;&#xA;                &lt;path fill=&#34;currentColor&#34;&#xA;                    d=&#34;M640 51.2l-.3 12.2c-28.1 .8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3 .3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4 .2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5 .3v13.1c-19.4 .6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4 .3-3.6 0-10.3 .3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5 .8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1 .2 .5z&#34;&gt;&#xA;                &lt;/path&gt;&#xA;            &lt;/svg&gt;&#xA;        &lt;/span&gt;&#xA;        &#xA;    &#xA;&lt;/a&gt; on wikipedia.&lt;/p&gt;&#xA;&lt;h3 id=&#34;link-blog--retweets--boosts&#34; class=&#34;content-heading&#34;&gt;Link-blog / retweets / boosts&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;The main page of this blog has a section &lt;code&gt;Recent&lt;/code&gt; which displays a feed of the content being posted. It&amp;rsquo;s a mix of posts, TILs and link-blog entries and should mimic a social media profile feed.&#xA;Shared links have a reshare/boost symbol and usually a short comment about them. They also have a &lt;code&gt;via&lt;/code&gt; link to the place where I found this link. This is also inspired by Simon Willison&amp;rsquo;s main page.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&lt;figure&gt;&#xA;  &lt;div class=&#34;image-wrapper&#34;&gt;&#xA;  &lt;img src=&#34;https://staticnotes.org/posts/blog-microfeatures/linkblogentry.png&#34; alt=&#34;SharedLink&#34; loading=&#34;lazy&#34; /&gt;&#xA;  &lt;figcaption&gt;Figure 1. A shared link.&lt;/figcaption&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h3 id=&#34;rss&#34; class=&#34;content-heading&#34;&gt;RSS&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;I provide &lt;a href=&#34;https://staticnotes.org/index.xml&#34; &#xA;&gt;RSS feeds&#xA;&lt;/a&gt; for all content types and also separate feeds for &lt;a href=&#34;https://staticnotes.org/posts.xml&#34; &#xA;&gt;Posts&#xA;&lt;/a&gt;, &lt;a href=&#34;https://staticnotes.org/til.xml&#34; &#xA;&gt;TIL&#xA;&lt;/a&gt;, &lt;a href=&#34;https://staticnotes.org/feed.xml&#34; &#xA;&gt;Feed&#xA;&lt;/a&gt;, and &lt;a href=&#34;https://staticnotes.org/books.xml&#34; &#xA;&gt;Books&#xA;&lt;/a&gt; only. I wrote more about this &lt;a href=&#34;https://staticnotes.org/til/hugo-with-separate-rss-feeds/&#34; &#xA;&gt;here&#xA;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;table-of-contents&#34; class=&#34;content-heading&#34;&gt;Table of Contents&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Longer blog posts have a table of contents section at the beginning of the post.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&lt;figure&gt;&#xA;  &lt;div class=&#34;image-wrapper&#34;&gt;&#xA;  &lt;img src=&#34;https://staticnotes.org/posts/blog-microfeatures/tableofcontents.png&#34; alt=&#34;TableOfContents&#34; loading=&#34;lazy&#34; /&gt;&#xA;  &lt;figcaption&gt;Figure 2. Some longer posts show a table of contents at the top.&lt;/figcaption&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h3 id=&#34;linkable-headers&#34; class=&#34;content-heading&#34;&gt;Linkable Headers&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;The main headers of blog posts have a linkable §-symbol in front of them. This means you can easily link to a specific section of the blog post.&lt;/p&gt;&#xA;&lt;h3 id=&#34;drawings&#34; class=&#34;content-heading&#34;&gt;Drawings&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;I added the ability to provide an optional SVG image that is added to the background next to the post title, e.g. &lt;a href=&#34;https://staticnotes.org/posts/writing-well/&#34; &#xA;&gt;here&#xA;&lt;/a&gt; and &lt;a href=&#34;https://staticnotes.org/posts/reading-and-note-taking/&#34; &#xA;&gt;here&#xA;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&lt;figure&gt;&#xA;  &lt;div class=&#34;image-wrapper&#34;&gt;&#xA;  &lt;img src=&#34;https://staticnotes.org/posts/blog-microfeatures/title_drawing.png&#34; alt=&#34;TitleDrawing&#34; loading=&#34;lazy&#34; /&gt;&#xA;  &lt;figcaption&gt;Figure 3. Blog posts can have an SVG drawing next to the title.&lt;/figcaption&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;h3 id=&#34;prompts--llm-responses&#34; class=&#34;content-heading&#34;&gt;Prompts / LLM responses&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;When I first wrote about &lt;a href=&#34;https://staticnotes.org/til/hugo-with-separate-rss-feeds/&#34; &#xA;&gt;using an LLM to build something&#xA;&lt;/a&gt; I thought that it would be quite common to share a prompt and the LLM&amp;rsquo;s output in your blog post. So I built a small feature to display them in a chat-like fashion. You can use &lt;code&gt;{{% prompt %}}&lt;/code&gt; to put text into a prompt chat bubble, and &lt;code&gt;{{% llm %}}&lt;/code&gt; for the model response (colored by model). Turns out, this is not something I regularly need and nobody wants to read someone else&amp;rsquo;s prompt or the LLM&amp;rsquo;s answer anymore.&lt;/p&gt;&#xA;&lt;div class=&#34;promptbox&#34;&gt;&#xA;    &lt;div class=&#34;promptbox-title&#34;&gt;&#xA;        Prompt&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;promptbox-content&#34;&gt;&#xA;        How many Rs are in the word strawberry?      &lt;/div&gt; &#xA;&lt;/div&gt;&#xA;&lt;details class=&#34;llmbox llm-anthropic&#34;&gt;&#xA;    &lt;summary class=&#34;llmbox-title&#34;&gt;&#xA;        Model: claude-opus-5-5 - response &#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;llmbox-content&#34;&gt;&#xA;&lt;p&gt;There are 3 Rs in &amp;ldquo;strawberry&amp;rdquo;: strawberry.&#xA;&lt;/div&gt;&lt;/p&gt;&#xA;&lt;/details&gt;&#xA;&lt;details class=&#34;llmbox llm-openai&#34;&gt;&#xA;    &lt;summary class=&#34;llmbox-title&#34;&gt;&#xA;        Model: openai-sol-5-6 - response &#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;llmbox-content&#34;&gt;&#xA;&lt;p&gt;There are 3 Rs in &amp;ldquo;strawberry&amp;rdquo;: strawberry.&#xA;&lt;/div&gt;&lt;/p&gt;&#xA;&lt;/details&gt;&#xA;&lt;details class=&#34;llmbox llm-qwen&#34;&gt;&#xA;    &lt;summary class=&#34;llmbox-title&#34;&gt;&#xA;        Model: qwen-4-3 - response &#xA;    &lt;/summary&gt;&#xA;    &lt;div class=&#34;llmbox-content&#34;&gt;&#xA;&lt;p&gt;There are 3 Rs in &amp;ldquo;strawberry&amp;rdquo;: strawberry.&#xA;&lt;/div&gt;&lt;/p&gt;&#xA;&lt;/details&gt;&#xA;</description>
    </item>
    
  </channel>
</rss>
