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