PowerCMS Xにおいて和暦を用いた日付表示を実現するwareki
グローバルモディファイアを提供するプラグインを制作しました。wareki
モディファイアを使用すると、MTDate
タグやMTEntryDate
タグ等で出力する日付の年表記を和暦に変換することができます。
使用方法
和暦の指定方法をどのようにするか悩んだのですが、Excelの指定方式を採用しました。g
とe
を組み合わせて和暦の表現を指定します。
g
- 元号をM・T・S・Hのようにローマ字表記の頭文字で表現します
gg
- 元号を明・大・昭・平のように漢字表記一文字で表現します
ggg
- 元号を明治・大正・昭和・平成のように漢字表記で表現します
e
- 年を0埋めなしで表現します
ee
- 年を0埋めして表現します(年が1桁の場合は頭に0が付きます)
月日・時刻の表示指定はPHPのdate関数のフォーマットオプションに準じます。
表示例
<mt:Date ts="19780707180500" wareki="ggge年n月j日 H時i分" /> => 昭和53年7月7日 18時05分
<mt:Date ts="19890107" wareki="ggge年n月j日" /> => 昭和64年1月7日
<mt:Date ts="19890108" wareki="ggge年n月j日" /> => 平成元年1月8日
<mt:Date ts="19890108" wareki="ggee.m.d" /> => 平01.01.08
<mt:Date ts="19890108" wareki="gee.m.d" /> => H01.01.08
<mt:Date ts="19040401" wareki="ge.n.j" /> => M37.4.1
PowerCMS X向けのプラグインを作成してみて
Movable Type用プラグインの開発知識を活かすことができるので、開発に取り組みやすいのではないかと思います。例えば、和暦プラグインのconfigファイルは以下のような内容です。モディファイア名や処理を行うメソッド名を指定しています。
{
"label" : "Wareki",
"id" : "wareki",
"component" : "Wareki",
"version" : "1.0",
"author" : "Hideki Abe",
"author_link" : "https://www.anothersky.pw/",
"description" : "Provides the modifier to convert the Christian calendar into Japanese calendar.",
"tags": {
"modifier": {
"wareki" : {
"component" : "Wareki",
"method" : "modifier_convert_wareki"
}
}
}
}
また、PHPで書くことができるのは多くの人にとってメリットがあるのではないでしょうか。私は今までにJavaScript・PHP・Swift・Java・Perlなど色々な言語に触れたことがありますが、Perlだけはどうも上手く習得ができていません。
大きな利点は、Movable Type用プラグインだとスタティックパブリッシング向けにPerl、ダイナミックパブリッシング向けにPHPを利用してプラグインを開発し2つのコード群が生まれますが、PowerCMS X用プラグインの場合はPHPを利用して開発し1つのコード群で完結することでしょう。開発コストが大幅に下がるはずです。
プラグインのダウンロード
GitHubに格納していますのでダウンロードしてご利用下さい。
Movable Type用のwareki
グローバルモディファイアプラグインも開発したいですが、現在の所完成しておりません。