2018년 6월 6일 수요일

Blogger 첫 페이지에 글 노출하지 않기

커스텀 도메인이나 HTTPS 적용 등 여러 면에서 블로그 서비스로는 구글의 Blogger가 가장 무난해서 쓰고 있다.

하지만 도메인으로 처음 들어왔을 때 무턱대고 글을 보여주는 게 마음에 들지 않아서, 첫 페이지라는 개념을 적용할 수 있는지 찾아봤다. https://www.quora.com/How-can-I-edit-a-home-page-on-blogger-com/answer/Elliyas-Ahmed 이런 답이 나온다.

Blogger 테마도 XML 수준에서 직접 편집하면서 필요한 부분에 조건문을 넣으라는 거다.
  • https://support.google.com/blogger/answer/46995?hl=ko&ref_topic=6321969
  • https://support.google.com/blogger/answer/47270?hl=ko
 아래와 같은 태그를 필요한 위치 앞뒤에 넣으면 첫 페이지가 아닐 때만 영역이 보이게 된다.
<b:if cond='data:blog.url != data:blog.homepageUrl'>
</b:if>

하지만 아무 데나 되는 건 아니고 넣을 수 있는 위치에 제약이 있다. 테마 마크업 구조를 조금 알아야 이해가 되는데, 크게 봐서 b:section과 b:widget 태그가 페이지에 표시되는 단위라고 할 수 있고 b:includable 태그로 영역을 잡아주면 그걸 b:include 태그로 가져가서 쓰는 식이다. 그리고 모바일 레이아웃이 따로 있는 테마라면 b:if 태그로 data:mobile 값을 검사해 어떤 경우에 블럭을 표시할지 말지 결정하는 부분도 있을 것이다.

그래서 지금은 일단 모바일 접근이 아닐 때 글을 표시하는 영역이 안 나오도록만 해놨다. 본문과 본문 위에 날짜 나오는 부분 2개를 막는 걸로 처리가 됐다.

비워둔 영역은 따로 안내 페이지를 하나 만들고 그 본문을 가져오는 수준에서 채우고 싶었는데 이건 방법이 있는지 어떤지도 모르겠다. 아마 안될 것 같긴 한데.