Today
-
Yesterday
-
Total
-
  • GitHub Pages 만들기 일대기 번외 - 여러가지 문제들
    Soliloquy 2020. 2. 9. 12:51

    Web Page!

     

    깃허브 페이지스로 웹페이지를 만들던 도중 몇 가지 문제점들을 겪었다. 주로 테마에 사용된 플러그인 사용으로 인한 문제점과 깃허브 페이지스를 만드는데 필요한 설정 파일 수정을 안 해서 발생한 문제점이었다.

     

    1. 웹페이지가 만들어지지 않는 현상 (메세지가 없는 경우)

     

    404

    There isn't a GitHub Pages site here.

     

    404 오류가 나오면서 페이지가 만들어지지 않았다.

     

    테마파일을 업로드 하였음에도, 이상하게 페이지를 찾을 수 없다는 메세지가 출력이 되었다. 사이트 생성 중에 어느 파일이 문제인지 메일을 통해서 확인할 수 있지만, 간혹 아무런 메세지를 나타내지 보내주지 않고 페이지가 만들어지지 않는 경우가 있었다.

     

    내가 겪었던 문제의 원인은 다음과 같았다.

     

    • 사용자명.github.io 사이트의 경우 master 브랜치에 테마파일이 업로드 되어야 하는데, master 브랜치에 업로드 되지 않은 경우
    • jekyll serve로 만들어진 파일 중 _sites 폴더를 같이 푸시(업로드) 한 경우
    • jekyll new . 으로 만든 경우 Gemfile을 github pages 구문을 주석처리 해주지 않은 경우 (주석 처리 해야 하는 부분은 Gemfile에 설명이 되어 있다.)

     

    위 문제를 해결하고 나니 다행히 5분 안에 깃허브 페이지가 만들어졌다.

     

    2. 웹사이트가 만들어지지 않는 현상 (플러그인 오류)

     

    [/] Page build failure 

    The page build failed for the `master` branch with the following error:

    The tag `bibliography` on line 3 in `_pages/publications.md` is not a recognized Liquid tag. For more information, see https://help.github.com/en/github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites#unknown-tag-error.

    이메일로 받은 에러 메세지

     

    간혹 플러그인을 사용 중인 테마들은 Jekyll 페이지를 만들 때 에러를 내뿜는 경우가 있다. jekyll serve 에서는 잘 표시되었던 페이지가 이러한 오류를 내뿜는 이유는 깃허브 페이지스의 Jekyll은 페이지를 만들 때, --safe 옵션으로 페이지를 만들기 때문이라고 한다.[각주:1] 내가 사용하려던 jekyll-scholar 플러그인도 허용되어 있지 않아서 위와 같은 해당 오류가 나온 것이다.

     

    플러그인을 사용하고 싶으면 깃허브에서 페이지를 생성하는 방식이 아닌, 컴퓨터에서 Jekyll을 이용해 만들어진 웹파일을(_sites 폴더의 파일) 업로드 하여 사용해야했다. 즉, 글 작성 환경으로 jekyll이 설치되어있어야 한다는 문제점이 보여서 그냥 플러그인을 최대한 사용하지 않는 쪽으로 생각했다.

     

    3. jekyll serve로 만들어진 글이 잘 표시되지 않을 때

     

    post가 작성되어 있는데도, 표시가 되지 않는다.

    분명 글을 작성하였음에도 jekyll serve로 만든 페이지에서는 내가 작성한 글이 보이지 않는 문제가 있는 테마가 있었다.

     

    특이하게도, 깃허브 페이지스에 업로드하면은 잘 보인다. 이 원인은 pagination 플러그인 때문으로, 깃허브 페이지스에는 기본적으로 pagination 플러그인을 활성화 한 상태로 페이지를 생성하는데 반해, jekyll serve로 만들시에는 기본적으로 pagination 플러그인을 활성화 시키지 않은 상태에서 생성하여 나타난 문제점으로 보인다.

     

    해결 방법은 테마 폴더의 _config.yml 파일에 아래와 같이 페이지 구분 플러그인 구문을 추가해주면 된다.

     

    plugins:
                      - jekyll-paginate

     

    문제가 해결된 사진

     

    4. 기타 오류

     

    jekyll serve시 Invalid Markdown processor given 오류

    Markdown processor: "redcarpet" is not a valid Markdown processor.
                        Available processors are: kramdown

      Conversion error: Jekyll::Converters::Markdown encountered an error while converting '_posts/2013-12-31-whats-jekyll.md':
                        Invalid Markdown processor given: redcarpet
                 ERROR: YOUR SITE COULD NOT BE BUILT:
                        ------------------------------------
                        Invalid Markdown processor given: redcarpet
                        ------------------------------------------------

    내가 겪은 오류 창 일부

     

    위 오류의 원인은 Jekyll 3.0 미만의 테마들은 마크다운 프로세서라는 부분이 redcarpet이라는 부분으로 만들어 졌는데, Jekyll 3.0이상에서는 kramdown이라는 마크다운 프로세서를 사용하기 때문이다. [각주:2]

     

    해결 방법은 간단하게 테마 폴더의 _config.yml 파일의 markdown: 항목 값을 redcarpet 대신 kramdown으로 바꾸어주면 된다.

     

    여담

     

    수많은 우여곡절 끝에 깃허브 페이지스로 페이지를 완성하였지만, 안타깝게도 깃허브 페이지스를 사용하지 않는 쪽으로 결론을 내렸다. 그 이유는 유지보수를 생각해서 나온 결론으로 나 말고 다른 사람들이 깃허브 페이지스를 사용하면 Jekyll에 대해서도 다시 알아야하는 일이 생기는데, 조그마한 사이트에 굳이 그러한 공부가 필요한가... 라는 생각이 들었기 때문이다.

     

    깃허브 페이지스를 개인적인 용도로 어떻게 사용할 수 있을지 한 번 생각해봐야겠다.

     

     

    [대표이미지]

     

    작성한 글이 보이지 않는 문제

     

    1. --safe 옵션은 깃허브에서 승인한 플러그인을 제외하고 테마에 적용된 나머지 모든 플러그인을 모두 제외한 채로 웹사이트를 만드는 옵션이다. 출처: https://jekyllrb.com/docs/github-pages/ [본문으로]
    2. 출처: https://github.blog/2016-02-01-github-pages-now-faster-and-simpler-with-jekyll-3-0/ [본문으로]

    댓글

어제는 이곳에 명이 다녀갔습니다.

Powered & Designed by Tistory