astro-notion-blogで記事に更新日を表示する

Featured image of the post

目次

手順

interface.tsに追加

UpdateDate: string
src\lib\interfaces.ts
Image in a image block

client.tsに追加

UpdateDate: prop.UpdateDate.date ? prop.UpdateDate.date.start : '',
src\lib\notion\client.ts
Image in a image block

PostUpdateDate.astroの作成

src\components\PostUpdateDate.astroを新規作成します。

---
import { Post } from '../lib/interfaces.ts'
import { getDateStr } from '../lib/blog-helpers.ts'

export interface Props {
  post: Post
}

const { post } = Astro.props
---

<div class="post-date">
  {post.UpdateDate ? <span>更新日:{getDateStr(post.UpdateDate)}</span> : ''}
</div>

<style>
  .post-date {
    margin-block: 0.3rem;
    font-size: 0.9rem;
  }
</style>
src\components\PostUpdateDate.astro
Image in a image block

PostDate.astroの修正

{post.Date ? <span>投稿日:{getDateStr(post.Date)}</span> : ''}
src\components\PostDate.astro
Image in a image block

ページの修正

Image in a image block
src\pages\index.astro
Image in a image block
src\pages\blog\[slug].astro
Image in a image block
src\pages\blog\page\[page].astro
Image in a image block
src\pages\blog\tag\[tag].astro
Image in a image block
src\pages\blog\tag\[tag]\page\[page].astro

NotionのデータベースのプロパティにUpdateDateを追加

Image in a image block

完成図

Image in a image block

更新日が無いページは勝手に空になります。

Image in a image block

ここまで小さくなることなんて無いとは思うんですが、一応レスポンシブ対応です。勝手に折り返されます。