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:
🆕 Don't have a repo yet? Click here
- 1. Go to github.com/new
- 2. Name it anything (e.g.,
my-blog) - 3. Make sure it's Public
- 4. Check "Add a README file"
- 5. Click "Create repository"
2. Add your first post
Create a .md file inside the blog folder. The filename becomes the URL.
---
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!
--- title: My Post Title date: 2025-01-15 description: A short summary for previews ---
titleShows in the post list and browser tabdateUsed to sort posts (newest first). Format: YYYY-MM-DDdescriptionShows as a preview in the post list4. 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 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-monoshow_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.Go to analytics.google.com
- 2.Create an account or sign in
- 3.Create a new property for your blog
- 4.Go to Admin → Data Streams → Web
- 5.Copy your Measurement ID (starts with
G-)
ga_id: "G-XXXXXXXXXX"
💡 Your analytics data stays in your Google Analytics account. plok.sh doesn't see your visitor data.
8. Links Page (optional)
Create a Linktree-style links page with a simple YAML file.
title: "My Links" description: "Find me around the web" links: - label: "GitHub" url: "https://github.com/you" - label: "Twitter" url: "https://twitter.com/you"
💡 Your links page will be at plok.sh/user/repo/links. Icons are auto-detected for popular platforms!
💡 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 
Ready to start?
Enter your GitHub username to see your blogs
← Back to home