<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="pretty-atom-feed.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>some cat blog</title>
  <subtitle>some blog of some cat</subtitle>
  <link href="https://actuallysomecat.github.io/feed/feed.xml" rel="self" />
  <link href="https://actuallysomecat.github.io/" />
  <updated>2025-05-29T14:01:00Z</updated>
  <id>https://actuallysomecat.github.io/</id>
  <author>
    <name>cat</name>
  </author>
  <entry>
    <title>wikilinks + image embeds in 11ty</title>
    <link href="https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/" />
    <updated>2025-05-29T14:01:00Z</updated>
    <id>https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/</id>
    <content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;contents:&lt;/p&gt;
&lt;nav class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#the-situation&quot;&gt;the situation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#the-format&quot;&gt;the format&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#about-pipes&quot;&gt;about pipes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#features&quot;&gt;features&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#default-alt-text&quot;&gt;default alt text&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#options&quot;&gt;options&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#my-use&quot;&gt;my use&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#final-thoughts&quot;&gt;final thoughts&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;hr&gt;
&lt;p&gt;hey &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_peek.png&quot; alt=&quot;emoji: neocat_peek&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt; i did a thing again: &lt;a href=&quot;https://github.com/actuallysomecat/markdown-it-wikilinks-plus&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-wikilinks-plus&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;it&#39;s another plugin for &lt;a href=&quot;https://11ty.dev&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;11ty&lt;/a&gt; with markdown-it!&lt;/p&gt;
&lt;h2 id=&quot;the-situation&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#the-situation&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; the situation&lt;/h2&gt;
&lt;p&gt;so this blog is made with 11ty and i use &lt;a href=&quot;https://obsidian.md&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;Obsidian&lt;/a&gt; as my cms basically.&lt;br&gt;
i write posts in obsidian and my obsidian vault is part of the 11ty environment. &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_comfy.png&quot; alt=&quot;emoji: neocat_comfy&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;in obsidian, i use the default &lt;code class=&quot;language-text&quot;&gt;shortest path when possible&lt;/code&gt; option for new links (in obsidian &lt;code class=&quot;language-text&quot;&gt;settings &amp;gt; Files and links &amp;gt; New link format&lt;/code&gt;) and my filenaming conventions for posts and image embeds means i never really have to worry about duplicate filenames so my links and image embeds are always just &lt;code class=&quot;language-text&quot;&gt;[[name of note]]&lt;/code&gt; and &lt;code class=&quot;language-text&quot;&gt;![[name of image.png]]&lt;/code&gt; or whatever, simple. it works for me.&lt;/p&gt;
&lt;p&gt;at first i was using two 11ty/markdown-it plugins for handling wikilinks and image embeds, but they were both doing regex on somewhat-similar things so hmm &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_think.png&quot; alt=&quot;emoji: neocat_think&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;so this is a plugin that uses the &lt;a href=&quot;https://markdown-it.github.io/markdown-it/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it api&lt;/a&gt; (token and parsing stuff) rather than regex to detect  wikilinks and image embeds and convert them to html, with some options! &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_approve.png&quot; alt=&quot;emoji: neocat_approve&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-format&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#the-format&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; the format&lt;/h2&gt;
&lt;p&gt;in obsidian, wikilinks can have a &lt;strong&gt;link label&lt;/strong&gt; (the text of the link) by putting it after a pipe in the link.&lt;br&gt;
also, image embeds can have &lt;strong&gt;alt text&lt;/strong&gt; and/or &lt;strong&gt;display dimensions&lt;/strong&gt; by putting a pipe after the image filename:&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;info&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-info&quot;&gt;&lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;10&quot;&gt;&lt;/circle&gt;&lt;path d=&quot;M12 16v-4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 8h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;examples&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;[[some page|see here]]&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;link to &lt;code class=&quot;language-text&quot;&gt;some page&lt;/code&gt; with link text &lt;code class=&quot;language-text&quot;&gt;see here&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;![[image.png|some cat]]&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;image embed with alt text &lt;code class=&quot;language-text&quot;&gt;some cat&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;![[image.png|200x200]]&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;image embed with display dimensions 200x200 (in obsidian)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;![[image.png|some cat|200x200]]&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;combo!&lt;/em&gt; alt text and dimensions!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;h3 id=&quot;about-pipes&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#about-pipes&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; about pipes&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_think.png&quot; alt=&quot;emoji: neocat_think&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt; &quot;but cat, what about if i wanna put some pipes in my link label?&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;go ahead! &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_approve.png&quot; alt=&quot;emoji: neocat_approve&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;for wikilinks, this plugin uses the &lt;em&gt;first&lt;/em&gt; pipe as a divider between the link target and the link label and includes any other pipes (if any) as part of the link label text!&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;info&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-info&quot;&gt;&lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;10&quot;&gt;&lt;/circle&gt;&lt;path d=&quot;M12 16v-4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 8h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;example&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;for a wikilink like &lt;code class=&quot;language-text&quot;&gt;[[some page|label | with | pipes]]&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;link label would be &lt;code class=&quot;language-text&quot;&gt;label | with | pipes&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_thinking.png&quot; alt=&quot;emoji: neocat_thinking&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt; &quot;but cat, what about--&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;you can put them in the image embed alt text too! &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_approve.png&quot; alt=&quot;emoji: neocat_approve&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;the plugin checks the &lt;em&gt;last&lt;/em&gt; pipe section in image embeds to see if it&#39;s dimensions or not.&lt;/p&gt;
&lt;p&gt;if the last pipe section is &lt;strong&gt;not&lt;/strong&gt; dimensions, everything &lt;em&gt;after&lt;/em&gt; the &lt;em&gt;first&lt;/em&gt; pipe is the alt text!&lt;br&gt;
if the last pipe section &lt;strong&gt;is&lt;/strong&gt; dimensions, everything &lt;em&gt;between&lt;/em&gt; the first and last pipe is the alt text!&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;info&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-info&quot;&gt;&lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;10&quot;&gt;&lt;/circle&gt;&lt;path d=&quot;M12 16v-4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 8h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;example&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;for an image embed like &lt;code class=&quot;language-text&quot;&gt;![[image.png|alt | with | pipes|200x200]]&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;alt=&quot;alt | with | pipes&quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;style=&quot;width: 200px; height: 200px;&quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;h2 id=&quot;features&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#features&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; features&lt;/h2&gt;
&lt;p&gt;the plugin can convert wikilinks to &lt;code class=&quot;language-text&quot;&gt;&amp;lt;a&amp;gt;&lt;/code&gt; links (with link label) and convert image embeds to &lt;code class=&quot;language-text&quot;&gt;&amp;lt;img&amp;gt;&lt;/code&gt; (with &lt;strong&gt;alt text&lt;/strong&gt; and/or &lt;strong&gt;dimensions&lt;/strong&gt;, if either or both are included).&lt;br&gt;
dimensions get used as an inline &lt;code class=&quot;language-text&quot;&gt;style&lt;/code&gt; attribute (&lt;code class=&quot;language-text&quot;&gt;width&lt;/code&gt; and &lt;code class=&quot;language-text&quot;&gt;height&lt;/code&gt;) on the &lt;code class=&quot;language-text&quot;&gt;&amp;lt;img&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;it can also insert an &lt;strong&gt;alt text&lt;/strong&gt; attribute for image embeds that don&#39;t have any! &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_laptop_notice.png&quot; alt=&quot;emoji: neocat_laptop_notice&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;default-alt-text&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#default-alt-text&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; default alt text&lt;/h3&gt;
&lt;p&gt;the &lt;code class=&quot;language-text&quot;&gt;imageEmbed.defaultAltText&lt;/code&gt; option can be either a &lt;strong&gt;boolean&lt;/strong&gt; or a &lt;strong&gt;string&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;if it&#39;s &lt;code class=&quot;language-text&quot;&gt;true&lt;/code&gt;, any image embeds that are &lt;em&gt;missing&lt;/em&gt; alt text will get the image name as the alt text. not a great placeholder tbh.&lt;/p&gt;
&lt;p&gt;if it&#39;s a &lt;code class=&quot;language-text&quot;&gt;string&lt;/code&gt;, any image embeds that are &lt;em&gt;missing&lt;/em&gt; alt text will get the provided string as the alt text. this might be useful if you want some easy to find placeholder to do stuff with. this also means it can take an empty string (&lt;code class=&quot;language-text&quot;&gt;&#39;&#39;&lt;/code&gt;) to give image embeds with no alt text an &lt;code class=&quot;language-text&quot;&gt;alt=&quot;&quot;&lt;/code&gt;, which could be useful. &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_think.png&quot; alt=&quot;emoji: neocat_think&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;options&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#options&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; options&lt;/h2&gt;
&lt;p&gt;yep! &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_happy.png&quot; alt=&quot;emoji: neocat_happy&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;for wikilinks and/or image embeds, there are &lt;a href=&quot;https://github.com/actuallysomecat/markdown-it-wikilinks-plus?tab=readme-ov-file#options&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;options&lt;/a&gt; for, among other things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;setting the absolute base URL and relative base URL&lt;/li&gt;
&lt;li&gt;forcing all the links/embeds to be absolute pathing&lt;/li&gt;
&lt;li&gt;doing custom post processing of targets and link labels and alt text&lt;/li&gt;
&lt;li&gt;adding a uri suffix&lt;/li&gt;
&lt;li&gt;adding custom html attributes&lt;/li&gt;
&lt;li&gt;allowing link label formatting
&lt;ul&gt;
&lt;li&gt;like &lt;code class=&quot;language-text&quot;&gt;[[some page|a *neat* link]]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;my-use&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#my-use&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; my use&lt;/h2&gt;
&lt;p&gt;in my options, i force all links and image embeds to be absolute pathing and give my absolute base URL (&lt;code class=&quot;language-text&quot;&gt;/blog/&lt;/code&gt; for wikilinks, &lt;code class=&quot;language-text&quot;&gt;/blog/assets/images/&lt;/code&gt; for image embeds), give the wikilinks a &lt;code class=&quot;language-text&quot;&gt;class: &#39;internal-link&#39;&lt;/code&gt; and image embeds a &lt;code class=&quot;language-text&quot;&gt;class: &#39;image-embed&#39;&lt;/code&gt;, and give image embeds a &lt;code class=&quot;language-text&quot;&gt;defaultAltText: &#39;&#39;&lt;/code&gt; so any images without alt text get a &lt;code class=&quot;language-text&quot;&gt;alt=&quot;&quot;&lt;/code&gt; attribute.&lt;br&gt;
works for me &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_comfy.png&quot; alt=&quot;emoji: neocat_comfy&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;final-thoughts&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-29%20-%20wikilinks%20+%20image%20embeds%20in%2011ty/#final-thoughts&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; final thoughts&lt;/h2&gt;
&lt;p&gt;meow &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_heart.png&quot; alt=&quot;emoji: neocat_heart&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;</content>
  </entry>
  <entry>
    <title>custom emoji in 11ty with a plugin</title>
    <link href="https://actuallysomecat.github.io/blog/2025-05-18%20-%20custom%20emoji%20shortcodes%20in%2011ty%20with%20a%20plugin/" />
    <updated>2025-05-18T14:51:00Z</updated>
    <id>https://actuallysomecat.github.io/blog/2025-05-18%20-%20custom%20emoji%20shortcodes%20in%2011ty%20with%20a%20plugin/</id>
    <content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;hey &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_peek.png&quot; alt=&quot;emoji: neocat_peek&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt; i did a thing: &lt;a href=&quot;https://github.com/actuallysomecat/markdown-it-emoji-customizer&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-emoji-customizer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;it&#39;s a plugin for &lt;a href=&quot;https://11ty.dev&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;11ty&lt;/a&gt;, as a helper module for &lt;a href=&quot;https://github.com/markdown-it/markdown-it-emoji&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-emoji&lt;/a&gt;, so it&#39;s possible to easily have &lt;strong&gt;custom emoji/icon shortcodes&lt;/strong&gt;! &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_3c.png&quot; alt=&quot;emoji: neocat_3c&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;takes in your &lt;code class=&quot;language-text&quot;&gt;md&lt;/code&gt; library from 11ty&lt;/li&gt;
