본문 바로가기
소프트웨어 & 클라우드

[Docusaurus] 각 문서마다 hits 조회수 표시하기

by TaeGyeong Lee 2024. 9. 27.

개요 

스크린샷과 같이 문서 별 조회수를 표시하는 hits 를 추가합니다.

 

적용 

* DocItem Swizzling

안내 
DocItem Swizzling이 이미 완료된 경우, 다음 단계로 넘어가세요.

Docusaurus에서 제공하는 기능들을 직접 수정하기 위해서는 Swizzle이라는 작업이 필요합니다. DocItem을 직접 수정할 수 있도록 아래 명령을 수행해 주세요. 

yarn run swizzle @docusaurus/theme-classic DocItem

 

* 컴포넌트 생성 

src → theme → DocItem → Content → index.js 파일을 열어 아래 코드를 추가합니다.

blog_link 변수를 본인의 블로그 주소로 바꾸어 주세요. 

function Hits() {
  const { metadata } = useDoc();

  const blog_link = "https://hanrotg.github.io"; // <---- 여기를 본인의 블로그 링크로 교체하세요.
  const hits_url = "https://hits.seeyoufarm.com/api/count/incr/badge.svg";

  if (metadata?.permalink) {
    var content_link = metadata.permalink;
    var hits = `${hits_url}?url=${blog_link}%2F${content_link}%2Fhit-counter`;

    return (
      <a href="https://hits.seeyoufarm.com">
        <img src={hits} />
      </a>
    );
  }
}

 

* 컴포넌트 추가 

아래와 같이 DocItemContent 반환문에 생성한 컴포넌트를 추가하세요. 

export default function DocItemContent({ children }) {
  const syntheticTitle = useSyntheticTitle();

  return (
    <>
      <Hits />
      <div className={clsx(ThemeClassNames.docs.docMarkdown, "markdown")}>
        {syntheticTitle && (
          <header>
            <Heading as="h1">{syntheticTitle}</Heading>
          </header>
        )}
        <MDXContent>{children}</MDXContent>
      </div>
    </>
  );
}

 

참고 자료 

 

HITS

Easy way to know how many visitors are viewing your Github, Website, Notion.

hits.seeyoufarm.com

 

[Docusaurus doc/blog] Swizzling(스위즐링)으로 원하는 대로 도큐사우르스 커스터마이징하기(꾸미기) - Ea

1. 도큐사우르스의 스위즐링(Swizzling)이란? 도큐사우르스에서 제공해주는 기본적인 컴포넌트나 테마 이외에, 사용자가 원하는 컴포넌트에 값을 추가로 넣거나 컴포넌트를 수정하고 싶은 경우가

melonicedlatte.com

 

Docusaurus로 문서 관리하기 - 2

이전 글에서는 Docusaurus를 간단히 알아보고, 설치 방법, 문서 설정 및 배포 방법을 알아봤다. 이번 글에서는 간단한 테마 커스터마이징 방법, Utterance 를 이용한 소셜 댓글 추가 방법, Algolia 문서

younho9.dev