<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Digital Dacha</title>
  <subtitle>A personal website organized like a dacha — zones for reading, growing ideas, capturing fragments, and logging time.</subtitle>
  <link href="https://digitaldacha.com/feed.xml" rel="self"/>
  <link href="https://digitaldacha.com/"/>
  <updated>2026-03-24T11:57:01Z</updated>
  <id>https://digitaldacha.com/</id>
  <entry>
    <title>Markdown Reference — Everything You Can Use in a Post</title>
    <link href="https://digitaldacha.com/seedbed/markdown-reference/"/>
    <id>https://digitaldacha.com/seedbed/markdown-reference/</id>
    <updated>2026-03-19T00:00:00.000Z</updated>
    <content type="html"><![CDATA[<p>This page is a living reference. Every formatting feature shown here works inside any <code>.md</code> file in <code>site/seedbed/</code> (or any other zone). Copy the syntax from the examples.</p>
<hr>
<h2>Frontmatter fields</h2>
<p>Every post starts with a YAML block between <code>---</code> lines. Available fields:</p>
<pre><code class="language-yaml">---
layout: post.njk          # always this for posts
title: &quot;Your title&quot;       # shown in the header and feed card
date: 2026-03-19          # creation date (YYYY-MM-DD)
last_tended: 2026-03-19   # last edited — used for feed sort order
stage: seedling           # seedling | budding | evergreen
confidence: speculative   # speculative | possible | certain
description: &quot;One sentence shown on the feed card.&quot;
tags:
  - tagname               # shown as chips; used for filtering
draft: true               # remove this line (or delete it) to publish
---
</code></pre>
<p>Fields only used in <strong>Veranda</strong> (book notes):</p>
<pre><code class="language-yaml">author: &quot;Author Name&quot;
finished: 2026-03-19
rating: 4                 # renders as ★★★★
status: reading           # reading | finished | abandoned
</code></pre>
<hr>
<h2>Headings</h2>
<pre><code># Heading 1    ← don't use this — the post title is already an h1
## Heading 2
### Heading 3
#### Heading 4
</code></pre>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<hr>
<h2>Paragraphs and line breaks</h2>
<p>Just write text. A blank line starts a new paragraph.</p>
<p>One blank line
between these two makes them separate paragraphs.</p>
<p>To force a line break without a new paragraph,
end the line with two spaces (hard to see but it works).</p>
<hr>
<h2>Emphasis</h2>
<pre><code>*italic* or _italic_
**bold** or __bold__
***bold and italic***
~~strikethrough~~
</code></pre>
<p><em>italic</em>, <strong>bold</strong>, <em><strong>bold and italic</strong></em>, <s>strikethrough</s></p>
<hr>
<h2>Links</h2>
<pre><code>[link text](https://example.com)
[link with title](https://example.com &quot;hover tooltip&quot;)
</code></pre>
<p><a href="https://example.com">Example link</a>, <a href="https://example.com" title="This is a tooltip">with tooltip</a></p>
<hr>
<h2>Images</h2>
<p><strong>Standard Markdown image:</strong></p>
<pre><code>![alt text](/obs-assets/my-image.png)
</code></pre>
<p><strong>Obsidian embed</strong> (works automatically — just paste from Obsidian):</p>
<pre><code>![[my-image.png]]
![[my-image.png|optional alt text]]
</code></pre>
<p>Images are stored in <code>site/obs-assets/</code> and served at <code>/obs-assets/</code>. When you paste an Obsidian embed, the site converts it automatically.</p>
<hr>
<h2>Wikilinks</h2>
<p>Link to another page on the site using its title. If the page exists, it becomes a link. If not, it renders as a broken-link span.</p>
<pre><code>[[deep-work]]                        ← links by slug
[[deep-work|Deep Work by Cal Newport]] ← links with custom display text
</code></pre>
<p>[[deep-work|Deep Work by Cal Newport]] — try clicking this.</p>
<hr>
<h2>Blockquotes</h2>
<pre><code>&gt; This is a blockquote.
&gt; It can span multiple lines.
&gt;
&gt; And multiple paragraphs.
</code></pre>
<blockquote>
<p>This is a blockquote.
It can span multiple lines.</p>
<p>And multiple paragraphs.</p>
</blockquote>
<hr>
<h2>Unordered lists</h2>
<pre><code>- Item one
- Item two
  - Nested item (indent with 2 spaces)
  - Another nested
- Item three
</code></pre>
<ul>
<li>Item one</li>
<li>Item two
<ul>
<li>Nested item</li>
<li>Another nested</li>
</ul>
</li>
<li>Item three</li>
</ul>
<hr>
<h2>Ordered lists</h2>
<pre><code>1. First
2. Second
3. Third
</code></pre>
<ol>
<li>First</li>
<li>Second</li>
<li>Third</li>
</ol>
<hr>
<h2>Inline code</h2>
<pre><code>Use backticks for `inline code` in a sentence.
</code></pre>
<p>Use backticks for <code>inline code</code> in a sentence.</p>
<hr>
<h2>Code blocks</h2>
<p>Fenced with triple backticks. Add the language name for syntax highlighting.</p>
<pre><code>```javascript
function greet(name) {
  return `Hello, ${name}!`
}
```
</code></pre>
<pre><code class="language-javascript">function greet(name) {
  return `Hello, ${name}!`
}
</code></pre>
<pre><code class="language-python">def greet(name):
    return f&quot;Hello, {name}!&quot;
</code></pre>
<pre><code class="language-bash">npm run build
git push origin main
</code></pre>
<hr>
<h2>Horizontal rule</h2>
<p>Three dashes on their own line:</p>
<pre><code>---
</code></pre>
<hr>
<h2>Tables</h2>
<pre><code>| Column A | Column B | Column C |
|----------|----------|----------|
| Cell 1   | Cell 2   | Cell 3   |
| Cell 4   | Cell 5   | Cell 6   |
</code></pre>
<table>
<thead>
<tr>
<th>Column A</th>
<th>Column B</th>
<th>Column C</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
<td>Cell 3</td>
</tr>
<tr>
<td>Cell 4</td>
<td>Cell 5</td>
<td>Cell 6</td>
</tr>
</tbody>
</table>
<p>Alignment:</p>
<pre><code>| Left     | Center   | Right    |
|:---------|:--------:|----------:|
| text     | text     | text      |
</code></pre>
<table>
<thead>
<tr>
<th style="text-align:left">Left</th>
<th style="text-align:center">Center</th>
<th style="text-align:right">Right</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">text</td>
<td style="text-align:center">text</td>
<td style="text-align:right">text</td>
</tr>
</tbody>
</table>
<hr>
<h2>Raw HTML</h2>
<p>Since content is rendered with <code>| safe</code>, you can use HTML directly:</p>
<pre><code class="language-html">&lt;details&gt;
  &lt;summary&gt;Click to expand&lt;/summary&gt;
  Hidden content revealed on click.
&lt;/details&gt;
</code></pre>
<details>
  <summary>Click to expand</summary>
  Hidden content revealed on click.
</details>
<pre><code class="language-html">&lt;mark&gt;highlighted text&lt;/mark&gt;

&lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;1&lt;/kbd&gt;
</code></pre>
<p><mark>highlighted text</mark></p>
<p><kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>1</kbd></p>
<hr>
<h2>What does NOT work</h2>
<ul>
<li><code>==highlight==</code> — not standard Markdown, use <code>&lt;mark&gt;</code> instead</li>
<li><code>^superscript^</code> — use <code>&lt;sup&gt;text&lt;/sup&gt;</code></li>
<li>Obsidian callouts (<code>&gt; [!note]</code>) — renders as a plain blockquote</li>
<li>Embedded Obsidian canvas or PDF files — only images work</li>
<li><code>[[wikilink]]</code> to pages outside the content globs (templates, etc.)</li>
</ul>
]]></content>
  </entry>
  <entry>
    <title>Building this site</title>
    <link href="https://digitaldacha.com/garden/digital-dacha/"/>
    <id>https://digitaldacha.com/garden/digital-dacha/</id>
    <updated>2026-03-13T00:00:00.000Z</updated>
    <content type="html"><![CDATA[<p>A personal website organized around the metaphor of a dacha. Different zones serve different purposes:</p>
<ul>
<li><strong>Veranda</strong> — book notes and reflections</li>
<li><strong>Garden</strong> — active projects being worked on</li>
<li><strong>Greenhouse</strong> — early fragments not ready for full posts</li>
<li><strong>Cellar</strong> — a time-indexed log of what happened when</li>
<li><strong>Workshop</strong> — tools I use or built</li>
<li><strong>Well</strong> — resources and links worth drawing from</li>
</ul>
<p><strong>Stack:</strong> Eleventy 3.x for static site generation, Vite + React for tools embedded as iframes. No JavaScript framework on the site itself — just HTML and CSS served fast.</p>
<p><strong>Why dacha?</strong> The metaphor maps well to how content actually works: a dacha has different spaces for different purposes — a veranda for reading, a garden for active work, a greenhouse for fragile seedlings, a cellar for archives. Some things are fully grown (evergreen), some are being actively tended (budding), and some are just seeds (seedling).</p>
<p><strong>Current status:</strong> Local MVP complete. Domain purchased (digitaldacha.com). Next: self-host on Raspberry Pi 5.</p>
]]></content>
  </entry>
  <entry>
    <title>Deep Work</title>
    <link href="https://digitaldacha.com/veranda/deep-work/"/>
    <id>https://digitaldacha.com/veranda/deep-work/</id>
    <updated>2026-03-09T00:00:00.000Z</updated>
    <content type="html"><![CDATA[<p>Newport's central claim: the ability to perform deep work is becoming increasingly rare at the same time it is becoming increasingly valuable. Those who cultivate this skill will thrive.</p>
<p><strong>The core argument:</strong> Shallow work — logistical, non-cognitively demanding tasks — crowds out deep work. Email, meetings, and social media train the brain toward distraction. The antidote is deliberate scheduling of uninterrupted cognitive time.</p>
<p><strong>What stuck:</strong></p>
<ul>
<li>The &quot;shutdown ritual&quot; — a fixed phrase that signals the end of work. Closes open loops mentally.</li>
<li>Attention residue: switching tasks leaves cognitive residue that impairs the next task. Batch tasks; don't context-switch.</li>
<li>Embrace boredom. Don't reach for your phone every idle moment — train the capacity to tolerate unstructured thought.</li>
<li>Four philosophies of deep work scheduling: monastic, bimodal, rhythmic, journalistic. Rhythmic (same time every day) works best for most people.</li>
</ul>
<p><strong>Personal application:</strong></p>
<p>Building this farm in focused 2-hour blocks, no notifications. The creation of this very site is an exercise in what the book advocates.</p>
]]></content>
  </entry>
  <entry>
    <title>Tools shape thought</title>
    <link href="https://digitaldacha.com/greenhouse/tools-shape-thought/"/>
    <id>https://digitaldacha.com/greenhouse/tools-shape-thought/</id>
    <updated>2026-03-09T00:00:00.000Z</updated>
    <content type="html"><![CDATA[<p>The hammer makes every problem look like a nail. But what does the text editor make everything look like?</p>
<p>Writing in markdown makes me think in structured prose. Writing in a spreadsheet makes me want to quantify. Writing in a notes app makes me fragment.</p>
<p>The timestamp tracker I built makes me think in intervals. Now when I do something, I instinctively think: should I be timing this?</p>
<p>This is concerning and clarifying in equal measure. Maybe the right question isn't &quot;what's the best tool&quot; but &quot;what kind of thinking do I want to encourage?&quot;</p>
]]></content>
  </entry>
  <entry>
    <title>March 2026</title>
    <link href="https://digitaldacha.com/cellar/2026-03/"/>
    <id>https://digitaldacha.com/cellar/2026-03/</id>
    <updated>2026-03-09T00:00:00.000Z</updated>
    <content type="html"><![CDATA[<p><strong>March 9</strong> — Built the Digital Dacha local MVP. Eleventy 3.x + Vite 5 + React 18. Seven zones, warm CSS design system, embedded TimeStamp Tracker via iframe. Took roughly four focused hours. The ESM/CJS boundary between Eleventy config and Vite took some care — solved by using <code>.cjs</code> extension for the Eleventy config and pinning the RSS plugin to v1.x.</p>
<p>The &quot;Vite writes directly to <code>_site/</code>&quot; strategy for the iframe tool eliminated the race condition that would have existed with passthrough copy. Clean separation: Eleventy never sees Vite's output mid-build.</p>
]]></content>
  </entry>
</feed>
