현업 SW 개발자의 연구 노트
Hits

Github Pages에 giscus 연동하는 방법

Hits
How to embed discussion on the GitHub pages.

네이버 블로그, 티스토리 블로그, 워드프레스 블로그 등은 기본적으로 댓글 기능을 제공한다. 하지만 GitHub Pages는 대표적인 정적 웹서버이기 때문에 동적 서비스인 댓글 기능이 불가능하다.

disqus나 giscus 같은 서비스를 연동하면 Github Pages에서도 방문자의 의견이나 질문을 확인할 수 있다. giscus를 이용해서 댓글 기능을 연동하는 방법을 설명한다.

GitHub Pages에서 기본적으로 불가능한 기능

앞서 언급했듯이, GitHub Pages는 정적 웹호스팅 서비스이기 때문에 기본적으로 아래 기능들이 불가능하다.

  1. 댓글 기능
  2. 방문자수 카운트 기능
  3. 검색 기능

GitHub Pages 자체적으로 위의 기능들을 제공하지는 않지만 대안은 있다. 댓글 기능은 disqus나 giscus 서비스를 이용하면 되고, 방문자수 확인 기능은 hit.sh 서비스를 이용하면 된다. 검색 기능은 어떻게 해야 할지 고민중이다.

giscus 연동 방법

Github pages에 댓글 기능을 사용하기 위해서는 giscus라는 서비스를 이용하면 된다. 아래와 같은 장점이 있다.

giscus 댓글 설정 방법 #1

giscus 댓글 설정 방법 #2

giscus 댓글 설정 방법 #2 댓글을 표시할 페이지에 아래와 같은 형식의 스크립트를 추가하면 된다. giscus 홈페이지에 자동 생성되는 스크립트를 그대로 사용하면 된다.

아래 스크립트는 예시이므로 반드신 giscus 홈페이지에서 생성되는 스크립트를 사용해야 한다. (아래 예시 스크립트 복붙 금지!)

<script src="https://giscus.app/client.js"
        data-repo="boyinblue/boyinblue.github.io"
        data-repo-id="R_kgDOG9CT0w"
        data-category="General"
        data-category-id="DIC_kwDOG9CT084CSLjU"
        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>

위의 스크립트를 body-giscus.html 파일로 생선한 후, layout에서 include 해서 사용하도록 하였다. 이렇게 하면 다양한 레이아웃에서 원하는 위치에 giscus를 삽입할 수 있다.

body-giscus.html 파일 작성

<!-- start of body header (_includes/body-discus.html) -->

    <aside id="disqus_window" class="aside_inner" style="display:none;">
    <small style="background-color: #f4d03f; color: #000000; border-radius: 3px; padding: 3px 5px; font-size: 16px; font-weight: bold; text-decoration: none;">댓글 및 토론</small><br />
    <script src="https://giscus.app/client.js"
    data-repo="boyinblue/boyinblue.github.io"
    data-repo-id="R_kgDOG9CT0w"
    data-category="General"
    data-category-id="DIC_kwDOG9CT084CSLjU"
    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>
    </aside>

<!-- end of body header (_includes/body-giscus.html) -->

layout에서 body-giscus.html 파일을 재사용

      <!-- giscus -->
      
      {% include body-giscus.html %}
      

giscus 홈페이지

아래의 gitcus 홈페이지에 접속하면 누구나 큰 어려움 없이 giscus를 연동할 수 있다.

giscus

A comments widget built on GitHub Discussions.

도움이 될만한 글

Github Pages에 방문자수 표시하는 방법

GitHub Pages에 방문자수 카운터 표시하는 방법 (feat. hits.sh)

깃허브 페이지스 블로그에 방문자수 카운터 표시하는 방법

검색 기능 활성화 방법

[Jekyll] 검색(Search) 기능 만들기/ Github 블로그 검색(Search) 기능

검색(Search) 기능 만들기 [ 본 포스팅은 기본적인 블로그가 만들어져 있다고 가정하고 진행합니다. ] 블로그에 글이 점점 많아지면서 내 자신도 내 글을 찾기가 점점 힘들어지고 있다는걸 깨달았습니다. 페이징을 하나하나 넘겨가면서 내 글을 찾아서 보는것이 상당히 비효율적입니다. 제 블로그에서 정보를 찾으시는 분들도 관련 글을 찾고 싶을 수도 있다는 생각에 검색 기능을 추가 하게 되었습니다. 참고 사이트 Simple-Jekyll-Search 한량넷 Hyeyeon yakuza 소스파일 보기 search.json 만들기 root 경로(최상위 경로)에 search.json 를 만들고 소스 입력. root 경로는 github.io로 끝나는 디렉토리를 말합니다. jekyll 블로그게 만들어져 있다면 _config..