Shopifyの投稿日を日本の元号で表示してみる

前回の「Shopifyの投稿日をニュースサイトっぽく表示してみる」に続き、またまた投稿日出力のカスタマイズ。

日本の元号なんてお役所の書類くらいしか使わないので、絶対に需要はありませんが、敢えて日本の元号で出力したいと思います。

{{ article.published_at | date: '%Y' | minus: 2018 | prepend: "令和" | append: "年" }}

とくに難しいことはしてませんが順を追って説明しますと、「article.published_at | date: '%Y'」で「投稿の年（西暦）」をセット。そこから「2018」を減算し、テキスト先頭に「令和」、後頭に「年」を付けることで「令和○年」と出力される仕組みです。

例えば「令和1年」の時に「令和元年」としたい場合は、こんな感じで分岐条件をつけます。

{%- assign year = article.published_at | date: '%Y' | abs -%}
{%- capture set_year -%}
{%- if year == 2019 -%}
{{- "令和元年" -}}
{%- else -%}
{{- year | minus: 2018 | prepend: "令和" | append: "年" -}}
{%- endif -%}
{%- endcapture -%}

1行目で「投稿の年（西暦）」を定義してabsで数値化。
残りの行で2019年の場合は「令和元年」と出力し、それ以外は「令和○年」となるように分岐。{{ set_year }}で出力されるようになっています。

最終的に「令和○年○月○日」と出力するには、以下のLiquidコードになります。

{{ article.published_at | date: '%-m月%e日' | prepend: set_year }}

さらにカスタマイズして分岐条件を増やせば「平成」でも出力できますが、そこまでの情報はいりませんよね〜
完全なムダ知識ですし。