구글 블로거(Google Blogger) 페이지, 게시글(포스트) 관련 타입들
이전부터 천천히 준비해오던 블로그 사이트의 디자인과 구조 변경.. 드디어 이번 주말에 대대적인 개편을 진행했습니다.
기존 사이트도 코드를 잘 구경해보셨다면 아시겠지만 구글 블로거 서비스와 호스팅 서버 2개의 조합으로 구성한 사이트입니다. 간만에 크게 수정하려고 하니.. 블로거 쪽 문법이 헷갈려서 계속 찾아보았었습니다.
이참에 조금 정리해놓고 필요할때마다 참고하면 어떨까 하는 마음에 글 작성합니다. (타입만 잘 알아둬도 많은 것을 할 수 있습니당)
pageType
구글 블로거에는 7개의 페이지 타입이 존재합니다. 각각 페이지 타입은 data:blog 하위에 정의되어 있고 이를 통해서 포스트, 페이지 별로 UI 구성을 나눈다던가, 에러페이지를 생성한다던가 여러가지 액션을 취할 수 있습니다.
Index Pages, 인덱스는 색인이 있는 페이지입니다. 예를들면.. 검색 결과나 블로그 메인 페이지 정도입니다.
<b:if cond = 'data:blog.pageType == "index"'>
<h1>이 페이지는 index입니다 :)</h1>
</b:if>
Item Pages, 아이템은 블로그 포스트글을 의미합니다. 지금 보시는 이 글의 페이지 타입이 바로 item 이죠. 글 자체에 대한 코드를 구성할 땐 item이 최고입니다.
<b:if cond = 'data:blog.pageType == "item"'>
<h1>이 페이지는 archive 입니다 :)</h1>
</b:if>
Static Pages, Static 페이지는 게시글 작성 시 글이 아닌 페이지로 작성한 곳입니다. 이런 페이지를 의미하죠.
http://www.hahwul.com/p/introduction.html
<b:if cond = 'data:blog.pageType == "static_page"'>
<h1>이 페이지는 static page 입니다 :)</h1>
</b:if>
Error Pages, 이름 그대로 에러 페이지입니다.
<b:if cond = 'data:blog.pageType == "error"'>
<h1>이 페이지는 에러 입니다 :)</h1>
</b:if>
요런식으로 활용할 수 있죠.
http://www.hahwul.com/p/intrasdfasdfasdfasdf » 없는 페이지 접근 |
Label Pages 라벨 전체나 각 라벨에 대한 결과 페이지를 의미합니다. 보편적으로 구글 블로거 사용하시는 분들은.. 카테고리 처럼 쓰시죠(저도 카테고리로 만들어 쓰다가 이번에 다시 라벨 형태로 바꿔가려고 합니다)
<b:if cond = 'data:blog.pageType == "searchlabel"'>
<h1>이 페이지는 라벨 전체 입니다 :)</h1>
</b:if>
<b:if cond = 'data:blog.searchLabel == "HACKING"'>
<!-- HACKING이라는 라벨의 페이지 입니다. -->
<h1>이 페이지는 특정 라벨에 대한 결과 입니다 :)</h1>
</b:if>
Search Pages. 검색에 대한 결과입니다.
<b:if cond = 'data:blog.pageType == "searchQuery"'>
<h1>이 페이지는 검색 입니다 :)</h1>
</b:if>
<b:if cond = 'data:blog.searchQuery == "HACKING"'>
<h1>이 페이지는 특정 검색 페이지에 대한 결과입니다 :)</h1>
</b:if>
Archive Pages, 아카이브 타입은 url 끝부분이 “_archive.htm” 오는 경우에 해당됩니다. 이는 포스트나 페이지로도 쉽게 만들 수 있습니다. 글 작성할 때 에디터 우측에 링크 부분으로 페이지 주소를 미리 지정할 수 있죠.
<b:if cond = 'data:blog.pageType == "archive"'>
<h1>이 페이지는 archive 입니다 :)</h1>
</b:if>
게시글(포스트) 관련 타입들
블로거 고객센터쪽 글에 잘 정리되어 있습니다. 몇개 없는거 추가합니다. (https://support.google.com/blogger/answer/47270?hl=ko)
- feedLinks: 이 페이지의 피드 목록입니다. 기본 페이지의 이 목록에는 기본 블로그 피드가 포함됩니다. 항목 페이지의 이 목록에는 댓글 피드도 포함됩니다. 이 목록의 각 항목에는 다음과 같은 데이터가 포함됩니다.
- url: 해당 페이지의 url
- name: 피드 이름입니다(예: '게시물' 또는 '댓글').
- FeedType: Atom 또는 RSS
- mimeType: 피드의 MIME 형식입니다.
- olderPageUrl: 기존 게시물이 있는 경우 해당 게시물의 URL입니다. 페이지 유형에 따라 다릅니다. 일부 페이지에는 이 링크가 없습니다.
- olderPageTitle: 기존 페이지 게시물에 대한 링크의 제목입니다.
- newerPageUrl: 최신 버전의 olderPageURL입니다.
- newerPageTitle: 최신 버전의 olderPageTitle입니다.
- commentLabel: 댓글의 수를 표시하는 데 사용하는 구문입니다.
- authorLabel: 작성자를 표시하는 데 사용하는 구문입니다(예: '작성자').
- timestampLabel: 게시물이 기록된 시기를 표시하는 데 사용하는 구문입니다(예: '게시 날짜').
- postLabelsLabel: 게시물 라벨의 목록을 표시하는 구문입니다(예: '이 게시물의 라벨').
- backlinksLabel: 게시물의 백링크를 설명하는 구문입니다(예: '이 게시물의 링크').
- posts: 이 페이지의 게시물 목록입니다. 각 게시물에는 다음과 같은 항목이 포함됩니다.
- dateHeader: 이 게시물의 날짜입니다. 목록에서 해당 날짜에 첫 번째로 게시된 경우에만 표시됩니다.
- id: postID입니다.
- title: 페이지 제목
- body: 본문
- author: 작성자 정보
- timestamp: 게시한 시간과 날짜입니다. 날짜 헤더와는 달리 모든 게시물에 표시됩니다.
- labels: 라벨의 목록입니다. 각 라벨에는 다음과 같은 항목이 포함됩니다.
- name: 라벨의 이름입니다.
- url: 이 라벨과 함께 블로그의 모든 게시물을 표시하는 페이지의 URL입니다.
- isLast: True 또는 False. 이 라벨이 목록에 표시되는 마지막 라벨인 경우에 포함됩니다.
- allowComments: 게시물에 댓글이 허용되면 'True'입니다.
- numComments: 이 게시물에 있는 댓글의 수입니다.
- showBacklinks: 게시물에 백링크가 표시되는지 여부를 나타냅니다.
- numBacklinks: 이 게시물에 대한 백링크의 수입니다.
- addCommentUrl: 이 게시물에 대한 '댓글 추가' URL입니다.
- emailPostUrl: 이 게시물에 대한 '이 게시물을 이메일로 전송' URL입니다.
- editUrl: 이 게시물에 대한 수정 형식의 URL입니다.
- feedLinks: 이 게시물과 관련된 피드의 목록입니다. 이 feedLinks에는 게시물 댓글에 대한 피드 등이 포함될 수 있기 때문에 전체 블로그 feedLinks와는 다릅니다. 각 feedLinks에는 다음과 같은 항목이 포함됩니다.
- url: 피드 URL입니다.
- name: 피드 이름입니다(예: '게시물' 또는 '댓글').
- feedType: 피드 유형입니다(Atom 또는 RSS).
- mimeType: 피드의 MIME 형식입니다.
- comments: 이 게시물에 대한 모든 댓글의 목록입니다(항목 페이지에만 표시됨). 각 comments에는 다음과 같은 항목이 포함됩니다.
- id: 댓글의 ID(숫자)입니다.
- body: 리뷰 본문입니다.
- timestamp: 댓글이 작성된 시간입니다.
- author: 표시 이름이 없으면 '익명'으로 표시됩니다.
- authorUrl: 댓글이 익명이 아닌 경우 댓글 작성자 프로필 URL입니다.
- deleteUrl: 댓글을 삭제할 URL입니다.
- isDeleted: 댓글이 삭제된 경우에 표시됩니다.
Reference
https://amprandom.blogspot.com/2017/01/7-blogger-pagetypes-most-used.html https://support.google.com/blogger/answer/47270?hl=ko