<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><script src="https://www.rss.style/js/atom-style.js" xmlns="http://www.w3.org/1999/xhtml"/><title>Tower of Kubes</title><link rel="self" type="application/atom+xml" hreflang="en" href="https://www.towerofkubes.com/tags/docs/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://www.towerofkubes.com/tags/docs/"/><link rel="alternate" type="application/rss+xml" hreflang="en" href="https://www.towerofkubes.com/tags/docs/index.xml"/><id>/</id><updated>2025-10-05T00:00:00Z</updated><author><name>Ro'i Bandel</name></author><generator>Hugo 0.157.0</generator><entry><title>Diátaxis framework for technical documentation</title><link rel="alternate" type="text/html" hreflang="en" href="https://www.towerofkubes.com/articles/diataxis/"/><id>https://www.towerofkubes.com/articles/diataxis/</id><updated>2025-10-05T00:00:00Z</updated><summary type="html">Overview of the Diátaxis documentation framework: tutorials, how-to guides, reference, and explanation, and when to use it for clearer tech docs.</summary><content type="html"><![CDATA[<p>Today I learned about <a href="https://diataxis.fr"  target="_blank" rel="noreferrer">Diátaxis</a>, a framework for technical documentation.</p>

    <div class="admonition quote">
      <div class="admonition-header"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72z"/></svg>
        <span>Quote</span>
      </div>
      <div class="admonition-content">
        <p>Diátaxis is a way of thinking about and doing documentation.
It prescribes approaches to content, architecture and form that emerge from a systematic approach to understanding the needs of documentation users.</p>
<p>Diátaxis identifies four distinct needs, and four corresponding forms of documentation - <em>tutorials</em>, <em>how-to guides</em>, <em>technical reference</em> and <em>explanation</em>. It places them in a systematic relationship, and proposes that documentation should itself be organised around the structures of those needs.</p>
<figure><img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Diátaxis"
    src="https://diataxis.fr/_images/diataxis.png"
    ></figure>
<p>Diátaxis solves problems related to documentation <em>content</em> (what to write), <em>style</em> (how to write it) and <em>architecture</em> (how to organise it).</p>
<p>As well as serving the users of documentation, Diátaxis has value for documentation creators and maintainers. It is light-weight, easy to grasp and straightforward to apply. It doesn’t impose implementation constraints. It brings an active principle of quality to documentation that helps maintainers think effectively about their own work.</p>
      </div>
    </div>
<h2 class="relative group">I Need To Write Documentation
    <div id="i-need-to-write-documentation" class="anchor"></div>
    
</h2>
<p>I’ve been thinking a lot about documentation recently, experimenting with software such as Material for MkDocs and Docusaurus. These frameworks solve the problems of <em>how</em> and <em>where</em> to write documentation (Markdown files served as a static site by one of these frameworks together with <a href="/series/static-website-hosting/" >static website hosting</a>). However, they don’t solve the much more important problem of <em>what</em> to write about. There’s an entire field of <a href="https://en.wikipedia.org/wiki/Technical_writing"  target="_blank" rel="noreferrer"><strong>technical writing</strong></a>.</p>
<p>I am now in a situation where I need to write several pieces of documentation. My client requested I create documentation for them based on what I’m working on, to both on-board new users/developers on how to work on the codebase and run pipelines, as well as two explain in-depth to any future DevOps Engineers or admins about how I set up our cloud infrastructure, repositories, custom tools and pipelines. Two pieces of documentation are needed. For the client, I will use <a href="https://www.atlassian.com/software/confluence"  target="_blank" rel="noreferrer">Confluence</a>; <a href="/articles/bitbucket-vs-the-competition/" >I am not a fan of Atlassian</a>, but the alternative for this client is to write Word documents. Confluence will do. Besides, I’m not going to setup Docusaurus for this client.</p>
<p>At the same time, I also want to write documentation for my “homelab-as-code” project and to help write documentation for <a href="https://docs.calme.win/"  target="_blank" rel="noreferrer">CALMe</a> (together with Josh, who works as a technical writer).</p>

<h2 class="relative group">Diátaxis
    <div id="diátaxis" class="anchor"></div>
    
