Gatsby에 TableOfContents(목차)를 추가
소개
이 기사는 htps : // / ch-b ぉg. 요시키 오시시. v / pots / s rt가 tsby-b-g-b-o-f의 교차 게시물 기사입니다.
이 기사는 Gatsby이라는 헤드리스 CMS 기술로 구성되어 있습니다. 이번에는 「엔지니어 초보자라도 할 수 있다」를 전제로 이하의 구성으로 기사를 작성해 나가려고 합니다.
내용
전회는 태그 일람과 기사 일람의 컴퍼넌트를 동시에 내는 GrapuQL 쿼리의 응용까지 실시했습니다.
이번은 블로그에서 빠뜨릴 수 없는 TableOfContents(목차)의 구현 방법의 소개입니다. 전혀 어렵지 않으므로 갑자기 가자!
  쿼리
매우 간단합니다. 기사를 검색하는 쿼리에 tableOfContents를 추가하면 됩니다. 편집기에서 결과를 확인해 봅시다.
   query PostBySlug($slug: String!) {
    markdownRemark(fields: { slug: { eq: $slug } }) {
      id
      html
      fields {
        slug
        tagSlugs
      }
      frontmatter {
        date
        description
        태그
        title
        socialImage
      }
      tableOfContents
    }
  }   이런 식으로 HTML 형식의 데이터를 얻을 수있었습니다. 나머지는 표시하기만 하면 됩니다.
컴포넌트 생성
TOC를 표시하는 컴포넌트 만들기입니다.
그건 그렇고, 왜 구성 요소로 만드는가? 이유는 간단하고
사용하기 쉽습니다.
CSS 설정을 제한적으로 할 수 있습니다.
부품을 원하는 곳에 배치하기 쉬워진다.
부터입니다. 파트 하나 하나의 의존도를 낮추어 갑시다.
아래와 같이 dangerouslySetInnerHTML={{ __html: tableOfContents }}에 앞서 얻은 HTML 데이터를 흘려 봅시다. (CSS 설정은 원하는대로 설정하십시오)
 const Toc = ({ tableOfContents, gridArea }: Props) => (
  <div className={styles.toc} dangerouslySetInnerHTML={{ __html: tableOfContents }} />
);
export default Toc;
 
요약
어땠습니까? 그 밖에도 gatsby-remark-toc 등의 라이브러리가 있는 것 같습니다만, 개인으로서는 이쪽이 심플하고 간결하다고 생각하고 있습니다 그럼 다음 기사에서.
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(Gatsby에 TableOfContents(목차)를 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/yoshiki-0428/items/303db292e65aa8540415
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
Reference
이 문제에 관하여(Gatsby에 TableOfContents(목차)를 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoshiki-0428/items/303db292e65aa8540415텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)