Skip to content

Configuration

girok-md is configured through the setting.toml file in your project root.

Basic Configuration

setting.toml
# Required: Path to your markdown files
source_root_path = "/path/to/your/obsidian/vault"
# Blog name (displayed in header and metadata)
blog_name = "My Blog"
# Site URL for SEO (sitemap, canonical URLs)
site_url = "https://username.github.io"
# Locale: "en" or "ko"
locale = "en"

Configuration Options

source_root_path

Required. The absolute path to your markdown folder (e.g., Obsidian vault).

source_root_path = "/Users/john/Documents/Obsidian/MyVault"

blog_name

The name of your blog. Displayed in the header and used in page titles.

blog_name = "John's Tech Blog"

site_url

Your site’s URL. Used for:

  • Generating sitemap.xml
  • Setting canonical URLs for SEO
  • Open Graph meta tags
site_url = "https://john.github.io"

locale

The default language for your blog. Affects date formatting and UI labels.

locale = "en" # or "ko" for Korean

Intro Section

Configure the intro section displayed on the home page:

[intro]
title = "Welcome to My Blog"
description = "Sharing my thoughts on technology and life"

Environment Variables

You can also use environment variables for sensitive values:

Create a .env file:

.env
PUBLIC_SITE_URL=https://your-site.com

File Structure After Configuration

After running npm run sync, your project structure will look like:

your-blog/
├── setting.toml # Your configuration
├── src/
│ └── content/
│ └── posts/ # Synced markdown files
├── public/
│ └── assets/ # Synced images
└── ...

Comments

Enable comments on your blog posts using Giscus, a comments system powered by GitHub Discussions.

Setup

  1. Enable GitHub Discussions on your repository:

    • Go to your repository → Settings → General → Features
    • Check “Discussions”
  2. Install the Giscus app:

  3. Generate your configuration:

    • Go to giscus.app
    • Fill in your repository details
    • Copy the generated values
  4. Update setting.toml:

setting.toml
[comments]
enabled = true
provider = "giscus"
[comments.giscus]
repo = "username/repo"
repo_id = "R_kgDOxxxxxx"
category = "Announcements"
category_id = "DIC_kwDOxxxxxx"
mapping = "pathname"
strict = "0"
reactions_enabled = "1"
emit_metadata = "0"
input_position = "top"
theme = "preferred_color_scheme"
lang = "en"

Configuration Options

OptionDescriptionValues
enabledEnable/disable commentstrue / false
providerComment system provider"giscus"
repoGitHub repository"username/repo"
repo_idRepository ID from giscus.app"R_kgDOxxxxxx"
categoryDiscussion category name"Announcements", "General", etc.
category_idCategory ID from giscus.app"DIC_kwDOxxxxxx"
mappingHow to map posts to discussions"pathname", "url", "title", "og:title"
strictStrict title matching"0" (off) / "1" (on)
reactions_enabledEnable reactions"0" (off) / "1" (on)
emit_metadataEmit discussion metadata"0" (off) / "1" (on)
input_positionComment input position"top" / "bottom"
themeColor theme"light", "dark", "preferred_color_scheme"
langLanguage"en", "ko", "ja", "zh-CN", etc.

Next Steps