plok.sh

Get started in 5 minutes ⚡

No account needed. No setup. Just GitHub + Markdown.

0. What you need

  • A GitHub account (free)
  • A public repository (or create a new one)
  • 5 minutes of your time

1. Create a blog folder

In any public GitHub repo, create a folder called blog

Your repo structure:

📁 your-repo
📁 blog ← create this
📄 your-posts.md
📄 README.md
🆕 Don't have a repo yet? Click here
  1. 1. Go to github.com/new
  2. 2. Name it anything (e.g., my-blog)
  3. 3. Make sure it's Public
  4. 4. Check "Add a README file"
  5. 5. Click "Create repository"

2. Add your first post

Create a .md file inside the blog folder. The filename becomes the URL.

blog/hello-world.md
---
title: Hello World
date: 2025-01-15
description: My first blog post
---

# Welcome to my blog!

This is my **first post** using plok.sh.

## It supports all Markdown

- Lists
- **Bold** and *italic*
- [Links](https://example.com)
- Images
- Code blocks
- And more!

```javascript
console.log("Hello from plok.sh!");
```

📁 File: blog/hello-world.md → 🌐 URL: plok.sh/you/repo/hello-world

3. Understanding frontmatter

The stuff between the --- lines is called frontmatter. It's metadata about your post. It's optional but recommended!

Frontmatter example
---
title: My Post Title
date: 2025-01-15
description: A short summary for previews
---
titleShows in the post list and browser tab
dateUsed to sort posts (newest first). Format: YYYY-MM-DD
descriptionShows as a preview in the post list

4. Visit your blog

That's it! Your blog is live at:

plok.sh/your-username/your-repo

5. Customize (optional)

Want a different look? Add a config file to change themes, fonts, and more.

blog/blog.config.yaml
# Blog metadata
title: "My Awesome Blog"
description: "Thoughts on code and life"

# Appearance
theme: "catppuccin-mocha"
font: "inter"

# Features
show_toc: true
show_repo_link: true

# Analytics (optional)
ga_id: "G-XXXXXXXXXX"

Config options explained

titleYour blog's name. Shows in the header and browser tab.
descriptionA short tagline. Shows below the title on the blog page.
themeColor scheme. 21 themes available (default: rose-pine)
fontTypography. Options: system, inter, manrope, space-grotesk, outfit, jetbrains, fira-code, geist-mono
show_tocShow table of contents on posts. true or false (default: true)
show_repo_linkShow "View on GitHub" link. true or false (default: true)
ga_idGoogle Analytics ID for tracking visitors. See below for setup.

6. Google Analytics (optional)

Track your visitors with Google Analytics. Just add your GA ID to the config.

How to get your GA ID:

  1. 1.Go to analytics.google.com
  2. 2.Create an account or sign in
  3. 3.Create a new property for your blog
  4. 4.Go to Admin → Data Streams → Web
  5. 5.Copy your Measurement ID (starts with G-)
Add to blog.config.yaml
ga_id: "G-XXXXXXXXXX"

💡 Your analytics data stays in your Google Analytics account. plok.sh doesn't see your visitor data.

💡 Tips

Use descriptive filenames

how-to-learn-rust.md is better than post1.md

Changes appear instantly

Push to GitHub and your blog updates automatically. May take ~30 seconds to refresh.

Multiple blogs? No problem

Each repo with a /blog folder becomes a separate blog.

❓ FAQs

Can I use this for documentation?

Absolutely! Just create a /blog folder in your project repo and add your docs as markdown files. Great for changelogs, tutorials, or project guides.

Do I need to sign up?

Nope! plok.sh reads directly from public GitHub repos. No account, no API keys, no setup.

Can I use a private repo?

Not yet. plok.sh only works with public repositories. Private repo support may come in the future.

Can I use a custom domain?

Not currently. Your blog lives at plok.sh/username/repo. Custom domains are on the roadmap.

How do I delete my blog?

Just delete the /blog folder from your repo, or make the repo private. There's nothing to "delete" on plok.sh — we don't store your content.

Is there a post limit?

No limits. Add as many markdown files as you want. Just keep them in the /blog folder.

Can I organize posts in subfolders?

Yes! Create subfolders inside /blog and posts will be accessible at plok.sh/user/repo/folder/post

Does it support images?

Yes! Use standard markdown image syntax. Host images in your repo or use external URLs like ![alt](https://...)

Ready to start?

Enter your GitHub username to see your blogs

← Back to home