</h2>
<p>I learned about <a href="https://diataxis.fr"  target="_blank" rel="noreferrer">Diátaxis</a> from Khue’s Homelab: <a href="https://homelab.khuedoan.com/how-to-guides/updating-documentation/"  target="_blank" rel="noreferrer">Updating documentation (this website) - Khue’s Homelab</a></p>
<p><a href="https://homelab.khuedoan.com/"  target="_blank" rel="noreferrer">Khue’s Homelab</a> is one of the most impressive homelab projects that I’ve seen. “Fully automated homelab from empty disk to running services with a single command”. It is also well documented. It uses the <a href="https://diataxis.fr"  target="_blank" rel="noreferrer">Diátaxis</a> technical documentation framework:</p>

    <div class="admonition quote">
      <div class="admonition-header"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72z"/></svg>
        <span>Quote</span>
      </div>
      <div class="admonition-content">
        <p>There are 4 main parts:</p>
<ul>
<li><a href="https://diataxis.fr/tutorials"  target="_blank" rel="noreferrer">Getting started (tutorials)</a>: learning-oriented</li>
<li><a href="https://diataxis.fr/explanation"  target="_blank" rel="noreferrer">Concepts (explanation)</a>: understanding-oriented</li>
<li><a href="https://diataxis.fr/how-to-guides"  target="_blank" rel="noreferrer">How-to guides</a>: goal-oriented</li>
<li><a href="https://diataxis.fr/reference"  target="_blank" rel="noreferrer">Reference</a>: information-oriented</li>
</ul>
      </div>
    </div><p><strong>These four parts are the basis of Diátaxis:</strong></p>

    <div class="admonition quote">
      <div class="admonition-header"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72z"/></svg>
        <span>Quote</span>
      </div>
      <div class="admonition-content">
        <p>At the core of Diátaxis are the four different kinds of documentation it identifies. If you’re encountering Diátaxis for the first time, start with these pages.</p>
<ul>
<li>
<p><a href="https://diataxis.fr/tutorials/"  target="_blank" rel="noreferrer">Tutorials</a> - learning-oriented experiences</p>
</li>
<li>
<p><a href="https://diataxis.fr/how-to-guides/"  target="_blank" rel="noreferrer">How-to guides</a> - goal-oriented directions</p>
</li>
<li>
<p><a href="https://diataxis.fr/reference/"  target="_blank" rel="noreferrer">Reference</a> - information-oriented technical description</p>
</li>
<li>
<p><a href="https://diataxis.fr/explanation/"  target="_blank" rel="noreferrer">Explanation</a> - understanding-oriented discussion</p>
</li>
</ul>
<p>Diátaxis prescribes principles that guide action. These translate into particular ways of working, with implications for documentation process and execution. Once you’ve made your first start, the tools and methods outlined here will help smooth your way.</p>
<ul>
<li>
<p><a href="https://diataxis.fr/compass/"  target="_blank" rel="noreferrer">The compass</a> - a simple tool for direction-finding</p>
</li>
<li>
<p><a href="https://diataxis.fr/how-to-use-diataxis/"  target="_blank" rel="noreferrer">Workflow</a> in Diátaxis</p>
</li>
</ul>
      </div>
    </div>
<h2 class="relative group">Should I Adopt Diátaxis?
    <div id="should-i-adopt-diátaxis" class="anchor"></div>
    
</h2>
<p>On first impressions Diátaxis looks great. Writing it may be somewhat challenging at first as I learn to structure technical writing in this way, but the results may well be worth it. I am having a hard time finding alternative documentation frameworks (though I’m sure they exist). The alternative for me to using Diátaxis would be free-flow documentation based on the topics that I think I should cover; this is how I have been writing documentation until now which does work but may end up a bit messy. Of course, Diátaxis is not perfect either and there are criticisms for it: <a href="https://www.hillelwayne.com/post/problems-with-the-4doc-model/"  target="_blank" rel="noreferrer">My Problem With the Four-Document Model</a>.</p>
<hr>
<p><em>Featured image by <a href="https://unsplash.com/@sigmund?utm_source=hugo&utm_medium=referral"  target="_blank" rel="noreferrer">Sigmund</a> on <a href="https://unsplash.com/photos/a-screen-with-a-bunch-of-information-on-it-cdMAU_x9mxY?utm_source=hugo&utm_medium=referral"  target="_blank" rel="noreferrer">Unsplash</a>.</em></p>
]]></content><author><name>Ro'i Bandel</name></author><category term="docs" label="Docs" scheme="https://www.towerofkubes.com/tags/docs/"/><category term="homelab" label="Homelab" scheme="https://www.towerofkubes.com/tags/homelab/"/><category term="til" label="Til" scheme="https://www.towerofkubes.com/tags/til/"/><published>2025-10-05T00:00:00Z</published></entry></feed>