[Blog] Github page 오류 해결
문제
어제 Django 스터디 블로그에 올릴 마크다운 문서 작성하고 업로드하려는데 계속 build에 실패했다.
github에서 알려준 오류 내용을 보니 97라인 근처의 tag가 잘못되었다는 것.
The tag
tag
on line 97 in_posts/2021-06-08-Django_Template_Language.md
is not a recognized Liquid tag.
2시간동안 **Ctrl+F **로 tag만 찾아다니며 대괄호 앞뒤에 escape 문자로 backtick(`)을 써보고 대소문자 변경해봤지만 github는 꿈쩍도 않고 2시간 동안 삽질하다가 잠들었다.
해결
아침이 되서 다시 보니 오류 메시지 중에서 liquid tag라는 말이 보였다.
그 근처 코드를 찾아보니 {% tag %} 리퀴드 태그가 있다.
Liquid Tag 라는게 뭔가?
jykell은 Ruby 언어 기반으로 만들어졌는데, 여기에서 템플릿을 표현하기위한 언어로 사용하는 것이 Liquid Tag 라고 한다. Liquid Tag는 {%
와 %}
로이루어진 태그로 그 안에 프로그래밍 언어로 템플릿을 생성 할 수 있다.
공교롭게도, 이전 포스트의 git log의 템플릿을 지정하는 부분에 {%
와 %}
가 포함되어 있어서 발생한 오류였다.
소스코드 템플릿으로 감싸여진 곳이라도, 화면에 렌더링 되기 전에 템플릿 엔진이 먼저 파싱을 하면서, 해당 부분이 샘플코드에 해당하는 텍스트로 처리해야될 부분임을 인지하지 못한 것이다.
해결 방법은?
해당 부분은 Liquid Tag가 아닌 일반 텍스트 라고 지정해 주면 된다.
즉 코드가 있는 부분 아래/위로 raw 와 endraw 라는 Liquid Tag로 감싸준다. 그러면 jekyll 빌드 시 해당 영역은 템플릿 엔진도 raw contents 라고 인지해서 태그 파싱을 하지 않으므로 정상적으로 빌드 및 표시가 되는 것을 확인 할 수 있었다.
참고 링크
- https://help.github.com/en/articles/page-build-failed-unknown-tag-error
- https://help.shopify.com/en/themes/liquid/
- https://help.shopify.com/en/themes/liquid/tags/theme-tags#raw
댓글남기기