โœ‹
giscus ์‹œ์ž‘ํ•˜๊ธฐ

ยท March 13, 2025 ยท 3 min read

๐Ÿงช ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด gatsby-starter-rundevelrun ํ…œํ”Œ๋ฆฟ์„ ์ด์šฉํ•˜๋Š” ์‚ฌ๋žŒ์˜ ๊ฒฝ์šฐ๊ฑฐ๋‚˜ ๋ธ”๋กœ๊ทธ์— ๋Œ“๊ธ€์„ github๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์ฐธ๊ณ ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.

gatsby new your-blog-name https://github.com/rundevelrun/gatsby-starter-rundevelrun.git

๐Ÿณ giscus๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€?

giscus๋Š” github repository์˜ Discussion์„ ํ†ตํ•ด ๋Œ“๊ธ€ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํŽธ๋ฆฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž๋Š” github repository์—์„œ Discussion ๊ธฐ๋Šฅ์„ ์—ด์–ด๋‘๊ณ , giscus ํ™ˆํŽ˜์ด์ง€์—์„œ github repository ์ฃผ์†Œ์™€ ์—ฌ๋Ÿฌ ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜๋ฉด giscus ์ •๋ณด๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ˜ giscus ์„ค์ • ๋ฐฉ๋ฒ•

  1. ๋Œ“๊ธ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„๋‘˜ repository์— ์ ‘์†ํ•œ๋‹ค.
    • public repository์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
    • giscus ์„ค์น˜ ํŽ˜์ด์ง€ ์ ‘์†ํ•˜์—ฌ giscus๋ฅผ ์„ค์น˜ํ•œ๋‹ค.
    • repository settings๋กœ ๋“ค์–ด๊ฐ€์„œ Features์— ์žˆ๋Š” Discussions ์ฒดํฌ๋ฐ•์Šค์— ์ฒดํฌํ•œ๋‹ค.
  2. giscus ํ™ˆํŽ˜์ด์ง€ ์ ‘์†ํ•˜์—ฌ ์„ค์ •ํ•œ๋‹ค.
    • ์ €์žฅ์†Œ ๋ช…์„ ์ž…๋ ฅํ•œ๋‹ค.
    • Discussions ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•œ๋‹ค.
    • Discuussion ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์„ ํƒํ•œ๋‹ค. (Announcements๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.)
    • ์›ํ•˜๋Š” ํ…Œ๋งˆ์™€ ๊ธฐ๋Šฅ์„ ์„ค์ •ํ•˜๊ณ , giscus script๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค.
    //์˜ˆ์‹œ
    <script
      src="https://giscus.app/client.js"
      data-repo="[ENTER REPO HERE]"
      data-repo-id="[ENTER REPO ID HERE]"
      data-category="[ENTER CATEGORY NAME HERE]"
      data-category-id="[ENTER CATEGORY ID HERE]"
      data-mapping="pathname"
      data-strict="0"
      data-reactions-enabled="1"
      data-emit-metadata="0"
      data-input-position="bottom"
      data-theme="preferred_color_scheme"
      data-lang="ko"
      crossorigin="anonymous"
      async
    ></script>

โœŒ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ์—์„œ giscus ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ

  1. giscus ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

    npm i giscus
  2. ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ

    giscus script์—์„œ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ปดํฌ๋„ŒํŠธ์— ๋„ฃ์–ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ์™„์„ฑ!

    import Giscus from '@giscus/react';
    
    export default function MyApp() {
      return (
        <Giscus
          id="comments"
          repo="[ENTER REPO HERE]"
          repoId="[ENTER REPO ID HERE]"
          category="[ENTER CATEGORY NAME HERE]"
          categoryId="[ENTER CATEGORY ID HERE]"
          mapping="pathname"
          term="Welcome to @giscus/react component!"
          reactionsEnabled="1"
          emitMetadata="0"
          inputPosition="bottom"
          theme="light"
          lang="ko"
          loading="lazy"
        />
      );
    }

    giscus Github ์ฃผ์†Œ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

โœŒ rundevelrun/gatsby-starter-rundevelrun ํ…œํ”Œ๋ฆฟ ์ „์šฉ ์„ค์ •

blog-config.js์˜ ๋‚ด์šฉ ์ˆ˜์ •

module.exports = {
   ...
   links: {
      ...
   },
   giscus: {
      repo="[ENTER REPO HERE]"
      repoId="[ENTER REPO ID HERE]"
      category="[ENTER CATEGORY NAME HERE]"
      categoryId="[ENTER CATEGORY ID HERE]"
      mapping="pathname"
      strict="0"
      reactionsEnabled: '1',
      inputPosition="bottom"
      lang: 'ko',
   },
   adsense: {
      ...
   }
}

๐Ÿ‘ ๋Œ“๊ธ€ ์ฐฝ ํ™•์ธ

giscus ๋Œ“๊ธ€ ์Šคํฌ๋ฆฐ์ƒท
giscus ๋Œ“๊ธ€ ์Šคํฌ๋ฆฐ์ƒท

@Pang
์•ˆ๋…•ํ•˜์„ธ์š”! ์™œ ์ด๋ ‡๊ฒŒ ๊นŒ์ง€ ํ•˜์ง€๋ฅผ ๋‹ด๋‹นํ•˜๋Š” 3๋…„์ฐจ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค!