Blog Writing Guide for Claude
Blog Writing Guide for Claude
This guide documents all conventions for writing articles on the Jekyll blog “Peakboard Guru”. Follow these rules exactly when creating new posts.
Language: All articles are written in English.
Content focus: Articles describe a real-world use case and the business value it delivers. Focus on the problem being solved, who benefits, and the outcome. Do NOT explain Peakboard internals, technical implementation details, or how the dashboard was built step by step.
1. File Naming
Pattern: YYYY-MM-DD-Title-With-Hyphens.md
- Date prefix must match the
date:field in front matter - Spaces in the title become hyphens
- Preserve title case
- Remove special characters (apostrophes, colons, etc.)
- Place in
_posts/
Example:
_posts/2026-03-03-Fun-with-Shelly-Plug-S-Switching-Power-on-and-off.md
2. Front Matter
Required Fields
---
layout: post
title: Your Article Title Here
date: 2026-03-03 00:00:00 +0000
tags: tag1 tag2
image: /assets/2026-03-03-14-30-00/title.png
---
| Field | Description |
|---|---|
layout |
Always post |
title |
Human-readable title. Often uses ` - ` as separator for subtitles |
date |
Format: YYYY-MM-DD HH:MM:SS +0000 |
tags |
Space-separated tag slugs (not a YAML list!). First tag = primary category |
image |
Path to hero image. Pattern: /assets/YYYY-MM-DD-HH-MM-SS/title.png (or title.jpg). Match the actual file extension. The folder name matches the post’s date: field with hyphens |
Recommended Fields
Always include bg_alternative and description for new posts:
bg_alternative: true
description: "One or two sentences summarizing what this article covers."
downloads:
- name: ProjectFile.pbmx
url: /assets/2026-03-03-14-30-00/ProjectFile.pbmx
Multi-Project Downloads
Some articles cover a multi-project system (e.g., an ordering dashboard + a kitchen display). In this case, list all project files in the downloads field with descriptive names:
downloads:
- name: OrderDashboard.pbmx
url: /assets/2026-03-03-14-30-00/OrderDashboard.pbmx
- name: KitchenDisplay.pbmx
url: /assets/2026-03-03-14-30-00/KitchenDisplay.pbmx
Each download gets its own download button in the sidebar. Use meaningful names that describe what each project does.
Optional Fields
read_more_links:
- name: Display Text
url: https://example.com
- name: Related Article
url: /Related-Article-Title.html
downloads:
- name: ProjectFile.pbmx
url: /assets/2026-03-03-14-30-00/ProjectFile.pbmx
| Field | Description |
|---|---|
bg_alternative |
true = light hero box style with a semi-transparent text box over the image. Always use for new posts |
description |
Shown below title in hero area and used for SEO meta tags. Always include for new posts |
downloads |
List of {name, url} rendered as Guru download button images at the top of the right sidebar. For multi-project articles, list each project file separately with a descriptive name. Do NOT add download links in the article body - the buttons are generated automatically from this field |
read_more_links |
List of {name, url} shown in sidebar under “Related Links” |
Post Template (Single Project)
---
layout: post
title: Article Title - With Subtitle
date: 2026-03-03 00:00:00 +0000
tags: fitness
image: /assets/2026-03-03-14-30-00/title.png
bg_alternative: true
description: "Short summary of the article for SEO and hero display."
downloads:
- name: SampleProject.pbmx
url: /assets/2026-03-03-14-30-00/SampleProject.pbmx
---
Post Template (Multi-Project)
---
layout: post
title: Restaurant Ordering System - Order Kiosk and Kitchen Display
date: 2026-03-03 00:00:00 +0000
tags: gastronomy
image: /assets/2026-03-03-14-30-00/title.jpg
bg_alternative: true
description: "A complete restaurant ordering system with a customer-facing kiosk and a kitchen display."
downloads:
- name: OrderKiosk.pbmx
url: /assets/2026-03-03-14-30-00/OrderKiosk.pbmx
- name: KitchenDisplay.pbmx
url: /assets/2026-03-03-14-30-00/KitchenDisplay.pbmx
---
3. Tags
Tags are space-separated in front matter. Use an industry-specific tag that best describes the use case. Available tags:
| Tag | Industry |
|---|---|
production |
Manufacturing, factory floors, assembly lines |
logistics |
Warehousing, shipping, supply chain |
hotel |
Hotels, hospitality |
gastronomy |
Restaurants, catering, food service |
retail |
Shops, supermarkets, point of sale |
healthcare |
Hospitals, clinics, dental practices |
fitness |
Gyms, sports studios |
food-and-beverage |
Breweries, food production, beverages |
office |
Office environments, meeting rooms |
energy |
Energy, utilities, sustainability |
transportation |
Public transit, airports, fleet management |
You can use multiple tags if applicable (e.g. production logistics). The first tag is used as the primary category shown on the article card. Add new tags as needed when no existing tag fits - keep them lowercase, use hyphens for multi-word tags.
4. Article Content Structure
Opening Paragraph (No Header!)
Every article starts with a direct intro paragraph without any heading. No # Introduction, no --- separator. Just text immediately after the front matter closing ---.
---
...front matter...
---
In this article, we will discuss how to...
Headers
##(H2) for main sections - the primary structural divisions###(H3) for subsections within a section- Never use
#(H1) in the body - the layout renders the title from front matter - Common section patterns:
- Setup / context section
- Step-by-step procedural sections (one H2 per step)
## Resultor## Result and conclusionor## Conclusionat the end
Images
Store images in /assets/YYYY-MM-DD-HH-MM-SS/ folder matching the post date.
Naming conventions:
- Hero image:
title.pngortitle.jpg(match the actual file extension) - Screenshot (single project):
010.png- named010.png - Screenshots (multi-project):
{ProjectName}_010.pngfor each sub-project (e.g.,OrderDashboard_010.png,KitchenDisplay_010.png) - Downloadable files (
.pbmx,.pbfx,.py,.txt) go in the same folder
Markdown syntax (single project):

