gem ‘wdm’ 워닝

문제 내용 분석 (2020-03-28 눈에 띔)

  • jekyll 로컬 서버를 실행하기 위해 bundle exec jekyll serve를 실행하면..
    • 실행이 잘 되긴 하지만 … 아래와 같이 워닝 비슷한 것이 나옴 get_wdm_워닝
    • 이게 뭔 지 알고 싶다.
  • 구글링 결과

해결책

  • 워닝에 대한 설명:
    • jekyll은 source 문서가 변경될 경우 자동으로 html 문서를 생성(Auto Regeneration)하는 기능을 지원
    • jekyll build --watch로 수동 설정할수도 있고 Jekyll v2.4.0 부터는 jekyll serve 명령시에 기본으로 지원
    • jekyll은 file의 변경여부를 알기 위해 listen 이라는 gem을 사용
    • 변경파일 탐지할 때 리눅스는 빌트인 기능이 있는데 윈도우는 그런거 없으니 wdm 이라는 별도 gem을 설치하라는 워닝
    • 윈도우 사용할 때 wdm을 설치하지 않으면 polling 이라는 다소 무식한 방법..을 사용하니까 설치하는게 좋을꺼라는 워닝
      • polling 이란? : listen gem 의 README.md 에서 polling으로 검색해보면.. 일정 latency 이후에 주기적으로 source 파일 전체의 변경 여부를 체크하는 방식
      • 일반적으로 다른 방식보다는 느림, Network filesystem이나 VM 공유 폴더 같이 변경 파일 탐지를 사용할수 없는곳에 사용.
  • 근데 Gemfile이 뭐고 어디에 있는거지?
    • Gemfile이 뭔지 참조할 링크
    • 일반적으로 프로젝트 루트 디렉토리에 있음 (username.github.io/Gemfile)
    • 요기에 경고문구에서 나온 아래 라인 추가하고..
      1
      
      gem 'wdm', '>= 0.1.0' if Gem.win_platform?
      
    • command line에서 bundle install 수행해 주면 wdm 설치됨

curly braces 에러

문제 내용 분석 (2020-03-16 발생)

  • vim-folding.md 포스트 작성 하면서 내용상에 triple curly braces( {{{ )를 적었는데 jekyll build 에러가 발생했다.
    • 이 페이지에서 맨 아랫쪽 Tag not properly terminated 에러 임. 이미지
    • 문제점 문구
      1
      2
      3
      
      Your site is having problems building: The variable {{ on line 50 in _wiki/vim-folding.md 
      was not properly closed with }}. For more information, see 
      https://help.github.com/en/github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites#tag-not-properly-terminated.
      
  • jekyll에서 채용한 liquid 템플릿 언어와 충돌이 난것이다.

해결책

  • 해결책은 liquid raw 태그를 사용하면된다.
    • 단점은.. jekyll로 markdown을 보여줄땐 raw 태그가 안보이지만 일반 markdown 편집기에서는 raw 태그가 보임. (raw 파일 지저분..)
  • 재발 방지 대책
    • 로컬에서 테스트 해보지 않고 github에 올려서 push 이후 문제를 발견.
    • 로컬에 jekyll 환경이 필요하다 생각함.
    • 이 사이트에서 jekyll 환경 설정 참조 해서 로컬에 jekyll 설치.