No description
Find a file
2026-07-18 15:28:13 +02:00
.github/workflows build: bundle dependencies and ship pre-built dist 2026-04-27 21:37:31 +02:00
dist add bsky and hackernews 2026-07-18 15:28:13 +02:00
src add bsky and hackernews 2026-07-18 15:28:13 +02:00
test add bsky and hackernews 2026-07-18 15:28:13 +02:00
types chore: centralize type declarations and standardize tooling config 2026-03-16 18:55:26 +01:00
.eslintrc.json chore: centralize type declarations and standardize tooling config 2026-03-16 18:55:26 +01:00
.gitignore chore: commit dist/ and remove prepare script 2026-03-14 21:57:30 +01:00
.prettierignore chore: centralize type declarations and standardize tooling config 2026-03-16 18:55:26 +01:00
.prettierrc Initial commit 2026-02-09 23:01:53 +01:00
CHANGELOG.md Initial commit 2026-02-09 23:01:53 +01:00
LICENSE Initial commit 2026-02-09 23:01:53 +01:00
package-lock.json add bsky and hackernews 2026-07-18 15:28:13 +02:00
package.json add bsky and hackernews 2026-07-18 15:28:13 +02:00
README.md add bsky and hackernews 2026-07-18 15:28:13 +02:00
tsconfig.build.json fix: use separate tsconfig for DTS build to avoid vitest dependency 2026-03-22 13:12:01 +01:00
tsconfig.json chore: centralize type declarations and standardize tooling config 2026-03-16 18:55:26 +01:00
tsup.config.ts build: bundle dependencies and ship pre-built dist 2026-04-27 21:37:31 +02:00
vitest.config.ts Initial commit 2026-02-09 23:01:53 +01:00

@quartz-community/comments

Adds a comment section to pages using Giscus (GitHub Discussions), Bluesky, or Hacker News.

Installation

npx quartz plugin add github:quartz-community/comments

Usage

plugins:
  - source: github:quartz-community/comments
    enabled: true
    options:
      provider: giscus # Or "bluesky" or "hackernews"
      options: {}
    layout:
      position: afterBody
      priority: 10

Providers Setup

1. Bluesky

Pulls a reply thread directly from a Bluesky post.

  1. Set the provider to "bluesky" in quartz.config.yaml.

  2. Add the blueskyUrl field pointing to the post in the page's frontmatter:

    ---
    title: My Blog Post
    blueskyUrl: https://bsky.app/profile/username.bsky.social/post/3mq...
    ---
    

2. Hacker News

Pulls a reply thread directly from a Hacker News item thread.

  1. Set the provider to "hackernews" in quartz.config.yaml.

  2. Add the hnId or hnUrl field in the page's frontmatter:

    ---
    title: My Blog Post
    hnId: 123456
    # Or full url:
    # hnUrl: https://news.ycombinator.com/item?id=123456
    ---
    

3. Giscus

GitHub Discussions-based commenting system.

  1. Set the provider to "giscus".

  2. Provide your repository options:

    import * as ExternalPlugin from "./.quartz/plugins";
    
    ExternalPlugin.Comments({
      provider: "giscus",
      options: {
        repo: "your-repo",
        repoId: "your-repo-id",
        category: "your-category",
        categoryId: "your-category-id",
      },
    });
    

Configuration

Option Type Default Description
provider "giscus" | "bluesky" | "hackernews" - The comment provider to use.
options.repo string - (Giscus only) The GitHub repository to use.
options.repoId string - (Giscus only) The ID of the GitHub repository.
options.category string - (Giscus only) The Discussions category to use.
options.categoryId string - (Giscus only) The ID of the category.
options.themeUrl string undefined (Giscus only) Custom theme URL for Giscus.
options.lightTheme string "light" (Giscus only) The light theme for Giscus.
options.darkTheme string "dark" (Giscus only) The dark theme for Giscus.
options.mapping string "url" (Giscus only) Page to discussion mapping.
options.strict boolean true (Giscus only) Use strict discussion matching.
options.reactionsEnabled boolean true (Giscus only) Enable reactions for comments.
options.inputPosition "top" | "bottom" "bottom" (Giscus only) The position of the input box.
options.lang string "en" (Giscus only) The language for Giscus.

Customization

You can conditionally disable comments on a specific page by setting comments: false in that page's frontmatter:

---
title: Comments Disabled
comments: false
---

Documentation

See the Quartz documentation for more information.

License

MIT