Documentation

Learn how to create and customize your blog on SimpleBlog.

Writing Posts

Posts are the main content of your blog. They appear in your blog's feed, sorted by publish date.

Creating a new post

From your dashboard, click the New Post button. You'll see the post editor with the following options:

Post editor interface
  • Title — The headline of your post. This appears at the top of the post and in your blog's post list.
  • Content — Write using the rich text editor. You can format text, add links, images, and more.
  • Publish date — Set when the post should be published. Schedule future posts or backdate to any time.
  • Tags — Add comma-separated tags to categorize your post. Tags help readers find related content.
  • Featured image — Upload an image to display at the top of your post and in social previews.
  • Slug — The URL path for your post. Auto-generated from the title, but you can customize it.

Publishing

Posts can be saved as drafts or published immediately. Draft posts are only visible to you. When you're ready, change the status to Published and your post will go live.

Set a future publish date to schedule posts. They'll automatically become visible at the specified time.

Creating Pages

Pages are standalone content that doesn't appear in your blog's post feed. Use pages for static content like About, Contact, or custom landing pages.

Creating a new page

From your dashboard, go to the Pages tab and click New Page. Pages have the same editor as posts, with a few differences:

  • No publish date — Pages are either published or draft, without date-based scheduling.
  • Hide title — Option to hide the title on the page itself (useful for custom homepage designs).
  • No tags — Pages aren't categorized like posts.

Use cases

  • About page — Tell visitors about yourself or your blog.
  • Contact page — Provide ways for readers to reach you.
  • Custom homepage — Design a unique landing page and set it as your blog's homepage in settings.

GitHub Sync

Sync your blog posts directly from a GitHub repository. Write your posts in Markdown, push to GitHub, and SimpleBlog automatically updates your blog.

Connecting your repository

From your dashboard, go to Settings → GitHub to set up the connection:

  • Repository — Enter in owner/repo format (e.g., johndoe/my-blog-posts).
  • Folder path — The folder containing your Markdown files. Defaults to posts/.
  • Personal Access Token — Create a Personal Access Token with repo scope.
Your access token is encrypted and stored securely. A webhook is automatically created in your repository to receive push notifications.

Markdown file format

Each Markdown file should include YAML frontmatter at the top. The title field is required:

---
title: My Blog Post Title
published_at: 2024-01-15
tags: [tutorials, getting-started]
draft: false
---

Your post content goes here in Markdown format.

Frontmatter options

  • title (required) — The headline of your post.
  • published_at — The publish date. Accepts dates like 2024-01-15 or 2024-01-15 10:30:00.
  • tags — A list of tags for categorization. Use YAML list syntax: [tag1, tag2] or separate lines.
  • draft — Set to true to save as a draft, or false to publish.

How syncing works

  • The filename becomes the post's URL slug (e.g., my-first-post.md/my-first-post).
  • Images in your Markdown are automatically downloaded and hosted on SimpleBlog.
  • Updating a file updates the existing post—posts are tracked by filename.
  • Files larger than 1MB are skipped.

Automatic updates

When you push changes to your repository, SimpleBlog receives a webhook notification and syncs the updated files automatically. You can view recent sync activity and any errors from the GitHub settings page.

You can also trigger a manual sync from the GitHub settings page if needed.

Special Variables

SimpleBlog supports special variables that you can use in your post or page content to embed dynamic content.

The posts variable

Use {{ posts }} to embed a list of your blog posts anywhere in your content. This is useful for creating custom category pages, featured posts sections, or related posts lists.

Options

  • tag — Filter posts by a specific tag.
  • limit — Limit the number of posts displayed.
  • exclude_current — Exclude the current post from the list (useful for "related posts" sections).

Examples

{{ posts }}

Display all published posts.

{{ posts limit: 3 }}

Display the 3 most recent posts.

{{ posts tag: "tutorials" }}

Display all posts tagged "tutorials".

{{ posts tag: "featured" limit: 5 exclude_current: true }}

Display up to 5 posts tagged "featured", excluding the current post.

The posts variable renders a styled list that matches your blog's theme settings.

Customization

SimpleBlog gives you full control over how your blog looks and feels. Access customization options from the Theme and Settings pages in your dashboard.

Theme settings

Theme customization interface
  • Colors — Customize background, text, accent, and link colors for both light and dark modes.
  • Presets — Start with a pre-built theme (Classic, Modern, or Minimal) and customize from there.
  • Header & footer — Set separate background colors and border visibility.

Typography

  • Heading font — Choose from options like Cormorant Garamond, Playfair Display, Lora, and more.
  • Body font — Select a font for your post content: Instrument Sans, Inter, Source Sans Pro, etc.
  • Font scale — Adjust overall text size: Small, Medium, or Large.
  • Code theme — Pick a syntax highlighting theme for code blocks.

Layout

  • Content width — Narrow (640px), Medium (768px), or Wide (896px).
  • Post title alignment — Left or centered.
  • Header layout — Centered, inline, or full-width.
  • List style — Display posts as Standard list, Cards, or Timeline.
  • Border radius — Control rounded corners throughout your blog.

Navigation

Customize header and footer links from the Navigation page:

Navigation settings interface
  • Add links to pages, posts, or external URLs.
  • Include social media icons (X, Bluesky, Instagram, GitHub, and more).
  • Reorder items via drag-and-drop.
  • Show or hide individual links.

Blog settings

Blog settings interface
  • Title — Your blog's name, displayed in the header.
  • Subdomain — Your blog's URL (e.g., yourblog.simplyblog.io).
  • Custom domain — Connect your own domain (Pro plan).
  • Homepage — Set a page as your homepage instead of the default post list.
  • Custom footer — Add custom HTML content to your blog's footer.
  • Newsletter — Show or hide the subscribe form for visitors.