This guide explains how to publish blog articles on your website.
The blog system uses Jekyll, a static site generator that converts Markdown files into HTML pages. Blog posts are stored in the _posts directory and automatically appear on the blog landing page at /blog/.
Blog posts must follow this naming convention:
YYYY-MM-DD-title-of-post.md
Examples:
2025-01-15-my-first-post.md2025-03-22-thoughts-on-product-development.md2025-12-01-year-in-review.mdThe date in the filename determines the post’s publication date.
All blog posts must be placed in the _posts directory at the root of the repository.
Every blog post must start with YAML front matter (metadata between triple dashes). Here’s the basic template:
---
layout: default
title: "Your Post Title"
date: 2025-01-15
excerpt: "A brief summary of your post that appears on the blog landing page. Keep it concise and engaging."
---
Your blog post content starts here...
default (required)After the front matter, write your content in Markdown format. The site uses Kramdown, which supports:
# H1, ## H2, ### H3, etc.**bold text***italic text*[link text](https://example.com)```javascript
const hello = "world";
```
- or * for bullets, 1. for numbered lists> Quote textCreate a file named 2025-01-15-welcome-to-my-blog.md in the _posts directory:
---
layout: default
title: "Welcome to My Blog"
date: 2025-01-15
excerpt: "Introducing my new blog where I'll share thoughts on product development, electronic music, and technology."
---
# Welcome!
I'm excited to launch this blog where I'll be sharing my thoughts and experiences on:
- Product development and management
- Electronic music production
- Technology and software engineering
- My journey building projects like Vai Kai and Dangė Records
## What to Expect
I'll be posting regularly about topics that interest me and hopefully interest you too. Stay tuned for more content!
You can always reach out to me via [email](mailto:matas.petrikas@gmail.com) if you have any questions or feedback.
_posts/ with the correct naming conventiongit add _posts/your-post.md && git commit -m "Add new blog post"git push origin mainhttps://petrikas.de/blog/ to see your new postbundle exec jekyll serve to preview your site at http://localhost:4000/images/ directory and reference them with /images/filename.jpgJekyll supports draft posts that you can work on without publishing them immediately. Drafts are stored in the _drafts directory.
_drafts directorytitle-of-draft.mdExample draft file: _drafts/my-thoughts-on-ai.md
---
layout: default
title: "My Thoughts on AI"
excerpt: "Work in progress on artificial intelligence and creativity"
---
Draft content goes here...
To preview your drafts locally:
bundle exec jekyll serve --drafts
This will show drafts on your local blog as if they were published (using the current date).
When you’re ready to publish a draft:
YYYY-MM-DD-title.md_drafts/ to _posts/Note: Drafts in _drafts/ will not appear on your live blog - they’re only visible when running Jekyll with the --drafts flag.
The blog landing page is located at blog.html and automatically displays all posts from the _posts directory in reverse chronological order (newest first). Each post shows: