모든 블로거 포스트에 날짜 표시하기 edit

http://www.anshuldudeja.com/2009/11/how-show-post-date-for-blogger-posts.html

블로거는 기본적으로 같은날에 쓴 포스트들에는 날짜를 맨 처음 포스트에만 표시한다. —기본 스킨설정이 날짜는 제목 위에 나타나게 되어 있어서 하위에 다른 포스트들은 그 날짜에 쓰여졌다는걸 암시한다.

dateHeader: The date of this post, only present if this is the first post in the list that was posted on this day.

이와 같은 기본 스킨설정을 입맛에 맞게 바꾸려면 트윅이 필요한데, 스킨을 수정하는 곳에서 Expand Widget Template를 체크한 다음 아래와 비슷한 태그를 찾는다. 해당 태그는 스킨에 따라 다를 수 있어서 만약 찾을 수 없다면 data:post.dateHeader키워드로 검색해본다.

<b:if cond='data:post.dateHeader'>
 <span class='date-header'><data:post.dateHeader/></span>,
</b:if>

해당 if구문을 아래와 같이 변경해준다.

<b:if cond='data:post.dateHeader'>
 <script>var dateHeader = &#39;<data:post.dateHeader/>&#39;;</script>
 <span class='date-header'><data:post.dateHeader/></span>,
<b:else/>
 <span class='date-header'><script>document.write(dateHeader);</script></span>,
</b:if>

<data:post.dateHeader/>가 날짜를 표시해주는 블로거 태그이다. —블로거 템플릿은 마치 서버사이드 스크립트처럼 동작하여서 페이지가 표시될때 치환된다.

data:post.dateHeader에 값이 있으면(참이면: 해당 포스트가 가장 최근의, 가장 위에 자리잡은 포스트이면) 자바스크립트 구문을 실행하여 dateHeader변수에 날짜를 임시 저장한 다음 표시한다. 그다음 포스트에 값이 없으면(거짓이면) 자바스크립트로 임시 저장된 dateHeader를 표시한다. 만약 값이 있으면(참이면) 새로운 날짜에 쓰여진 포스트 이므로 다시 새로운 날짜로 임시 저장되고 이 루틴이 반복된다.

그런데 이상한점은 <script>태그에 type="javascript"옵션을 주면 안된다는 것이다. 자바스크립트를 인라인 스크립트로 사용할땐 생략해야하는 것 같다.

0 comments:

Post a Comment

Newer -> <- Older