# giscus/giscus

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/giscus-giscus).**

11,793 stars · 476 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/giscus/giscus
- Homepage: https://giscus.app
- awesome-repositories: https://awesome-repositories.com/repository/giscus-giscus.md

## Topics

`blog` `comment-system` `comments` `comments-widget` `giscus` `github` `github-discussions` `hacktoberfest` `javascript` `nextjs` `react` `reactjs` `utterances` `widget`

## Description

Giscus is a comment system that enables websites to host interactive discussion sections by leveraging GitHub Discussions as a backend. It functions as a web component that maps specific page URLs or metadata to discussion threads, allowing visitor messages and reactions to be stored and retrieved directly from a linked repository.

The system operates by injecting a sandboxed iframe into the host page, which isolates the interface from the parent website's styles while maintaining secure communication through browser messaging protocols. Configuration is handled declaratively via HTML data attributes, allowing for visual customization, theme selection, and localization to align the widget with the host site's design.

To maintain page responsiveness, the widget employs lazy loading to defer the initialization of the comment interface until the element enters the user's viewport. This approach allows for the integration of a functional commenting system on static or dynamic websites without the need for a dedicated database or external backend server.

## Tags

### Content Management & Publishing

- [Comment Systems](https://awesome-repositories.com/f/content-management-publishing/content-aggregation-curation/comment-systems.md) — Adds interactive discussion sections to websites without requiring a dedicated backend database.
- [Repository-Backed Threads](https://awesome-repositories.com/f/content-management-publishing/threaded-discussion-interfaces/repository-backed-threads.md) — Uses public repository discussion boards as the primary database for persisting user comments.

### Networking & Communication

- [Discussion Linking](https://awesome-repositories.com/f/networking-communication/discussion-linking.md) — Integrates website comment sections directly with repository-based discussion boards.

### User Interface & Experience

- [Comment Interfaces](https://awesome-repositories.com/f/user-interface-experience/comment-interfaces.md) — Ships a customizable web component that maps page URLs to discussion threads.
- [Chat Widget Customization Tools](https://awesome-repositories.com/f/user-interface-experience/chat-widget-customization-tools.md) — Allows visual and linguistic customization of the embedded comment widget. ([source](https://giscus.app))
- [Customizable UI Components](https://awesome-repositories.com/f/user-interface-experience/customizable-ui-components.md) — Provides extensive options for visual themes and localization to match host website designs.

### Web Development

- [Deferred Loading](https://awesome-repositories.com/f/web-development/performance-optimizations/initial-page-load-optimizations/deferred-loading.md) — Improves page responsiveness by deferring the loading of comment components.
- [Lazy Loading Strategies](https://awesome-repositories.com/f/web-development/performance-optimizations/lazy-loading-strategies.md) — Defers component initialization until the element enters the viewport to optimize page performance.
