blogger
blogger - data:posts 게시물 배열
게시물의 목록이나 본문에 관련한 태그는 data:posts… 형식입니다. posts 객체에는 다음 표의 배열을 객체로 포함하고 있습니다.
Blog 위젯의 posts 배열 객체는 다음 예제와 같이 사용됩니다. 게시물의 ID, 그리고 제목을 출력합니다.
인클로져 링크는 게시물 내에 MP3 같은 미디어가 있을 때 RSS 및 Atom과 같은 피드에서 재생하는데 사용됩니다.
라벨은 data:posts… 배열 객체에 포함되므로 각 게시물마다 한 개 이상의 라벨을 갖고 있습니다. 따라서 아래 예제와 같이 b:loop 를 이용해 각 게시물의 라벨을 모두 얻을 수 있습니다.
피드는 게시물마다 댓글의 피드가 포함되어 있습니다. 다음과 같이 b:loop 를 이용해 각 게시물과 게시물에 포함된 댓글을 피드로 얻을 수 있습니다.
댓글을 얻는 방법은 다음과 같습니다.
태 그 | 설 명 |
---|---|
id | 게시물 고유 ID Ex.) 1466208867431685974 |
isFirstPost (위젯 버전 1용) |
첫 번째 게시물이면 true 아니면 false. (본문에는 항상 true 를 반환) |
title | 게시물 제목 |
body | 게시물 내용
|
snippets (위젯 버전 2용) |
HTML 태그, 줄 바꿈 제거한 요약글.
Ex.) <data:post.snippets.long /> |
firstImageUrl (위젯 버전 1용) |
본문의 첫 번째 이미지 URL을 반환. (여러 이미지 중 첫 번째 이미지 URL 만 반환) |
featuredImage (위젯 버전 2용) |
본문의 첫 번째 이미지 URL을 반환. (여러 이미지 중 첫 번째 이미지 URL 만 반환) |
thumbnailUrl | 본문의 첫 번째 썸네일 이미지 URL (본문에 포함된 여러 이미지 중 첫 번째 썸네일 URL 만 반환) Ex.) https://i.ytimg.com/vi/R2ZvCQ3J_Wo/0.jpg |
author (위젯 버전 2용) |
작성자 정보 배열. 아래 위젯 버전 1용 설명 참조
|
author (위젯 버전 1용) |
게시물 작성자 |
authorProfileUrl (위젯 버전 1용) |
프로필 URL. Ex.) https://.../profile/14952163024484328055 |
authorPhoto (위젯 버전 1용) |
프로필 사진. '설정 > 사용자 설정 > 일반 > 사용자 프로필'에서 수정
|
url (위젯 버전 2용) |
게시물 URL |
dateHeader (위젯 버전 1용) |
게시물 게시 날짜. '설정 > 언어 및 서식 > 서식 > 날짜 형식'에서 설정 (출력여부는 '레이아웃 > 블로그 게시물 > 블로그 게시물 구성 > 게시물 페이지 옵션'에서 설정) Ex.) 2020년 7월 17일 금요일 |
date | 게시물 게시 날짜 '설정 > 언어 및 서식 > 서식 > 날짜 형식'에서 설정 Ex.) 2020년 7월 17일 금요일 |
lastUpdated (위젯 버전 2용) |
게시물 마지막 수정일 '설정 > 언어 및 서식 > 시간 형식'에서 설정.
Ex.) <data:post.lastUpdated/> 6월 23, 2020 <data:post.lastUpdated.year/> 2020 <data:post.lastUpdated.month/> 6 <data:post.lastUpdated.day/> 23 <data:post.lastUpdated.dayOfWeek /> 2 <data:post.lastUpdated.dayOfYear /> 199 |
timestamp | 게시물 게시 날짜와 시간 '설정 > 언어 및 서식 > 시간 형식'에서 설정. Ex.) 6월 23, 2020 |
timestampISO8601 (위젯 버전 1용) |
게시물 ISO8601 형식 게시일 '설정 > 언어 및 서식 > 서식 > 시간대'에서 설정 Ex.) 2020-07-18T14:44:00+09:00 |
lastUpdatedISO8601 (위젯 버전 1용) |
게시물 ISO8601 형식 마지막 수정일 '설정 > 언어 및 서식 > 서식 > 시간대'에서 설정 Ex.) 2020-07-19T04:23:02Z |
labels | 게시물에 포함된 라벨 목록 배열
|
location | 게시물 작성시 장소(또는 위치)를 설정했을 때 '글쓰기 > 위치'에서 주소 검색시 설정한 값
|
enclosures | 인클로져 링크 설정 '글쓰기 > 글 설정 > 링크'의 인클로져 링크에서 설정한 값
|
allowComments | 게시물 댓글 사용 여부. true or false 중 하나 '글쓰기 > 글 설정 > 옵션'의 댓글 허용 여부에 따라 Boolean 반환. |
allowNewComments | 게시물에 새로운 댓글을 작성할 수 있는지 여부 true or false 중 하나 |
numComments (위젯 버전 1용) |
이 게시물에 있는 댓글 수. |
numberOfComments (위젯 버전 2용) |
이 게시물에 있는 댓글 수. |
commentPagingRequired | 댓글이 200개 이상이면 true 아니면 false |
addCommentUrl (위젯 버전 1용) |
댓글 앵커 URL (댓글이 위치하는 목록으로 이동될 URL) Ex.) http://.../blog-post_10.html#comment-form |
commentsUrl (위젯 버전 2용) |
addCommentUrl 와 동일 |
commentLabelFull (위젯 버전 1용) |
댓글을 표시할 이름 Ex.1) 댓글 없음 Ex.2) 댓글 1개 |
addCommentOnclick (위젯 버전 1용) |
댓글 팝업 자바스크립트 코드 '설정 > 글, 댓글 및 공유 > 댓글 위치'에서 팝업창 사용시 출력 Ex.) window.open(this.href,"bloggerPopup", "toolbar=0,location=0,statusbar=1,menubar=0, scrollbars=yes,width=640,height=500"); return false; |
commentsUrlOnclick (위젯 버전 2용) |
addCommentOnclick 와 동일 |
commentHtml | 본문 내 댓글 목록과 입력폼을 HTML 태그로 반환 (페이지 타입 'item', 'static_page' 에서만 표시됨) '설정 > 글, 댓글 및 공유 > 댓글 위치'에서 '삽입됨'으로 설정시만 출력됨 |
commentFormIframeSrc | 댓글 입력 폼 URL Ex.) https://.../comment-iframe.g?blogID=...&postID=... |
avatarIndentClass (위젯 버전 1용) |
댓글 아바타 Class 값 Ex.) avatar-comment-indent |
sharePostUrl
(위젯 버전 1용) |
게시물을 공유할 URL |
shareUrl (위젯 버전 2용) |
sharePostUrl 와 동일 |
emailPostUrl | 게시물을 공유 이메일로 전송될 URL (게시글 URL을 친구에게 이메일로 보낼 수 있는 기능) '레이아웃 > 블로그 게시물 > 블로그 게시물 구성 > 게시물 페이지 옵션'에서 설정 Ex.) http://www.blogger.com/email-post.g?blogID=...&postID=... |
editUrl (위젯 버전 1용) |
이 게시물에 대한 편집 URL (게시물 수정 권한이 있는 사용자만…) Ex.) http://.../post-edit.g?blogID=...&postID=...&from=pencil |
feedLinks | 페이지(또는 게시물)에 포함된 댓글 피드
|
comments | 이 게시물에 대한 댓글 목록. (페이지 타입 'item', 'static_page' 에서만 표시됨)
|
oldestLinkUrl | 맨 마지막 댓글 페이지 URL 200개 이상의 댓글이 달린 경우에 반환 |
oldestLinkText (위젯 버전 1용) |
맨 마지막 댓글에 표시할 이름 Ex.) 처음 |
olderLinkUrl | 이전 댓글 페이지 URL 200개 이상의 댓글이 달린 경우에 반환 |
olderLinkText (위젯 버전 1용) |
이전 댓글에 표시할 이름 Ex.) 이전 |
HasOlderLinks | 이전 댓글 페이지가 존재하면 true 반환 |
oldLinkClass | 이전 댓글 페이지 링크 Class 값 200개 이상의 댓글이 달린 경우에 반환 Ex.) unneeded-paging-control |
newestLinkUrl | 맨 처음 댓글 페이지 URL 200개 이상의 댓글이 달린 경우에 반환 |
newestLinkText (위젯 버전 1용) |
맨 처음 댓글에 표시할 이름 Ex.) 끝 |
newerLinkUrl | 최근 댓글 페이지 URL 200개 이상의 댓글이 달린 경우에 반환 |
newerLinkText (위젯 버전 1용) |
최근 댓글에 표시할 이름 Ex.) 다음 |
hasNewerLinks | 최근 댓글 페이지가 존재하면 true 반환 |
newLinkClass | 최근 댓글 페이지 링크 Class 값 200개 이상의 댓글이 달린 경우에 반환 Ex.) paging-control |
commentRangeText | 페이지 번호 정보 표시 200개 이상의 댓글이 달린 경우에 반환 Ex.) 632 중 201 – 400 (총 632개 중 201 ~ 400 댓글을 표시한다는 뜻) |
Blog 위젯의 posts 배열 객체는 다음 예제와 같이 사용됩니다. 게시물의 ID, 그리고 제목을 출력합니다.
<b:loop values='data:posts' var='post'>
<h1><data:post.id/>: <data:post.title/></h1>
</b:loop>
인클로져 링크는 게시물 내에 MP3 같은 미디어가 있을 때 RSS 및 Atom과 같은 피드에서 재생하는데 사용됩니다.
<b:loop values='data:posts' var='post'>
<b:loop values='data:post.enclosures' var='enclosure'>
(<data:enclosure.mimeType/>) <data:enclosure.url/>
</b:loop>
</b:loop>
<!--//
결과:
(video/x-youtube) https://www.youtube.com/embed/WCwDNGnu8oE
//-->
라벨은 data:posts… 배열 객체에 포함되므로 각 게시물마다 한 개 이상의 라벨을 갖고 있습니다. 따라서 아래 예제와 같이 b:loop 를 이용해 각 게시물의 라벨을 모두 얻을 수 있습니다.
<b:loop values='data:posts' var='post'>
<b:loop values='data:post.labels' var='label'>
<a expr:class='data:label.name' expr:href='data:label.url'>
<data:label.name/>
</a>,
<b:if cond='data:label.isLast != "true"'/>
</b:loop>
</b:loop>
<!--//
결과:
<a href='http://…/search/label/PHP'>PHP</a>,
<a href='http://…/search/label/HTML'>HTML</a>
//-->
피드는 게시물마다 댓글의 피드가 포함되어 있습니다. 다음과 같이 b:loop 를 이용해 각 게시물과 게시물에 포함된 댓글을 피드로 얻을 수 있습니다.
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.allowComments'>
<b:if cond='data:post.feedLinks'>
<data:feedLinksMsg/>
<b:loop values='data:post.links' var='feed'>
<a expr:href='data:feed.url' expr:type='data:feed.mimeType'>
<data:feed.name/>(<data:feed.feedType/>)
</a>
</b:loop>
</b:if>
</b:if>
</b:loop>
댓글을 얻는 방법은 다음과 같습니다.
<b:loop values='data:posts' var='post'>
<b:loop values='data:post.comments' var='cmt'>
아바타: <data:cmt.authorAvatarSrc/><br/>
작성자: <data:cmt.author/><br/>
개시일: <data:cmt.timestamp/><br/>
내용: <data:cmt.body/><br/>
</b:loop>
</b:loop>
<!--//
결과:
아바타: //3.bp.blogspot.com/…/…/s35/logo.png
작성자: 하보니
개시일: 2020년 7월 21일 오전 1:10
내용: 안녕 하보니
//-->
0 댓글