Skip to content

Documenting Quick (Personal -> Public System)

In Automation for Knuckle Draggers I recommend documenting to learn to code, and in my focus framework I allude that documenting is a medium-focus activity.

This article aims to show a quick example of how I document while saving time, and editorialize later if necessary.

Documentation Strategy#

I do a simple personal -> public draft system.

The personal draft is just the minimal amount of notes needed at your current skill level.

We're trying to knock out a feature in one run to catch issues ahead of time.

  • Record only things you find important that aren't obvious to you.
  • Screenshot only things hard to reproduce efficiently.
  • Keep it in one file.
  • Use TODOs for good ideas later.

Personal Draft Example:

# Install Apache Procedure & Test
pacman -S apache
sudo systemctl start httpd
sudo systemctl enable httpd

will be blank with dir on.

<TODO: SCREENSHOT>

Add to root `/srv/http/index.html`

sudo vi /srv/http/index.html

verify show up http://localhost/ - Done

# Notes
https://wiki.archlinux.org/title/Apache_HTTP_Server

---

# Configuration Procedure
...

We will do our public draft in bulk once we're ready to stop our personal draft.

Include:

  • Rich media (Screenshots, images, graphs, flowcharts).
  • Use case / why / problem statement.
  • Expanded sections & article splitting.
  • Conditionals (issues, failures, warnings).
  • Prerequisites / state of installation (if necessary).

Be quick and add only what makes sense from the above, let people tell you what could help later.


Public Draft Example:

## What

We will be installing Apache2 (also known as `apache` or `httpd`) on Arch Linux.

## Prerequisites

Install `apache`

```bash
sudo pacman -Syu # If you haven't already updated your system
sudo pacman -S apache
```

We will need to enable Apache via Systemd:

```bash
sudo systemctl start httpd
sudo systemctl enable httpd
```

We should now see a webpage on our web browser: http://localhost

![](../assets/images/image-20251207120026.png)

## Modify Root

By default, Apache on Arch will display a blank directory page.

We can add pages to Apache by modifying `/srv/http/`.

Let's add a default index.html:

```bash
sudo nvim /src/http/index.html
```

We'll use a simple Hello World HTML page:

```html title="/src/http/index.html"
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello, World!</title>
</head>
<body>
    <h1>Hello World!</h1>
    <p>This is my first web page.</p>
</body>
</html>
```

Let's revisit our web server, which should now be our index.html: http://localhost

![](../assets/images/image-20251207121437.png)

You have successfully setup Apache and created a web page.

## Extra Notes

Arch Wiki: https://wiki.archlinux.org/title/Apache_HTTP_Server

Summary#

Consider the following scenarios:

  • What if /srv/http/ was not the correct folder?
  • What if apache was deprecated and apache-fixed looked different?
  • What if our target audience is a pro team?
  • What if nginx is what we really needed?

Doing a personal draft mitigates time loss by pushing discovery first.

When we take risks early and document when features are complete, we learn more and save a whole lot of precious time.