Front-end/Good Front

๐Ÿ—จ๏ธ Giscus: GitHub ๊ธฐ๋ฐ˜์˜ ๋Œ“๊ธ€ ์‹œ์Šคํ…œ

xeunnie 2025. 3. 6. 01:00
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ—จ๏ธ Giscus: GitHub ๊ธฐ๋ฐ˜์˜ ๋Œ“๊ธ€ ์‹œ์Šคํ…œ

 

๋ธ”๋กœ๊ทธ๋‚˜ ๋ฌธ์„œ ์‚ฌ์ดํŠธ์— ๋Œ“๊ธ€ ์‹œ์Šคํ…œ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€๋งŒ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •์ด๋‚˜ ์„œ๋ฒ„ ๊ตฌ์ถ• ์—†์ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”?

๋ฐ”๋กœ Giscus๊ฐ€ ์ด๋Ÿฐ ๋‹ˆ์ฆˆ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. Giscus๋Š” GitHub Discussions๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋Œ“๊ธ€ ์‹œ์Šคํ…œ์œผ๋กœ, ๋Œ“๊ธ€์„ GitHub์— ์ €์žฅํ•˜๋ฏ€๋กœ ์ถ”๊ฐ€์ ์ธ ์„œ๋ฒ„๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Giscus์˜ ๊ฐœ๋…, ์ฃผ์š” ๊ธฐ๋Šฅ, ์‚ฌ์šฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ์‹ค๋ฌด์—์„œ์˜ ํ™œ์šฉ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ค„๋ณผ๊ฒŒ์š”!

 

1. Giscus๋ž€?

 

๐Ÿ’ก GitHub Discussions ๊ธฐ๋ฐ˜ ๋Œ“๊ธ€ ์‹œ์Šคํ…œ

 

Giscus๋Š” GitHub Discussions API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ“๊ธ€์„ ๊ด€๋ฆฌํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋Œ“๊ธ€ ์œ„์ ฏ์ž…๋‹ˆ๋‹ค. ๋Œ“๊ธ€ ๋ฐ์ดํ„ฐ๊ฐ€ GitHub Discussions์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ๋ฐฑ์—”๋“œ ์„ค์ • ์—†์ด๋„ ์†์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

๐Ÿ“‹ Giscus์˜ ํŠน์ง•

์„œ๋ฒ„๋ฆฌ์Šค(Serverless): ๋ฐ์ดํ„ฐ๋Š” GitHub์— ์ €์žฅ๋˜๋ฏ€๋กœ, ๋ณ„๋„์˜ ์„œ๋ฒ„๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

์˜คํ”ˆ ์†Œ์Šค: ๋ˆ„๊ตฌ๋‚˜ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitHub ๊ณ„์ • ์‚ฌ์šฉ: ๋Œ“๊ธ€ ์ž‘์„ฑ์ž๋Š” GitHub ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ŠคํŒธ ๋ฐฉ์ง€: GitHub Discussions๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ŠคํŒธ ๊ณ„์ •์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SEO ์นœํ™”์ : ๋Œ“๊ธ€์ด GitHub Discussions์— ์ €์žฅ๋˜๋ฏ€๋กœ ๊ฒ€์ƒ‰ ์—”์ง„์ด ์ธ๋ฑ์‹ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

2. Giscus์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

 

๐Ÿ› ๏ธ 1) ๋Œ“๊ธ€๊ณผ Discussions ๋™๊ธฐํ™”

 

๋Œ“๊ธ€์€ GitHub Discussions์˜ ํŠน์ • ์Šค๋ ˆ๋“œ์™€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๋Œ“๊ธ€์ด ์ถ”๊ฐ€๋˜๋ฉด ํ•ด๋‹น Discussions ์Šค๋ ˆ๋“œ์— ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

 

๐Ÿ› ๏ธ 2) ๋ฉ€ํ‹ฐ ํŽ˜์ด์ง€ ์ง€์›

 

