Writing for The Brian Journal
How to add posts, what Markdown features are supported, and what the current setup can and cannot do.
Adding a post
Posts are Markdown files in content/posts/. To add one:
- Create a new file named
your-post-slug.md. - Add frontmatter at the top.
- Write the body in Markdown.
- Commit and push to
main. GitHub Actions builds and deploys the site.
Frontmatter reference
| Field | Required | Notes |
|---|---|---|
title | Yes | Used as the page heading and in listings. |
date | No | ISO date like 2026-06-20. Posts are sorted by date. |
excerpt | No | Short summary shown on the home page and in metadata. |
tags | No | Array of tags, e.g. [nextjs, tutorial]. |
Post template
---
title: My New Post
date: 2026-06-25
excerpt: A short summary of what this post is about.
tags: [example, demo]
---
## First section
Write your content here. Use headings, lists, code blocks, and tables as needed.
What Markdown supports
This page is itself written in Markdown and rendered through the same pipeline used by blog posts.
Headings
Sections are automatically given anchor IDs so they can be linked directly.
Heading 3
Heading 4
Heading 5
Heading 6
Paragraphs and emphasis
A paragraph can contain bold text, italic text, and bold italic text. You can also mark things with strikethrough or inline code like const answer = 42.
Links
Here is a link to the home page and an external link.
Images

Lists
Unordered
- First item
- Second item
- Nested item
- Another nested item
- Third item
Ordered
- Install the dependencies
- Write the post
- Commit and push
Alphabetical
Markdown does not have a native lettered-list syntax, but the HTML it passes through is rendered:
- First option
- Second option
- Third option
Blockquotes
A blockquote draws attention to a quoted idea or note. It can contain formatting and
codetoo.
Code blocks
function greet(name) {
return `Hello, ${name}!`;
}
Tables
| Feature | Status | Notes |
|---|---|---|
| Headings | Supported | Auto-anchored H2/H3 |
| Tables | Supported | Via remark-gfm |
| Code blocks | Supported | No syntax highlighting by default |
Task lists
- Create a Markdown demo file
- Add Mermaid diagram support
- Add LaTeX math support
Footnotes
Mermaid Diagrams
---
config:
layout: elk
---
flowchart LR
subgraph Frontend["Frontend"]
UI["React"]
Mobile["Flutter"]
end
subgraph Backend["Backend"]
API["FastAPI"]
Queue["Kafka"]
end
subgraph AI["AI"]
Planner["Planner"]
Research["Research"]
Critic["Critic"]
end
subgraph Platform["Platform"]
Frontend
Backend
AI
end
UI L_UI_API_0@--> API
Mobile L_Mobile_API_0@--> API
API L_API_Planner_0@--> Planner
Planner --> Research
Research --> Critic
L_UI_API_0@{ animation: slow }
L_Mobile_API_0@{ animation: slow }
L_API_Planner_0@{ animation: slow }
Horizontal rule
FAQ
What is not supported by default?
- Math such as LaTeX requires a math plugin.
- Interactive React components are not supported in plain Markdown. Use MDX or embed a custom component in the page instead.
Can I add a post from the UI?
Not with the current setup. This site is statically exported and hosted on GitHub Pages, so it has no server and no database at runtime. The list of posts is read from the filesystem at build time.
Adding a post from the browser would require introducing a backend or a content service, such as:
- A Next.js API route that writes to the repo via the GitHub API and triggers a rebuild.
- A headless CMS like Contentful, Sanity, or Strapi.
- A platform with built-in forms/CMS, like Netlify CMS or Vercel.
That is a bigger architectural change than the current static-only deploy. To keep things free and simple, creating a Markdown file in the repo remains the easiest path.