Jekyll 블로그에 수정일자 표시하기
2023, Nov 17
Github Pages 블로그에서 글의 수정일자를 표시하고 sitemap.xml 파일의 lastmod 태그를 수정일자로 표시해 보자.
페이지 변수 추가
Jekyll은 페이지 머리말에 사용자 변수를 추가해서 사용할 수 있고 “page.변수”로 접근해서 쓸 수 있다.
마크다운 파일에 수정일자 변수를 추가해준 다음 post.html에서 타이틀 표시 아래 수정일자를 가져와서 표시하도록 한다.
※ 사용자 변수를 써도 되지만 “last-modified-at” 변수를 쓰면 ‘jekyll-sitemap” 플러그인에서 사이트맵을 만들때 “lastmod” 태그를 수정일자로 표시할 수 있다.
last_modified_at 변수 추가 하고 수정일자 추가한다.
date: 2020-10-16 18:00:00 +0900
last_modified_at: 2020-10-22 18:00:00 +0900
post.html 제목아래 수정 일자 표시
“layouts/post.html” 파일의 “page-title” 표시부분 아래 “page.date”를 “page.last_modified_at”으로 바꿔준다.
“last-modified-at” 변수가 없는 페이지를 위해 아래와 같이 “last-modified-at” 변수가 없으면 기존과 같이 “page.date” 변수를 사용하도록 한다.
<header class="header-page">
<h1 class="page-title">{{page.title}}</h1>
{% if page.last_modified_at %}
<div class="page-date"><span>{{page.last_modified_at | date: '%Y, %b %d'}} </span></div>
{% else %}
<div class="page-date"><span>{{page.date | date: '%Y, %b %d'}} </span></div>
{% endif %}
</header>
sitemap.xml
jekyll/jekyll-sitemap 플러그인을 사용하면 내용에 변경이 생기면 sitemap.xml 파일이 만들어진다.
“jekyll-sitemap” 플러그인의 “lastmod” 생성 정책은 아래와 같다.
<lastmod> tag
The <lastmod> tag in the sitemap.xml will reflect by priority:
1. The modified date of the file as reported by the filesystem if you have jekyll-last-modified-at plugin installed (not compatible with GitHub Pages auto building)
2. A personalised date if you add the variable last_modified_at: with a date in the Front Matter
3. The creation date of your post (corresponding to the post.date variable)
위와 같이 “last-modified-at” 변수를 추가하면 “sitemap.xml”의 “lastmod” 태그가 수정일자로 생성된다.
<url>
<loc>http://0.0.0.0:4000/tools/2020/10/16/jekyll_lastmodified.html</loc>
<lastmod>2020-10-23T01:00:00+09:00</lastmod>
</url>