🖼️ トピックギャラリー

<div data-theme-toc="true"> </div>

| | | |
| - | - | - |
| :information_source: | **概要** | 各トピックのギャラリービューを追加 |
|:eyeglasses:|**プレビュー**|[ギャラリーの例を見る](https://canapin.discourse.diy/gallery/share-your-pictures/10)|
| :hammer_and_wrench: | **リポジトリリンク** | <https://github.com/Canapin/discourse-topic-gallery> |
| :open_book: | **インストールガイド** | [Discourseでプラグインをインストールする方法](https://meta.discourse.org/t/install-plugins-in-discourse/19157) |

## 説明

Topic Galleryは、ディスカッション内のすべての画像を専用ページに表示します。

## ユースケース

画像中心のコミュニティや、ユーザーが多くの画像を投稿するカテゴリに最適です。
通常のトピックインターフェースやその他のコンテンツが邪魔になることなく、完全な画像体験を可能にします。

![Topic Gallery screenshot|576x499](upload://rit8FPMHdd8fw4emv1lgYiAUMK2.jpeg)

![Topic Gallery video|video](upload://dG3QpG4stuEpjCE3fLOzrp8x5sF.mp4)

[こちら](https://canapin.discourse.diy/gallery/share-your-pictures/10)で試すことができます。これは主にテストインスタンスであるため、利用可能性は保証されません。

## 特徴

### 主な特徴

- 無限スワイプ! [^1]

- ユーザーと日付のフィルター
- 指定された投稿からギャラリーを開始
- グループ固有のアクセス
- カテゴリベースの除外
- 現在開いている画像の下にソース投稿へのリンクがあり、迷子になることはありません。
  ![Gallery Topic source post link|277x40](upload://c2JKX43sjvbia3ok64UTGaRaztj.png)
- マウスオーバーでグループ化された画像(同じ投稿に属するもの)を表示します。
![Topic Gallery grouped pictures|520x500, 75%](upload://w48pBgNYIMlvrctpb7aporHovcG.gif)

[^1]: 最初のバッチの画像の最後に到達すると、次のバッチが自動的にロードされ、追加されます。

### トピックからギャラリーへのナビゲーション

トピックからギャラリーに移動するためのボタンがいくつかあります。

- タイムラインの下:
![Topic Gallery timeline button|290x174](upload://fMid6elKeqCwM2wEjTEdDKlZoEt.png)

- トピックの最後:
![Topic Gallery topic button|295x55](upload://yXwbgXDpGfBdKpwWZW8iv3Xb8D1.png)

- 各投稿上(設定で無効にできます):
![Topic Gallery post button|282x61](upload://wq9MHQ7iKiKsJqrtUf7YkCA4AwT.png)
:information_source: 投稿からギャラリーを開いた場合、ギャラリーはフィルターされ、**この投稿から始まる**画像のみが表示されます。このフィルターはワンクリックでキャンセルできます。
![image|294x64](upload://o62q1RjF73UHwTb7JS5WSUFIDOC.png)

### ギャラリーURL

ギャラリーのURL構文は通常のトピックと同じですが、`/t/`が`/gallery/`に置き換えられています。

[`https://canapin.discourse.diy/t/share-your-pictures/10`](https://canapin.discourse.diy/gallery/share-your-pictures/10)
:backhand_index_pointing_down: 
[`https://canapin.discourse.diy/gallery/share-your-pictures/10`](https://canapin.discourse.diy/gallery/share-your-pictures/10)

公開されているJSONエンドポイントもあります。
[`https://canapin.discourse.diy/gallery/share-your-pictures/10.json`](https://canapin.discourse.diy/gallery/share-your-pictures/10.json)

## セキュリティとクエリ

- 機能へのアクセスは、許可されたグループおよび許可されたカテゴリに制限されています。
- ギャラリーは、ソーストピックへのアクセス権を持つユーザーに制限されています。

アップロードクエリには以下が含まれません。

- 投稿からの画像の順序は保持されます
- ユーザーがアップロードした画像ではないもの
- カスタム絵文字、アバターなどの投稿への参照ではないもの
- 現在のユーザーがアクセス権のない投稿からのアップロード。つまり:
  - ウィスパー(現在のユーザーがウィスパーを見ることができない場合)
  - 非表示の投稿
  - 削除された投稿
  - 無視しているユーザーの投稿

## ギャラリーの動作

- ホットリンクされた画像は表示されません。

- 小さな画像は表示されません(最小解像度は設定で変更可能)。

- 重複する画像は一度だけ表示されます。

- 引用符内の画像は表示されます。

## 設定

|名前|タイプ|デフォルト|説明|
|-|-|-|-|
|`topic_gallery_enabled`|boolean|`true`|トピックギャラリープラグインを有効にします。|
|`topic_gallery_allowed_groups`|group_list|`admins`|トピックギャラリーへのアクセスが許可されているグループ。|
|`topic_gallery_minimum_image_size`|integer (0–1000)|`64`|ギャラリーに表示される画像の最小幅と高さ(ピクセル単位)。いずれかの次元でこれより小さい画像は除外されます。|
|`topic_gallery_excluded_categories`|category_list|`""`|トピックギャラリーが無効になっているカテゴリ。これらのカテゴリのトピックでは、ギャラリーボタンやギャラリーページは表示されません。|
|`topic_gallery_post_menu_button`|boolean|`true`|各投稿内にギャラリーボタンを表示します。|

:information_source: デフォルトでは、プラグインは**管理者**のみで有効になっています。他のグループを有効にするには、設定を確認してください。
「いいね!」 13

ついにこのプラグインをリリースしました :slight_smile:
プレビューはこちらで見られます: Gallery - Share your pictures! - Canapin

「いいね!」 2

これはとてもクールなアイデアと実装ですね。
後で試してみますが、画像のポップアップで画像の下に表示される画像の説明を追加する方法はありますか?

「いいね!」 1

altテキストを使用できると思います。

![ここに代替テキスト](upload://...)

上記の画像をクリックすると、代替テキストが表示されます。

「いいね!」 2

ああ、私の見落としがありました。このプラグインの photoswipe の設定では、カスタムタイトルではなく元のファイル名が表示されているようです。修正しますね :slight_smile:

「いいね!」 2

@Canapin なぜ組み込みの Discourse の lightbox() を使用しないのですか?

どうやら、組み込みのライトボックス(このプラグインの初期バージョンで行っていたこと)は使用できますが、自分のニーズに合わせて設定したり調整したりすることはできません。特に、無限読み込み/スワイプのメソッドと連携させることができなかったため、独自のものを同梱する必要がありました。

「いいね!」 1

残念ながら、これを修正することはできません。画像のタイトルは投稿のコンテンツ内に記述されており、どのテーブルにも保存されていません。

パフォーマンス上の理由から、私のクエリは投稿のコンテンツを返さないため、コンテンツを解析してタイトルを取得することができません。

ファイル名のままにしておくしかないと思います。この情報はめったに役に立ちませんが… :thinking:
変更されていないファイル名は、画像がどこから来たのかを示すことがよくあります。

例えば、私のテストインスタンスでは次のようになります。

  • image.png → 「image」ファイル名は、コンポーザーに直接貼り付けられた画像です

  • Gemini_Generated_Image_8h4wt58h4wt58h4w.jpg → 推測

  • ComfyUI-ExtraMD-Large_315126945425344_00000.jpg → ローカルAI画像ジェネレーター

  • the-tattooer-is-totally-right-v0-s2f8spm3l-D5908.jpg → おそらくウェブサイトから保存されたもの

  • cropped-android-chrome-512x512-1-32x32.png → スマートフォンのスクリーンショット

などです。

「いいね!」 1