Writing Content
How content maps to pages, and the few extras Devlix gives you.
Pages and posts
content/
_index.md # the home page (your intro)
blog/
_index.md # the blog landing
a-post.md # a post
about.md # any standalone page
A post’s front matter:
---
title: "My Post"
date: 2026-06-19
draft: false
description: "Shown in search results and link previews."
image: "/img/cover.jpg" # optional card + cover image
private: false # true = noindex/nofollow (see below)
---
Set private: true on any page to emit noindex, nofollow, so search engines skip it. The page is still built and reachable by its URL, it just stays out of search results.
Headings note: the largest heading is h2. Write # or ## and both render at the top size; deeper levels step down. The site never emits an h1.
The ASCII header
Post pages show an ASCII-art header. Paste your art into data/ascii.txt; it renders as-is. Size it with asciiArtSize.
Images
Any image in a post never crops. It scales to fit, centered, with a thin border:
The figure shortcode
For a centered image with a caption, one line:
{{< figure src="/img/photo.jpg" caption="A caption." alt="Alt text" width="60%" >}}
Which renders:
The terminal shortcode
Drop a terminal block anywhere. Your lines become the content, and a blinking $ prompt is appended. Leave a blank line before the closing tag if you want a gap before that prompt:
{{< terminal >}}
$ hugo new blog/hello.md
$ hugo server -D
{{< /terminal >}}
Renders as:
$ hugo new blog/hello.md
$ hugo server -D
$ █Small print
Raw HTML works in markdown, so small print is just a <small> tag.