Markdown syntax (multi-project): For multi-project articles, show each project’s screenshot with a descriptive heading or label:
## The Order Dashboard

## The Kitchen Display

Code Blocks
Method 1 - Liquid highlight tag:
<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> </span><span class="nl">"key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"value"</span><span class="w"> </span><span class="p">}</span></code></pre></figure>
Method 2 - Fenced code blocks (also fine):
```json
{ "key": "value" }
```
Supported language identifiers: json, lua, sql, csharp, python, abap, xml, powershell, html, url (for URL snippets), text (plain text)
Links
- Internal links use the title slug with
.htmlextension (no date in URL!):[Related Article](/Related-Article-Title-Slug.html) - External links use full URLs:
[Shelly API Docs](https://shelly-api-docs.shelly.cloud/gen1/) - No category links (categories have been removed)
Formatting
- Bold (
**text**) for UI element names, field names, key terms Inline code(backticks) for values, variable names, file names, API endpoints- Standard Markdown lists (unordered
- itemand ordered1. item) - Standard Markdown tables when needed
Videos
<div class="embed-container">
<iframe width="640" height="390"
src="https://www.youtube.com/embed/VIDEO_ID_HERE"
frameborder="0" allowfullscreen></iframe>
</div>
<style>
.embed-container {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
max-width: 100%;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>
Always placed at the very top of the article, before the first text paragraph. No heading needed above the video.
5. URL Structure
The blog uses flat permalinks: /:title:output_ext
A post file named 2026-03-03-My-Cool-Article.md becomes the URL:
/My-Cool-Article.html
The URL preserves the exact filename casing (not lowercased). There is no date in the URL path.
6. Writing Style
- Language: Always English
- Voice: The blog author is “Thilo” - write in first person plural (“we”) or instructional second person (“you”)
- Tone: Technical but approachable, sometimes playful/punny titles
- Structure: Problem → Setup → Step-by-step walkthrough → Result/Conclusion
- Use-case focus: Describe the real-world scenario, the problem, and how the dashboard helps. Do NOT describe Peakboard internals or technical implementation
- Screenshots: Heavy use of annotated screenshots showing each configuration step
- Practical focus: Every article typically includes a downloadable
.pbmxsample project - Download button: Do NOT add download links as text in the article body. The Guru download button image is rendered automatically in the right sidebar from the
downloadsfront matter field - Cross-linking: Reference related articles and categories using internal links
- Punctuation: Never use em dashes (—) or en dashes (–). Use only regular hyphens (-)
7. Complete Example Posts
Single-Project Example
---
layout: post
title: Gym Class Schedule Display - Building a Fitness Studio Dashboard with Peakboard
date: 2026-03-03 00:00:00 +0000
tags: fitness
image: /assets/2026-03-03-14-30-00/title.png
bg_alternative: true
description: "Build a dynamic gym class schedule display with Peakboard."
downloads:
- name: GymClassSchedule.pbmx
url: /assets/2026-03-03-14-30-00/GymClassSchedule.pbmx
---
<video width="100%" controls><source src="/assets/2026-03-03-14-30-00/video.mp4" type="video/mp4"></video>
Fitness studios often need a way to present their daily class schedule.
In this article, we build a complete dashboard with a course timetable,
KPI cards, and an occupancy bar chart.
## The layout concept
The dashboard runs at 1920x1080 with a dark design and neon cyan accents.
## Setting up the data
The application uses two Peakboard lists as its data backbone.

## Result
The finished dashboard provides an at-a-glance overview of the schedule.
Multi-Project Example
---
layout: post
title: Restaurant Ordering System - Customer Kiosk and Kitchen Display
date: 2026-03-03 00:00:00 +0000
tags: gastronomy
image: /assets/2026-03-03-14-30-00/title.jpg
bg_alternative: true
description: "A two-part restaurant system with a self-service ordering kiosk and a real-time kitchen display."
downloads:
- name: OrderKiosk.pbmx
url: /assets/2026-03-03-14-30-00/OrderKiosk.pbmx
- name: KitchenDisplay.pbmx
url: /assets/2026-03-03-14-30-00/KitchenDisplay.pbmx
---
<video width="100%" controls><source src="/assets/2026-03-03-14-30-00/video.mp4" type="video/mp4"></video>
Managing orders in a busy restaurant can be chaotic. This two-part system
connects a customer-facing ordering kiosk with a kitchen display that
shows incoming orders in real time.
## The Order Kiosk
Customers browse the menu and place orders directly on a touchscreen.

## The Kitchen Display
As orders come in, they appear on the kitchen screen sorted by time.

## Result
The two dashboards work together to streamline the ordering process.
8. Checklist Before Publishing
- File name matches pattern
YYYY-MM-DD-Title.md layout: postis setdate:matches the file name datetags:uses valid tags from the list above (space-separated)image:points to an existing hero image- No
#(H1) headers in the body - First paragraph has no heading
- Internal links use
/Title-Slug.htmlformat (no date in URL) - Images are in
/assets/YYYY-MM-DD-HH-MM-SS/folder - Article ends with a
## Resultor## Conclusionsection - Download link(s) in
downloads:front matter only (not as text in the article body) - For multi-project articles: all project files listed in
downloads:with descriptive names - For multi-project articles: each project has its own screenshot shown in the article body