Jekyll Blogging 5
LeeMir, 23 February 2021
Category를 완전히 분리해보자
기존에 내가 Category를 분리한 모습은 다음과 같았다.
오른쪽 글 목록은 제대로 카테고리별로 나왔으나, 왼쪽에 있는 nav 즉, navigator는 여전히 모든 글 목록을 불러와서 상당히 불-편했다.
nav도 완전히 고치고 싶었다.
찬찬히 뜯어보니 이 Jekyll 테마의 구조는 nav를 한 번에 부르지 않고 header라는 다른 컴포넌트를 거쳐서 부른다.
그리고 nav에 글 목록을 넘기면 사진처럼 표시가 되는 형태였다.
Jekyll에서는 _posts폴더에 있는 글을 site.posts로 접근한다.
기존에 내가 글 목록을 카테고리로 거른 방법부터 말해보자면, 원래 글 목록을 표시할 때 for문을 통해서 site.posts에서 하나씩 불러서 표시하길래, 그것을 site.categories[category]로 바꾸고, category라는 변수는 page.title 즉, 현재 페이지의 title과 같게 해 구현했다. (내가 선택한 카테고리 페이지의 title을 카테고리 이름과 같게 미리 설정놓았다.)
그렇다면 nav로 넘기는 글 목록도 바꿀 수 있지 않을까?
{%- assign _posts = site.categories[category] | sort: 'date' | reverse -%}
{%- include header.html scrolly_nav=_posts -%}
_posts를 정의한 후, header로 넘길 때 글 목록을 넘겨보았다.
{%- for _post in site.categories[category] -%}
그리고 이 부분은 이제 _posts와 같아졌으니
{%- for _post in _posts -%}
로 바꿔주었다.
그리고 커밋한 결과!
멋지게 nav도 필터링이 잘 되었다! 오예!