#author("2025-02-23T23:25:08+09:00","default:kanateko","kanateko")
#author("2025-02-24T03:17:35+09:00;2025-02-23T23:25:08+09:00","default:kanateko","kanateko")
&tag(プラグイン,自作,追加,未公開);

#ref(like.webp,nolink,center,wrap,500x)

#contentsx
*いいねボタンプラグイン [#overview]
#infobox(plugin,except=ライセンス){{
name = like
ver = 1.0.0
pukiwiki = 1.5.4
update = 2025-02-23
}}

SNSなどによくある「いいねボタン」を各ページに設置するプラグイン。voteプラグインと違い、一度押したいいねの解除ができる。また、押されたいいねの履歴が「RecentLikes」ページに記録される。

ブロック型でいいねボタンといいね数、インライン型で指定したページのいいね数のみの表示が可能。アクション型で実行可能なコマンドもいくつかある。

#clear

#box(label,style=full,title=このプラグインでできること){{
-ページに「いいねボタン」を設置する。
--ボタンは各ページにつき1つのみ。
--一度押した「いいね」を解除することもできる。
--「いいね」されたページの履歴は「RecentLikes」ページに100件まで記録される。
-ページ名を指定して、そのページのいいね数を表示することができる。
-いいねされたページの一覧、特定のユーザーがいいねしたページの一覧が表示できる。
-管理者であればページに記録されたいいね数をリセットできる。
}}

*ダウンロード[#download]
//最新: [[GitHub>https://github.com/kanateko/pukiwiki-plugin]]

#box(caution,width=400px){{{
このプラグインは現在公開されていません。
}}}

|~日付|~バージョン|~備考|h
|2025-02-23|1.0.0|#ul(初版作成)|

//*セットアップ [#setup]

//*プラグイン設定 [#settings]

*使用方法 [#usage]
**ボタンの設置 (ブロック型) [#l07e9859]
 #like([ラベル])

引数で任意の文字列を渡した場合は、それがボタンのラベルとして表示される。特に指定しなければハートマークのみが表示される。

**いいね数の表示 (インライン型) [#g979ea1b]
 &like(<ページ名>);

**各種コマンド (アクション型) [#z0565649]
-いいねボタンが設置されたページと各ページのいいね数の一覧
 ?cmd=like or ?cmd=link&mode=list
 ?cmd=like or ?cmd=like&mode=list
-指定したユーザーが現在いいねしているページを表示
 ?cmd=like&mode=search&id=<ユーザーID>
-指定したページのいいね履歴を表示
 ?cmd=like&mode=detail&page=<ページ名>
-指定したページのデータを削除 (要管理者パスワード)
 ?cmd=like&mode=clear&page=<ページ名>
-全ページのデータを削除 (要管理者パスワード)
 ?cmd=like&mode=clearall

//*オプション [#options]


*使用例 [#ecample]
[[練習用Wiki>https://jpngamerswiki.com/_sandbox/?d37d85be52]]にボタンを設置しているのでそちらを参照。

*備考 [#notes]
-実装予定メモ
--Ban - ユーザーor単一いいねの無効化
--Unban - Banの解除
--Cleanup - 記録されたデータの内、既に存在しないページのデータを削除する
-rename対応済み

*コメント [#comment]
#pcomment(reply)