2 minute read

카테고리와 태그 개요

: 적용하면 다음과 같이 게시물 내용 하단에 출력된다.

사진1

카테고리

  • 카테고리는 게시물을 제목이나 유형으로 분류할 때 사용되며, 블로그에 대한 일반적인 주제를 글 묶음을 위해 사용된다.
  • 전문가들이 초보 블로거들에게 하는 충고 중의 하나가 블로그에서 다룰 주제를 몇가지로 한정해서 주제를 가진 블로그를 구성하라는 것이다.
  • 이 때, 카테고리는 블로그가 다룰 주제들이 될 수 있다.
  • 카테고리도 태그와 같이 여러개의 카테고리를 입력할 수도 있다. 이런 경우는 방문자들이 혼동을 느낄 수 있으니 카테고리 구성을 잘 해야 할 것이다.

태그

  • 해당 게시물의 세부 정보를 키워드로 설명하는 것이며, 해시태그와 유사한 것으로 볼 수 있다.
  • 블로그 게시물에 여러 태그를 추가할 수 있다.
  • 보통 블로그 게시물에 1개의 카테고리를 추천하지만 태그에는 이 보다는 더 많게 설정함을 추천한다

카테고리스 페이지 구현하기

: 각각의 모든 카테고리를 모은 카테고리스 페이지를 구현한다.

과정

  1. 카테고리스 태그스 페이지 주소 설정
  2. 카테고리,태그 적용한 포스트(post) 생성
  3. 카테고리스 페이지(page) 생성
  4. 완료

구현

: 카테고리를 모은 카테고리스 페이지를 구현한다

  1. 카테고리스 태그스 페이지 주소 설정

    /_config.yml

     category_archive:
       type: liquid
       path: /categories/
     tag_archive:
       type: liquid
       path: /tags/
    
    

    category_archive, tag_archive 설정 부분을 주석 처리하면 블로그에서 더 이상 카테고리와 태그 목록을 표시하지 않는다.

  2. 카테고리,태그 적용한 포스트(post) 생성

    /_posts/2022-11-01-테스트태그카테고리포스트1.md

     ---
     title: "테스트태그카테고리포스트1"
     excerpt: "테스트태그카테고리포스트1 입니다."
    
     categories: 
       - 동물
     tags:
       - 강아지
       - 호랑이
       - 토끼
     ---
    
     # 동물 개요
     : 동물에 대한 내용은 생략합니다.
          
    

    /_posts/2022-11-01-테스트태그카테고리포스트2.md

     ---
     title: "테스트태그카테고리포스트2"
     excerpt: "테스트태그카테고리포스트2 입니다."
    
     categories: 
       - 동물
     tags:
       - 오리
       - 돼지
       - 너구리
     ---
    
    

    2개의 포스트(게시글)를 생성했다.

  3. 카테고리스 페이지(page) 생성

    /_pages/blg-category-archive.md

     --- 
     title: "Posts by Category" 
     layout: categories 
     permalink: /categories/ 
     author_profile: true 
     ---
     
    
    • layout
      categories 를 지정했다. categories는 모든 카테고리 별로 글을 보여주는 레이아웃 설정이다.
    • permalink
      /categories/ 을 지정했다 _config.yml 파일에서 category_archive path 설정과 같게 설정해야한다. permalink는 /categories/인데 _config.yml파일에서 category_archive path 설정과 같게 설정해야한다. (_config.yml 카테고리스 페이지를 지정했던 category_archive 항목의 path도 이 경로였다. 즉 카테고리스 페이지는 _config.yml 파일에서 category_archive 옵션에 명시해놓은 설정이 permalink 옵션값과 동일하게 작성해주어야 진정한 카테고리스의 기능일가진 페이지가 되는것이다.)

    주의)카테고리가 아닌 카테고리스 이다.
    내용에서 permalink 를 보면 categories 를 참조한다. 복수가 붙고 안붙고의 실수를 조심하자.

    참고로 이 파일을 나는 별도로 직접 생성했다.
    기본적으로 구성에 category-archive.md 이라는 파일이 어딘가에 있을텐데 blg 를 붙여서 직접 카테고리스 페이지를 생성했다. 다시한번 강조하지만 파일명은 아무거나 해도 상관없으며 _config.yml 에 정의한 category_archive 옵션의 permalink 경로가 이 페이지의 permalink 랑 동일하면된다.

  4. 완료

    사진2

    카테고리스 페이지 설정이 완료되었으면 지정된 permalink 주소에 해당하는 https://git.blang.co.kr/categories 페이지에 접속해보자. 모든 블로그 글이 카테고리 별로 보여지는 카테고리스페이지가 잘나온다.

카테고리 페이지 구현하기

: 카테고리스가 모든 카테고리를 보여주는 페이지라면 카테고리 페이지는 특정 1개의 카테고리에 대한 포스트만 보여주는 페이지이다.

과정

  1. 카테고리스 태그스 표현여부 설정
  2. 카테고리,태그 적용한 포스트(post) 생성
  3. 카테고리스 페이지(page) 생성
  4. 완료

구현

: 특정 1개의 카테고리의 포스트를 모은 페이지를 구현한다 (헷갈릴 수 있다… 포스트가 아니라 페이지다!.. 즉, 특정 카테고리의 포스트들을 모은 페이지다.)

  1. 위와 동일(생략)

  2. 위와 동일(생략)

  3. 카테고리 페이지(page) 생성

    /_pages/blg-category-animal.md

     ---
     title: "동물 카테고리만 모은 PAGE"
     permalink: /categories/동물/
     layout: category
     author_profile: true
     taxonomy: 동물
     ---
     
    
    • permalink
      categories 하위에 특정 카테고리 이름이다. 내가 작성한 포스트들에서 특정 카테고리 이름이 ‘동물’ 인 것으로 설정 했다.
    • layout
      category 를 지정했다. (categories가 아니다!!) layout category는 1개 카테고리 글들을 모두 보여주는 레이아웃이다.
    • taxonomy
      동물 을 지정했다. 다른 post파일의 categories가 동물인 post만 모아서 보여준다.
  4. 완료

    사진3

    카테고리 페이지 설정이 완료되었으면 지정된 taxonomy 주소에 해당하는 https://git.blang.co.kr/categories/동물 페이지에 접속해보자. 모든 포스트 중에서 오직 특정 카테고리 1개만 나오는 카테고리페이지가 잘나온다.

추가 내용

카테고리 페이지 목록 UI 변경

: 카테고리 페이지에서 하위에 포스트들이 출력될때 UI를 변경한다.

게시글 목록 줄간격

: 게시글의 줄간격을 수정한다.

/_sass/minimal-mistakes/_base.scss

body {
  margin: 0;
  padding: 0;
  color: $text-color;
  font-family: $global-font-family;
  line-height: 1.5;  <!-- 이 부분을 수정하면 된다. -->

  &.overflow--hidden {
    /* when primary navigation is visible, the content in the background won't scroll */
    overflow: hidden;
  }
}	  

그래서 응용은 어떻게?

: 특정 카테고리를 모은 카테고리페이지를 각각의 카테고리마다 만들어두고..! 다음과 같이 홈페이지 메뉴영역에 달아놓으면 그 메뉴(카테고리)의 게시글(포스트)만 출력될것이다!

사진4

Leave a comment