Giscus๋Š” ํŽ˜์ด์ง€๋ณ„๋กœ ๊ณ ์œ ํ•œ Discussions ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์Šค๋ ˆ๋“œ์™€ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ› ๏ธ 3) ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅ

 

Giscus๋Š” ๋‹คํฌ ๋ชจ๋“œ, ๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์›, ๊ทธ๋ฆฌ๊ณ  ์œ„์ ฏ ์Šคํƒ€์ผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

3. Giscus ์„ค์น˜ ๋ฐ ์„ค์ •

 

๐Ÿ› ๏ธ 1) GitHub ์ €์žฅ์†Œ ์ƒ์„ฑ

 

๋จผ์ €, Giscus๊ฐ€ ๋Œ“๊ธ€์„ ์ €์žฅํ•  GitHub Discussions๋ฅผ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1. GitHub ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

2. ์ €์žฅ์†Œ์˜ Settings๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

3. Discussions ์„น์…˜์—์„œ Discussions๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ› ๏ธ 2) Giscus ์„ค์ •

1. Giscus ๊ณต์‹ ์„ค์ • ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

2. ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:

Repository: Giscus๊ฐ€ ์—ฐ๊ฒฐ๋  GitHub ์ €์žฅ์†Œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Mapping: ๋Œ“๊ธ€๊ณผ Discussions์˜ ๋งคํ•‘ ๋ฐฉ์‹์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

URL: ํŽ˜์ด์ง€ URL ๊ธฐ์ค€์œผ๋กœ Discussions ์—ฐ๊ฒฐ.

Title: ํŽ˜์ด์ง€ ์ œ๋ชฉ ๊ธฐ์ค€์œผ๋กœ ์—ฐ๊ฒฐ.

OG:URL: Open Graph URL์„ ๊ธฐ์ค€์œผ๋กœ ์—ฐ๊ฒฐ.

Theme: Giscus ์œ„์ ฏ์˜ ํ…Œ๋งˆ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

3. Giscus ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ› ๏ธ 3) ์„ค์น˜

 

HTML์— Giscus ์ถ”๊ฐ€

 

<div id="comments"></div>

<script src="https://giscus.app/client.js"

        data-repo="username/repo"

        data-repo-id="REPO_ID"

        data-category="Discussions"

        data-category-id="CATEGORY_ID"

        data-mapping="pathname"

        data-strict="0"

        data-reactions-enabled="1"

        data-emit-metadata="0"

        data-input-position="top"

        data-theme="light"

        data-lang="en"

        crossorigin="anonymous"

        async>

</script>

 

Next.js์—์„œ Giscus ์ถ”๊ฐ€

1. Giscus ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ

 

import React from 'react';

 

const Giscus = () => (

  <div id="comments">

    <script

      src="https://giscus.app/client.js"

      data-repo="username/repo"

      data-repo-id="REPO_ID"

      data-category="Discussions"

      data-category-id="CATEGORY_ID"

      data-mapping="pathname"

      data-strict="0"

      data-reactions-enabled="1"

      data-emit-metadata="0"

      data-input-position="top"

      data-theme="light"

      data-lang="en"

      crossorigin="anonymous"

      async

    ></script>

  </div>

);

 

export default Giscus;

 

2. ํŽ˜์ด์ง€์— Giscus ์ถ”๊ฐ€

 

import Giscus from '../components/Giscus';

 

const BlogPost = () => (

  <div>

    <h1>๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ ์ œ๋ชฉ</h1>

    <p>๋ธ”๋กœ๊ทธ ๋‚ด์šฉ</p>

    <Giscus />

  </div>

);

 

export default BlogPost;

 

4. Giscus ํ™œ์šฉ ์‚ฌ๋ก€

 

๐Ÿ“– 1) ๋ธ”๋กœ๊ทธ ๋Œ“๊ธ€