&lt;li&gt;scans a dir for custom emoji images&lt;/li&gt;
&lt;li&gt;makes the definitions (the shortcodes and info about what image the shortcode refers to)&lt;/li&gt;
&lt;li&gt;optionally also converts shortcodes for standard unicode emoji to their unicode equivalent&lt;/li&gt;
&lt;li&gt;makes an &lt;code class=&quot;language-text&quot;&gt;&amp;lt;img&amp;gt;&lt;/code&gt; with custom attributes for the custom emoji, wrapped in a &lt;code class=&quot;language-text&quot;&gt;&amp;lt;span&amp;gt;&lt;/code&gt; with a custom class (specific to these custom emoji image spans)&lt;/li&gt;
&lt;li&gt;wraps the unicode emoji that were converted from shortcode (if any) in a &lt;code class=&quot;language-text&quot;&gt;&amp;lt;span&amp;gt;&lt;/code&gt; with a custom class name (specific to these unicode emoji spans)&lt;/li&gt;
&lt;li&gt;also includes some (optional) basic &lt;code class=&quot;language-text&quot;&gt;css&lt;/code&gt; snippet to try to make the custom emoji and unicode emoji a bit more uniform in appearance (at least on my site, on my device lol)&lt;/li&gt;
&lt;li&gt;returns the modified &lt;code class=&quot;language-text&quot;&gt;md&lt;/code&gt; library&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;so when the site is built, if you have some markdown like:&lt;br&gt;
&lt;code class=&quot;language-text&quot;&gt;:cat: :arrow_left: *unicode!*&lt;/code&gt;&lt;br&gt;
&lt;code class=&quot;language-text&quot;&gt;:neocat: *custom!*&lt;/code&gt;&lt;br&gt;
you&#39;ll get something like:&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;unicode-emoji--span&quot;&gt;🐱&lt;/span&gt; &lt;span class=&quot;unicode-emoji--span&quot;&gt;⬅️&lt;/span&gt; &lt;em&gt;unicode!&lt;/em&gt;&lt;br&gt;
&lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat.png&quot; alt=&quot;emoji: neocat&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt; &lt;em&gt;custom!&lt;/em&gt;&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;heart&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-heart-icon lucide-heart&quot;&gt;&lt;path d=&quot;M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;Heart&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;&lt;strong&gt;much thanks and shoutout and meowing to &lt;a href=&quot;https://volpeon.ink&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;volpeon&lt;/a&gt; for making &lt;a href=&quot;https://volpeon.ink/emojis/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;custom emoji sets&lt;/a&gt; that are so good i was compelled to create this plugin to use them here!&lt;/strong&gt; &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_heart.png&quot; alt=&quot;emoji: neocat_heart&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;br&gt;
(neocat emoji license: &lt;a href=&quot;https://spdx.org/licenses/CC-BY-NC-SA-4.0.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;CC-BY-NC-SA-4.0&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</content>
  </entry>
  <entry>
    <title>blog - obsidian templates and use</title>
    <link href="https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/" />
    <updated>2025-05-05T18:50:00Z</updated>
    <id>https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/</id>
    <content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;nav class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#intro&quot;&gt;intro&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#quickadd-setup&quot;&gt;QuickAdd setup&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#new-draft-template&quot;&gt;new draft template&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#title&quot;&gt;title&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#date&quot;&gt;date&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#modified&quot;&gt;modified&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#description&quot;&gt;description&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#tags&quot;&gt;tags&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#frontmatter-result&quot;&gt;frontmatter result&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#promoting-drafts-to-posts&quot;&gt;promoting drafts to posts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#outro&quot;&gt;outro&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#links&quot;&gt;links&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;h2 id=&quot;intro&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#intro&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; intro&lt;/h2&gt;
&lt;p&gt;by using the obsidian plugins &lt;a href=&quot;https://github.com/chhoumann/quickadd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;QuickAdd&lt;/a&gt; and &lt;a href=&quot;https://github.com/SilentVoid13/Templater&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;Templater&lt;/a&gt;, i can quickly make draft posts and later promote them to regular blog posts.&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;warning&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-alert-triangle&quot;&gt;&lt;path d=&quot;m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 9v4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 17h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;warning&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;this is my &quot;opinionated&quot; way to do it, a bit silly, and there are other ways to do it, but &lt;em&gt;c&#39;est la vie&lt;/em&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;h2 id=&quot;quickadd-setup&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#quickadd-setup&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; QuickAdd setup&lt;/h2&gt;
&lt;p&gt;in QuickAdd i use a template (detailed below) with the following options:&lt;br&gt;
&lt;a href=&quot;/blog/assets/images/obsidian-quickadd-draft.png&quot; class=&quot;photoswipe-item&quot; data-pswp-width=&quot;571&quot; data-pswp-height=&quot;727&quot;&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://actuallysomecat.github.io/img/-yZ7zSO-wj-571.avif 571w&quot;&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://actuallysomecat.github.io/img/-yZ7zSO-wj-571.webp 571w&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://actuallysomecat.github.io/img/-yZ7zSO-wj-571.png&quot; class=&quot;image-embed&quot; data-pswp-original=&quot;/blog/assets/images/obsidian-quickadd-draft.png&quot; alt=&quot;cropped screenshot of a QuickAdd action setup for making my drafts&quot; width=&quot;571&quot; height=&quot;727&quot;&gt;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;this creates a new draft in &lt;code class=&quot;language-text&quot;&gt;/blog/drafts/&lt;/code&gt;, using a template creatively named &lt;code class=&quot;language-text&quot;&gt;_obsidian_templates/blog_post_draft.md&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;executing this action prompts for a filename (the bit after the date and separator), resulting in something like &lt;code class=&quot;language-text&quot;&gt;/blog/drafts/2025-05-05 - some post.md&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;the draft opens in a new focused tab in obsidian, after some prompts.&lt;/p&gt;
&lt;p&gt;the filename then gets used by the template to determine the frontmatter &lt;code class=&quot;language-text&quot;&gt;title&lt;/code&gt; (more information in the next section).&lt;/p&gt;
&lt;h2 id=&quot;new-draft-template&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#new-draft-template&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; new draft template&lt;/h2&gt;
&lt;p&gt;this template (&lt;code class=&quot;language-text&quot;&gt;blog_post_draft.md&lt;/code&gt;) used by QuickAdd (above) has the following frontmatter block:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;
&lt;span class=&quot;token literal-property property&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot; - &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;slice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot; - &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token literal-property property&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;date&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;YYYY-MM-DDTHH:mm&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token literal-property property&quot;&gt;modified&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; 
&lt;span class=&quot;token literal-property property&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;VALUE&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;description&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token literal-property property&quot;&gt;tags&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; tagsArray &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;{{VALUE:tags}}&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;tag&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;  - &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;tag&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;trim&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	tR &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; tagsArray&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;&#92;n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;breaking it down:&lt;/p&gt;
&lt;h3 id=&quot;title&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#title&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; title&lt;/h3&gt;
&lt;p&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token literal-property property&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot; - &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;slice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot; - &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;this takes the filename and turns it into the &lt;code class=&quot;language-text&quot;&gt;title&lt;/code&gt;.&lt;br&gt;
the split and slice and join is to split it all by instances of &lt;code class=&quot;language-text&quot;&gt;-&lt;/code&gt; (space dash space), slice off the first section, then join the remaining pieces with &lt;code class=&quot;language-text&quot;&gt;-&lt;/code&gt; (space dash space).&lt;/p&gt;
&lt;p&gt;the reason i&#39;m doing this is because i want all of my drafts and posts to have a filename of &lt;code class=&quot;language-text&quot;&gt;YYYY-MM-DD - title.md&lt;/code&gt; (my preference, supported by the way i have QuickAdd create the files), but i also want to be able to have a space dash space in the title itself, if desired, and i don&#39;t want the date to be in the &lt;code class=&quot;language-text&quot;&gt;title&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;this means that something like&lt;br&gt;
&lt;code class=&quot;language-text&quot;&gt;2025-05-05 - a post - part two.md&lt;/code&gt;&lt;br&gt;
would result in frontmatter like&lt;br&gt;
&lt;code class=&quot;language-text&quot;&gt;title: a post - part two&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;it&#39;s a personal choice and method for how i like to do filenames and titles.&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;question&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-help-circle&quot;&gt;&lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;10&quot;&gt;&lt;/circle&gt;&lt;path d=&quot;M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 17h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;what about regex?&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;no.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;h3 id=&quot;date&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#date&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; date&lt;/h3&gt;
&lt;p&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token literal-property property&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;date&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;YYYY-MM-DDTHH:mm&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;this just inserts the current datetime in the &lt;code class=&quot;language-text&quot;&gt;date&lt;/code&gt; field.&lt;/p&gt;
&lt;h3 id=&quot;modified&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#modified&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; modified&lt;/h3&gt;
&lt;p&gt;this is left null on draft creation.&lt;br&gt;
it gets populated automatically with the obsidian plugin &lt;a href=&quot;https://github.com/alangrainger/obsidian-frontmatter-modified-date&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;update modified date&lt;/a&gt; as the content of the draft (or published post) is modified over time, in the same format as the &lt;code class=&quot;language-text&quot;&gt;date&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&quot;description&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#description&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; description&lt;/h3&gt;
&lt;p&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token literal-property property&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;VALUE&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;description&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;this is one of the prompted fields, filled in at time of draft creation. just a string.&lt;/p&gt;
&lt;h3 id=&quot;tags&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#tags&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; tags&lt;/h3&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token literal-property property&quot;&gt;tags&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; tagsArray &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;{{VALUE:tags}}&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;tag&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;  - &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;tag&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;trim&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	tR &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; tagsArray&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;&#92;n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;another prompted field, then some transformation.&lt;/p&gt;
&lt;p&gt;tags are entered comma separated in the prompt, then transformed from a standard array format into a one-per-line list format.&lt;/p&gt;
&lt;p&gt;so, entering &lt;code class=&quot;language-text&quot;&gt;meow, test&lt;/code&gt; into the prompt becomes &lt;code class=&quot;language-text&quot;&gt;tags: [meow, test]&lt;/code&gt; which then becomes&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token literal-property property&quot;&gt;tags&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; meow
  &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; test
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;again this is all just personal preference and to ease compatibility and lower friction (read: cause me less hassle) for everything else.&lt;/p&gt;
&lt;h3 id=&quot;frontmatter-result&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#frontmatter-result&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; frontmatter result&lt;/h3&gt;
&lt;p&gt;for the draft of this post, the raw frontmatter after creation might be like:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;---
title: blog - obsidian templates and use
date: 2025-05-05T12:00
modified: 
description: about the templates i use in obsidian to create drafts and posts
tags:
  - blog
  - obsidian
  - templates
---
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(the &lt;code class=&quot;language-text&quot;&gt;modified&lt;/code&gt; value will get automatically updated as the post is worked on)&lt;/p&gt;
&lt;h2 id=&quot;promoting-drafts-to-posts&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#promoting-drafts-to-posts&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; promoting drafts to posts&lt;/h2&gt;
&lt;p&gt;again, this is all very silly, but:&lt;/p&gt;
&lt;p&gt;with a draft open and focused, i run the following template (&lt;code class=&quot;language-text&quot;&gt;_move_draft_to_blog.md&lt;/code&gt;) via key combo (&lt;code class=&quot;language-text&quot;&gt;alt + e&lt;/code&gt;):&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// update the frontmatter with the current date&lt;/span&gt;
tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;hooks&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on_all_templates_executed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; file &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;find_tfile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// the (t)file&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;fileManager&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;processFrontMatter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;frontmatter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    frontmatter&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;date&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;date&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;YYYY-MM-DDTHH:mm&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// update &#39;date:&#39;&lt;/span&gt;
    frontmatter&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;modified&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// null &#39;modified:&#39;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// move the post into &#39;/blog/&#39; with appropriate filename&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;move&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;/blog/&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;date&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;YYYY-MM-DD&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot; - &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; tp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;frontmatter&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;moves the file from &lt;code class=&quot;language-text&quot;&gt;/blog/drafts/&lt;/code&gt; into &lt;code class=&quot;language-text&quot;&gt;/blog/&lt;/code&gt;, renamed with the current date (like &lt;code class=&quot;language-text&quot;&gt;2025-05-05 - title.md&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;updates the &lt;code class=&quot;language-text&quot;&gt;date&lt;/code&gt; value to the current date&lt;/li&gt;
&lt;li&gt;nulls the &lt;code class=&quot;language-text&quot;&gt;modified&lt;/code&gt; value&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;the point of this is so that if i start a draft last week and promote it to a post today, it will be named and dated with today&#39;s date and a blank modified date.&lt;/p&gt;
&lt;p&gt;this is so that a post&#39;s filename and &lt;code class=&quot;language-text&quot;&gt;date&lt;/code&gt; will be when it was published, not when it was drafted, and so that the &lt;code class=&quot;language-text&quot;&gt;modified&lt;/code&gt; won&#39;t be a time before the post was published (and &lt;code class=&quot;language-text&quot;&gt;modified&lt;/code&gt; won&#39;t be present at all on the blog, initially, as it doesn&#39;t show when null)&lt;/p&gt;
&lt;p&gt;modifying the post after it&#39;s officially a post will of course update the &lt;code class=&quot;language-text&quot;&gt;modified&lt;/code&gt; value automatically, thanks to the obsidian plugin for handling that.&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;question&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-help-circle&quot;&gt;&lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;10&quot;&gt;&lt;/circle&gt;&lt;path d=&quot;M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 17h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;why not just manually move the file instead of doing this?&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;i need the filename, &lt;code class=&quot;language-text&quot;&gt;date&lt;/code&gt;, and &lt;code class=&quot;language-text&quot;&gt;modified&lt;/code&gt; to change and don&#39;t want to manually do it (read: automatically forget to do it)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;h2 id=&quot;outro&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#outro&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; outro&lt;/h2&gt;
&lt;p&gt;silly, sure, but a working kind of silly and working in a way i like.&lt;/p&gt;
&lt;p&gt;i launch the QuickAdd action, fill in the info when prompted, start writing the draft.&lt;br&gt;
i launch the templater action to promote it to a post with updated filename and date.&lt;br&gt;
done.&lt;/p&gt;
&lt;p&gt;i could likely do the draft to post promotion part through QuickAdd as well but to be honest i got it working this way and stopped messing with it.&lt;br&gt;
that being said:&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;note&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-pencil&quot;&gt;&lt;path d=&quot;M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;m15 5 4 4&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;Note&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;this method might change in the future and if so i will make a new post about whatever new silliness i&#39;m doing then.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;h2 id=&quot;links&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-05%20-%20blog%20-%20obsidian%20templates%20and%20use/#links&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; links&lt;/h2&gt;
&lt;p&gt;obsidian plugins mentioned (github links):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/chhoumann/quickadd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;QuickAdd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/SilentVoid13/Templater&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;Templater&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/alangrainger/obsidian-frontmatter-modified-date&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;Update modified date&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;&lt;/html&gt;</content>
  </entry>
  <entry>
    <title>blog setup</title>
    <link href="https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/" />
    <updated>2025-05-04T09:11:00Z</updated>
    <id>https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/</id>
    <content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;nav class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#intro&quot;&gt;intro&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#11ty&quot;&gt;11ty&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#plugins&quot;&gt;plugins&lt;/a&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#theme&quot;&gt;theme&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#obsidian&quot;&gt;obsidian&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#plugins-1&quot;&gt;plugins&lt;/a&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#hosting&quot;&gt;hosting&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#notes-and-thoughts&quot;&gt;notes and thoughts&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;h2 id=&quot;intro&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#intro&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; intro&lt;/h2&gt;
&lt;p&gt;i wanted to be able to&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;make posts in &lt;a href=&quot;https://obsidian.md&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;obsidian&lt;/a&gt; in a &quot;normal (for me)&quot; way (wikilinks, image embeds, callouts, etc)&lt;/li&gt;
&lt;li&gt;have the obsidian vault be a part of the (dev) repo for an 11ty blog&lt;/li&gt;
&lt;li&gt;make it work&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;at times it felt like this was going to be a &quot;pick two&quot; kind of situation but it&#39;s more or less working (for) now, with potentially more future expansion.&lt;/p&gt;
&lt;p&gt;below are some notes and links and explanations about this setup.&lt;/p&gt;
&lt;h2 id=&quot;11ty&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#11ty&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; 11ty&lt;/h2&gt;
&lt;p&gt;this is an &lt;a href=&quot;https://11ty.dev&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;11ty&lt;/a&gt; project, based on the &lt;a href=&quot;https://github.com/11ty/eleventy-base-blog&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;11ty base blog&lt;/a&gt; starter.&lt;/p&gt;
&lt;h3 id=&quot;plugins&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#plugins&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; plugins&lt;/h3&gt;
&lt;p&gt;my style of obsidian use was facilitated through a combination of several markdown-it related plugins (listed here in no particular order):&lt;/p&gt;
&lt;h4 id=&quot;markdown-it&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/markdown-it/markdown-it&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it&lt;/a&gt;&lt;br&gt;
for markdown.&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-attrs&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-attrs&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-attrs&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/arve0/markdown-it-attrs&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-attrs&lt;/a&gt;&lt;br&gt;
for adding attributes to elements via markdown.&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-link-attributes&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-link-attributes&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-link-attributes&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/crookedneighbor/markdown-it-link-attributes&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-link-attributes&lt;/a&gt;&lt;br&gt;
for adding link attributes (&lt;code class=&quot;language-text&quot;&gt;target=&quot;_blank&quot;&lt;/code&gt;, classes, etc)&lt;br&gt;
pretty sure the plugin before this could handle this also, but i think it would require i manually add the attributes to links in obsidian every time (or do some more templating and link processing on the 11ty side) and i do not want to do that.&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-obsidian-callouts&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-obsidian-callouts&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-obsidian-callouts&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/ebullient/markdown-it-obsidian-callouts&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-obsidian-callouts&lt;/a&gt;&lt;br&gt;
for making the obsidian markdown callouts work, with optional styling via css.&lt;br&gt;
see also: this test post with some callouts and codeblocks: &lt;a href=&quot;https://actuallysomecat.github.io/blog/testing&quot; class=&quot;internal-link&quot;&gt;testing&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-prism&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-prism&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-prism&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/jGleitz/markdown-it-prism&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-prism&lt;/a&gt;&lt;br&gt;
for prism syntax highlighting within markdown code fences&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-task-checkbox&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-task-checkbox&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-task-checkbox&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/linsir/markdown-it-task-checkbox&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-task-checkbox&lt;/a&gt;&lt;br&gt;
markdown-it plugin for adding github style task lists with classes and ids.&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-mark&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-mark&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-mark&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/markdown-it/markdown-it-mark&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-mark&lt;/a&gt;&lt;br&gt;
for converting markdown highlights to &lt;code class=&quot;language-text&quot;&gt;&amp;lt;mark&amp;gt;&lt;/code&gt; markup.&lt;br&gt;
&lt;code class=&quot;language-text&quot;&gt;==example==&lt;/code&gt; becomes &lt;mark&gt;example&lt;/mark&gt;&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-toc-done-right&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-toc-done-right&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-toc-done-right&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/nagaozen/markdown-it-toc-done-right&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-toc-done-right&lt;/a&gt;&lt;br&gt;
for adding a table of contents into posts, triggered via putting &lt;code class=&quot;language-text&quot;&gt;[toc]&lt;/code&gt; in the markdown of a post.&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-emoji-customzier&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-emoji-customzier&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-emoji-customzier&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/actuallysomecat/markdown-it-emoji-customizer&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-emoji-customizer&lt;/a&gt;&lt;br&gt;
for converting custom emoji shortcodes (&lt;code class=&quot;language-text&quot;&gt;:neocat:&lt;/code&gt; etc) to &lt;code class=&quot;language-text&quot;&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tags, as well as unicode emoji shortcodes (&lt;code class=&quot;language-text&quot;&gt;:cat:&lt;/code&gt; etc) to unicode-emoji-wrapped-in-&lt;code class=&quot;language-text&quot;&gt;&amp;lt;span&amp;gt;&lt;/code&gt;. has options. &lt;span class=&quot;custom-emoji--span&quot;&gt;&lt;img src=&quot;https://actuallysomecat.github.io/img/emoji/neocat/neocat_3c.png&quot; alt=&quot;emoji: neocat_3c&quot; class=&quot;custom-emoji--img&quot;&gt;&lt;/span&gt;&lt;br&gt;
intended to work with (but doesn&#39;t require!) the &lt;code class=&quot;language-text&quot;&gt;obsidian-icon-shortcodes&lt;/code&gt; Obsidian plugin (&lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#obsidian-icon-shortcodes&quot;&gt;mentioned in next section&lt;/a&gt;)&lt;br&gt;
see also: &lt;a href=&quot;https://actuallysomecat.github.io/blog/2025-05-18%20-%20custom%20emoji%20shortcodes%20in%2011ty%20with%20a%20plugin&quot; class=&quot;internal-link&quot;&gt;this post&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-wiklinks-plus&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-wiklinks-plus&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-wiklinks-plus&lt;/h4&gt;
&lt;p&gt;github link: (&lt;em&gt;not yet&lt;/em&gt;)*&lt;br&gt;
diy plugin for converting wikilinks (&lt;code class=&quot;language-text&quot;&gt;[[some post]]&lt;/code&gt;) and wikilinks image embeds (&lt;code class=&quot;language-text&quot;&gt;![[image.png]]&lt;/code&gt;) using markdown-it tokens rather than regex. i was originally using two other existing plugins (which used regex...) for both of those things but they were conflicting with each other so i rolled my own using markdown-it tokens. has many options.&lt;br&gt;
*(not available yet because i want to do more testing with 11ty/obsidian setups that aren&#39;t like mine)&lt;/p&gt;
&lt;h4 id=&quot;markdown-it-anchor&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#markdown-it-anchor&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; markdown-it-anchor&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/valeriangalliat/markdown-it-anchor&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;markdown-it-anchor&lt;/a&gt;&lt;br&gt;
for putting the link icon before headers&lt;/p&gt;
&lt;h3 id=&quot;theme&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#theme&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; theme&lt;/h3&gt;
&lt;p&gt;the theme is using bits of the &lt;a href=&quot;https://github.com/catppuccin/palette&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;catppuccin palettes&lt;/a&gt; (some latte and mocha) and the &lt;a href=&quot;https://github.com/PrismJS/prism-themes&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;laserwave prism theme&lt;/a&gt; for codeblocks.&lt;/p&gt;
&lt;h2 id=&quot;obsidian&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#obsidian&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; obsidian&lt;/h2&gt;
&lt;p&gt;i really like obsidian and it was important to me that i not have to compromise too much on &quot;my obsidian way&quot; of doing things to make the blog posts. the collection of plugins above for eleventy (plus relevant options configuration) mostly covered that.&lt;/p&gt;
&lt;h3 id=&quot;plugins-1&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#plugins-1&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; plugins&lt;/h3&gt;
&lt;p&gt;i use a few obsidian plugins to make this all easier or possible. a few of them are strictly &quot;user experience&quot; sort of things that have no relevancy in the actual obsidian to eleventy pipeline, so they will not be listed. the relevant ones, in no particular order, are:&lt;/p&gt;
&lt;h4 id=&quot;templater&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#templater&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; templater&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/SilentVoid13/Templater&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;templater&lt;/a&gt;&lt;br&gt;
templater is very powerful and key to starting my drafts and &quot;publishing&quot; them, combined with QuickAdd (below).&lt;br&gt;
i have two templater templates: one to create a draft with prompts for the desired frontmatter in place (like title, description, tags) which creates the draft with a filename based on the current date + the prompted title (eg &lt;code class=&quot;language-text&quot;&gt;2025-01-01 - title&lt;/code&gt;), and one to simply move a draft from my &lt;code class=&quot;language-text&quot;&gt;drafts/&lt;/code&gt; folder into the base &lt;code class=&quot;language-text&quot;&gt;blog/&lt;/code&gt; and update the frontmatter date and filename accordingly (eg the previous draft if &quot;published&quot; the next day becomes &lt;code class=&quot;language-text&quot;&gt;2025-01-02 - title&lt;/code&gt; with matching &lt;code class=&quot;language-text&quot;&gt;date:&lt;/code&gt; and a null &lt;code class=&quot;language-text&quot;&gt;modified:&lt;/code&gt; frontmatter).&lt;/p&gt;
&lt;h4 id=&quot;quickadd&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#quickadd&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; quickadd&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/chhoumann/quickadd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;quickadd&lt;/a&gt;&lt;br&gt;
quickadd uses the template for a new draft to create the file itself and apply the template (which prompts for the data).&lt;/p&gt;
&lt;h4 id=&quot;update-modified-date&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#update-modified-date&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; update modified date&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/alangrainger/obsidian-frontmatter-modified-date&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;update modified date&lt;/a&gt;&lt;br&gt;
this can automatically update a chosen frontmatter key when the file content has been modified in obsidian. i prefer this over using any kind of actual raw/git file modification timestamps because i only want the &lt;code class=&quot;language-text&quot;&gt;modified: &lt;/code&gt; frontmatter to change when the &lt;em&gt;content&lt;/em&gt; of the post changes. going by git/filesystem modified dates could be problematic, for that goal. modified date is nulled when a post is promoted from draft to proper blog post (this way i don&#39;t have modified dates on published posts that are prior to publishing date, no modified date, yet i can still keep track of modified dates while in the draft phase, and modified date automatically changes if i edit a post after publishing it).&lt;/p&gt;
&lt;h4 id=&quot;obsidian-icon-shortcodes&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#obsidian-icon-shortcodes&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; obsidian-icon-shortcodes&lt;/h4&gt;
&lt;p&gt;github link: &lt;a href=&quot;https://github.com/aidenlx/obsidian-icon-shortcodes&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;obsidian-icon-shortcodes&lt;/a&gt;&lt;br&gt;
this is for shortcodes in Obsidian (&lt;code class=&quot;language-text&quot;&gt;:shortcode:&lt;/code&gt;). has autocomplete popup, supports custom emoji in &#39;packs&#39;.&lt;/p&gt;
&lt;h2 id=&quot;hosting&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#hosting&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; hosting&lt;/h2&gt;
&lt;p&gt;i am pushing the built site to a &lt;a href=&quot;https://pages.github.com/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;github pages&lt;/a&gt; configured repo, using the &lt;a href=&quot;https://github.com/tschaub/gh-pages&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; aria-label=&quot;External link (opens in new tab)&quot;&gt;gh-pages&lt;/a&gt; npm package.&lt;/p&gt;
&lt;h2 id=&quot;notes-and-thoughts&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-05-04%20-%20blog%20setup/#notes-and-thoughts&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; notes and thoughts&lt;/h2&gt;
&lt;p&gt;there are options for pushing the blog to the repo from within obsidian, triggering a build, etc, such as the various git plugins or the buttons plugin or just shell scripting, but i prefer to have that as a manual separate step.&lt;br&gt;
i could also use github actions but i do not want to.&lt;/p&gt;

&lt;details class=&quot;callout&quot; data-callout=&quot;info&quot; data-callout-fold=&quot;-&quot;&gt;
&lt;summary class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-info&quot;&gt;&lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;10&quot;&gt;&lt;/circle&gt;&lt;path d=&quot;M12 16v-4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 8h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;TODO (maybe)&lt;/div&gt;
&lt;div class=&quot;callout-fold&quot;&gt;&lt;/div&gt;
&lt;/summary&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;&lt;/p&gt;
&lt;ul class=&quot;task-list&quot;&gt;
&lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_0&quot; disabled=&quot;true&quot;&gt;&lt;label for=&quot;cbx_0&quot;&gt; make this setup a barebones 11ty+obsidian blog starter template?&lt;/label&gt;&lt;/li&gt;
&lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_1&quot; checked=&quot;true&quot; disabled=&quot;true&quot;&gt;&lt;label for=&quot;cbx_1&quot;&gt; post the templater template for drafting new posts?&lt;/label&gt;&lt;/li&gt;
&lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_2&quot; checked=&quot;true&quot; disabled=&quot;true&quot;&gt;&lt;label for=&quot;cbx_2&quot;&gt; improve this post a bit&lt;/label&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/details&gt;&lt;/body&gt;&lt;/html&gt;</content>
  </entry>
  <entry>
    <title>testing</title>
    <link href="https://actuallysomecat.github.io/blog/testing/" />
    <updated>2025-05-01T00:00:00Z</updated>
    <id>https://actuallysomecat.github.io/blog/testing/</id>
    <content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;nav class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/testing/#code-blocks&quot;&gt;code blocks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://actuallysomecat.github.io/blog/testing/#callouts&quot;&gt;callouts&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&lt;p&gt;meow.&lt;/p&gt;
&lt;h2 id=&quot;code-blocks&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/testing/#code-blocks&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; code blocks&lt;/h2&gt;
&lt;p&gt;code blocks (fences) with syntax highlighting (via prism).&lt;br&gt;
some css:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;main&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;meow&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; #AAA&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;some html&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;body&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;span&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;meowing&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;meow&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;span&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;body&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;callouts&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/testing/#callouts&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; callouts&lt;/h2&gt;
&lt;p&gt;callouts are written in obsidian in standard callout form and use lucide icons, like&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;&amp;gt; [!info] info callout test
&amp;gt; info callout
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;some callouts&lt;/p&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;info&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-info&quot;&gt;&lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;10&quot;&gt;&lt;/circle&gt;&lt;path d=&quot;M12 16v-4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 8h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;info callout test&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;info callout&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;details class=&quot;callout&quot; data-callout=&quot;tip&quot; data-callout-fold=&quot;+&quot; open=&quot;&quot;&gt;
&lt;summary class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-flame&quot;&gt;&lt;path d=&quot;M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;tip callout test (collapsable, default open)&lt;/div&gt;
&lt;div class=&quot;callout-fold&quot;&gt;&lt;/div&gt;
&lt;/summary&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;tip callout&lt;/p&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details class=&quot;callout&quot; data-callout=&quot;warning&quot; data-callout-fold=&quot;-&quot;&gt;
&lt;summary class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-alert-triangle&quot;&gt;&lt;path d=&quot;m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 9v4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 17h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;warning callout test (collapsable, default closed)&lt;/div&gt;
&lt;div class=&quot;callout-fold&quot;&gt;&lt;/div&gt;
&lt;/summary&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;warning callout&lt;/p&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;div class=&quot;callout&quot; data-callout=&quot;success&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-check&quot;&gt;&lt;path d=&quot;M20 6 9 17l-5-5&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;success callout test&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;success callout&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;callout&quot; data-callout=&quot;error&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-zap&quot;&gt;&lt;polygon points=&quot;13 2 3 14 12 14 11 22 21 10 12 10 13 2&quot;&gt;&lt;/polygon&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;error callout test&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;error callout&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;callout&quot; data-callout=&quot;bug&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-bug&quot;&gt;&lt;path d=&quot;m8 2 1.88 1.88&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14.12 3.88 16 2&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M9 7.13v-1a3.003 3.003 0 1 1 6 0v1&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 20v-9&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M6.53 9C4.6 8.8 3 7.1 3 5&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M6 13H2&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M3 21c0-2.1 1.7-3.9 3.8-4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M20.97 5c0 2.1-1.6 3.8-3.5 4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M22 13h-4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M17.2 17c2.1.1 3.8 1.9 3.8 4&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;bug callout test&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;bug callout&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;p&gt;(more callouts available)&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;</content>
  </entry>
  <entry>
    <title>meow meow</title>
    <link href="https://actuallysomecat.github.io/blog/2025-04-25%20-%20meow%20meow/" />
    <updated>2025-04-25T12:00:00Z</updated>
    <id>https://actuallysomecat.github.io/blog/2025-04-25%20-%20meow%20meow/</id>
    <content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;main&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;meow&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;meow&lt;/p&gt;
&lt;h2 id=&quot;a-test&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-04-25%20-%20meow%20meow/#a-test&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; a test&lt;/h2&gt;
&lt;p&gt;this is a link to the &lt;code class=&quot;language-text&quot;&gt;meow world&lt;/code&gt; post, aliased as &lt;a href=&quot;https://actuallysomecat.github.io/blog/meow%20world&quot; class=&quot;internal-link&quot;&gt;test&lt;/a&gt;&lt;br&gt;
the above link in the markdown is &lt;code class=&quot;language-text&quot;&gt;[[meow world|test]]&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&quot;callout&quot; tabindex=&quot;0&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://actuallysomecat.github.io/blog/2025-04-25%20-%20meow%20meow/#callout&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-link-icon lucide-link&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt; callout&lt;/h3&gt;

&lt;div class=&quot;callout&quot; data-callout=&quot;info&quot;&gt;
&lt;div class=&quot;callout-title&quot;&gt;
&lt;div class=&quot;callout-title-icon&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;lucide lucide-info&quot;&gt;&lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;10&quot;&gt;&lt;/circle&gt;&lt;path d=&quot;M12 16v-4&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M12 8h.01&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-title-inner&quot;&gt;Info&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;callout-content&quot;&gt;&lt;p&gt;test callout&lt;br&gt;
with an internal link to &lt;a href=&quot;https://actuallysomecat.github.io/blog/meow%20world&quot; class=&quot;internal-link&quot;&gt;meow world&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</content>
  </entry>
  <entry>
    <title>meow world</title>
    <link href="https://actuallysomecat.github.io/blog/meow%20world/" />
    <updated>2025-04-24T16:25:00Z</updated>
    <id>https://actuallysomecat.github.io/blog/meow%20world/</id>
    <content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;meowmeowmeow&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/blog/assets/images/1721511548.png&quot; class=&quot;photoswipe-item&quot; data-pswp-width=&quot;143&quot; data-pswp-height=&quot;142&quot;&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://actuallysomecat.github.io/img/Q8SJxaJALX-143.avif 143w&quot;&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://actuallysomecat.github.io/img/Q8SJxaJALX-143.webp 143w&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://actuallysomecat.github.io/img/Q8SJxaJALX-143.png&quot; class=&quot;image-embed&quot; data-pswp-original=&quot;/blog/assets/images/1721511548.png&quot; alt=&quot;pixel art profile icon for some cat: front view of a contented cat face, geometric squares background&quot; width=&quot;143&quot; height=&quot;142&quot;&gt;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/blog/assets/images/currently.png&quot; class=&quot;photoswipe-item&quot; data-pswp-width=&quot;1000&quot; data-pswp-height=&quot;1000&quot;&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://actuallysomecat.github.io/img/SyV8Aa3r3W-1000.avif 1000w&quot;&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://actuallysomecat.github.io/img/SyV8Aa3r3W-1000.webp 1000w&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://actuallysomecat.github.io/img/SyV8Aa3r3W-1000.png&quot; class=&quot;image-embed&quot; data-pswp-original=&quot;/blog/assets/images/currently.png&quot; alt=&quot;some cat, leaning very slightly, wearing a red hoodie with ears (hood up), holding both paws in front as if in the middle of speaking&quot; style=&quot;width: 400px; height: 400px;&quot; width=&quot;1000&quot; height=&quot;1000&quot;&gt;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;i am currently in eleventy&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;</content>
  </entry>
</feed>