Pages

Friday, 30 April 2021

一个轻量级的博客评论系统utterances

A lightweight comments widget built on GitHub issues.

https://utteranc.es/

A lightweight comments widget built on GitHub issues. Use GitHub issues for blog comments, wiki pages and more!

  • Open source. 🙌
  • No tracking, no ads, always free. 📡🚫
  • No lock-in. All data stored in GitHub issues. 🔓
  • Styled with Primer, the css toolkit that powers GitHub. 💅
  • Dark theme. 🌘
  • Lightweight. Vanilla TypeScript. No font downloads, JavaScript frameworks or polyfills for evergreen browsers. 🐦🌲

how it works

When Utterances loads, the GitHub issue search API is used to find the issue associated with the page based on url, pathname or title. If we cannot find an issue that matches the page, no problem, utterances-bot will automatically create an issue the first time someone comments.

To comment, users must authorize the utterances app to post on their behalf using the GitHub OAuth flow. Alternatively, users can comment on the GitHub issue directly.

configuration

sites using utterances

from https://github.com/utterance/utterances

------

OAuth flow for utterances, utterance-bot APIs

utteranc.es 

utterances-oauth

This repo contains the source for the Cloudflare Worker that powers the GitHub OAuth flow and issue creation for Utterances.

install

yarn install

configuration

Create a file named .env at the root. File should have the following values:

  • BOT_TOKEN: a personal access token that will be used when creating GitHub issues.
  • CLIENT_ID: The client id to be used in the GitHub OAuth web application flow
  • CLIENT_SECRET: The client secret for the OAuth web application flow
  • STATE_PASSWORD: 32 character password for encrypting state in request headers/cookies. Generate here.
  • ORIGINS: comma delimited list of permitted origins. For CORS.

Example:

BOT_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
CLIENT_ID=aaaaaaaaaaaaaaaaaaaa
CLIENT_SECRET=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
STATE_PASSWORD=01234567890123456789012345678901
ORIGINS=https://utteranc.es,http://localhost:9000

run locally

yarn run start

build

yarn run build

deploy

First add the necessary CLOUDFLARE_* entries to your .env file. See @cfworker/dev README for more information.

Then execute:

yarn run deploy
from https://github.com/utterance/utterances-oauth 

-----

giscus

利用 GitHub Discussions 实现的评论系统,让访客借助 GitHub 在你的网站上留下评论和反应吧!本项目深受 utterances 的启发。

from https://giscus.app/zh-CN

 

No comments:

Post a Comment