๋ธ”๋กœ๊ทธ์˜ ๊ฐ ํฌ์ŠคํŠธ๋งˆ๋‹ค ๋ณ„๋„์˜ Discussions ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•ด ๋Œ“๊ธ€์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“– 2) ๋ฌธ์„œํ™” ํ”ผ๋“œ๋ฐฑ

๋ฌธ์„œ ํŽ˜์ด์ง€์— Giscus๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ์‰ฝ๊ฒŒ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ“– 3) ์ปค๋ฎค๋‹ˆํ‹ฐ ํฌ๋Ÿผ

Discussions์™€ ๋Œ“๊ธ€์„ ํ†ตํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์˜๊ฒฌ์„ GitHub ํ”Œ๋žซํผ์—์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

5. Giscus์˜ ์žฅ๋‹จ์ 

 

๐Ÿ‘ ์žฅ์ 

1. GitHub ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ: ๋Œ“๊ธ€ ๋ฐ์ดํ„ฐ๋ฅผ GitHub Discussions์— ์ €์žฅ.

2. ๋ฌด๋ฃŒ ๋ฐ ์˜คํ”ˆ ์†Œ์Šค: ๋ˆ„๊ตฌ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

3. GitHub ๊ณ„์ • ์ธ์ฆ: ์ŠคํŒธ ๋Œ“๊ธ€ ๋ฐฉ์ง€.

4. SEO ์นœํ™”์ : ๋Œ“๊ธ€์ด ๊ฒ€์ƒ‰ ์—”์ง„์— ์ธ๋ฑ์‹ฑ๋  ์ˆ˜ ์žˆ์Œ.

 

๐Ÿ‘Ž ๋‹จ์ 

1. GitHub ๊ณ„์ • ํ•„์ˆ˜: ๋Œ“๊ธ€ ์ž‘์„ฑ์ž๋Š” GitHub ๊ณ„์ •์ด ์žˆ์–ด์•ผ ํ•จ.

2. ์ œํ•œ๋œ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•: ๋””์ž์ธ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์˜ต์…˜์ด ์ œํ•œ์ .

3. ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ: ๋ฐ์ดํ„ฐ๊ฐ€ GitHub์— ์ €์žฅ๋˜๋ฏ€๋กœ ํ”Œ๋žซํผ ์˜์กด์„ฑ์ด ์ƒ๊น€.

 

6. Giscus vs Disqus

 

ํŠน์ง• Giscus Disqus

๋ฐ์ดํ„ฐ ์ €์žฅ ์œ„์น˜ GitHub Discussions Disqus ์„œ๋ฒ„

๊ฐ€๊ฒฉ ๋ฌด๋ฃŒ ์œ ๋ฃŒ ํ”Œ๋žœ ์กด์žฌ

SEO ๊ฐ€๋Šฅ (GitHub Discussions ๊ธฐ๋ฐ˜) ๊ฐ€๋Šฅ (HTML๋กœ ๋ Œ๋”๋ง)

์ŠคํŒธ ๋ฐฉ์ง€ GitHub ๊ณ„์ • ์ธ์ฆ ๋ณ„๋„์˜ ์ŠคํŒธ ํ•„ํ„ฐ ์ œ๊ณต

 

๊ฒฐ๋ก 

 

Giscus๋Š” GitHub Discussions๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ฐ€๋ณ๊ณ  ๊ฐ•๋ ฅํ•œ ๋Œ“๊ธ€ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ • ์—†์ด ๋Œ“๊ธ€ ์‹œ์Šคํ…œ์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ , GitHub ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ด์ฃ .

 

๋ธ”๋กœ๊ทธ, ๋ฌธ์„œ ์‚ฌ์ดํŠธ, ์ปค๋ฎค๋‹ˆํ‹ฐ ํฌ๋Ÿผ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณณ์— ํ™œ์šฉํ•ด๋ณด์„ธ์š”.

๐ŸŒท์ „์„ค์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด๋ด…์‹œ๋‹น!๐ŸŒท

728x90
๋ฐ˜์‘ํ˜•