본문 바로가기

Github

Github io 블로그 _ 카테고리 생성하기

 

 

<오늘의 과제>

그림의 왼쪽 란을 보면 categories아래에 글 분류 섹션이 생겼다.

이를 생성하고자 한다.

 

<이전 진행과정>

  • Jekyll 세팅 완료
    • Jekyll을 설치하고 로컬 서버를 실행해 빠르게 수정사항을 확인할 수 있게 함.
    • 테마가 제대로 적용되며 코드 스니펫 부분도 예쁘게 렌더링되기 시작함.
    • 실행 명령어:실행 후 프롬프트에 뜨는 로컬 주소로 접속하면 확인 가능.
       
       
bundle exec jekyll serve
  • 테마 설정
    • 기본 테마가 충돌되거나 미지원되는 경우가 있었지만, remote_theme 설정으로 해결.

    • 코드 복사
      # theme: minima remote_theme: thelehhman/plainwhite-jekyll
    • yaml
    • _config.yml 파일에서 위처럼 설정하여 문제 없이 적용 완료.

 

🛠 Jekyll 블로그 - 카테고리 기능 구현 및 GitHub Pages 배포 이슈 정리

✅ 1. 카테고리 기능 설정 과정

  • 포스트 작성 시 Front Matter에 category 설정
    예시:
  • yaml
    코드 복사
    --- layout: post title: "포스트 제목" category: 코딩 ---
  • _layouts/sidebar.html 파일에 카테고리 출력 추가
    사이드바가 기본 제공 UI보다 못생겨 보여서 추가적인 CSS 스타일링 파일을 넣어 커스터마이징함.

✅ 2. 플러그인 추가 (jekyll-archives)

  • 카테고리별 아카이브 페이지 자동 생성이 필요해, jekyll-archives 플러그인 사용.
  • _config.yml 및 Gemfile에 다음과 같이 설정:
  • ruby
    코드 복사
    group :jekyll_plugins do gem "jekyll-feed", "~> 0.15.1" gem "jekyll-seo-tag", "~> 2.7.1" gem "jekyll-sitemap" gem "jekyll-archives" end
  • 로컬에서 bundle exec jekyll serve로 테스트했을 땐 카테고리별 페이지도 잘 작동함.

⚠️ 문제 발생: GitHub Pages에선 작동 안 함

🧩 원인

  • GitHub Pages는 보안 및 호환성 문제로 지원하지 않는 Jekyll 플러그인이 있음.
  • jekyll-archives도 GitHub Pages에서 지원하지 않는 플러그인 중 하나.

💡 해결 시도

  • GitHub Pages는 .md나 .html 소스 파일을 직접 렌더링하는 게 아니라,
    **로컬이나 다른 서버에서 빌드된 결과물(HTML 정적파일)**만 인식함.
  • 따라서 다음 방식으로 해결 가능:

🧪 해결 방법 요약

GitHub Pages 호환되지 않는 Jekyll 플러그인을 사용하고 싶다면?

👉 방법 1: GitHub Actions나 로컬에서 빌드 후 정적 결과물을 따로 푸시

  • GitHub에서 사용하는 브랜치(main or gh-pages)에 _site 폴더 내 빌드된 HTML 결과물만 푸시
  • 즉, .md 소스가 아니라 .html 파일 완성본만 올리는 방식

👉 방법 2: GitHub Pages 호환 가능한 플러그인만 사용

  • jekyll-archives처럼 미지원 플러그인은 사용하지 않고,
    수동으로 아카이브 페이지를 만들거나 지원되는 다른 방식 사용

✍️ 결론

  • 로컬에선 잘 작동하지만, GitHub Pages는 제한된 플러그인만 지원하기 때문에
    빌드 결과물을 직접 업로드하는 방식으로 해결하거나
    GitHub Actions로 자동 빌드 후 업로드하는 설정을 구성해야 함.