Галерея тем

:information_source: Краткое описание Добавление галереи для каждой темы
:eyeglasses: Предпросмотр Нажмите, чтобы увидеть пример галереи
:hammer_and_wrench: Ссылка на репозиторий https://github.com/Canapin/discourse-topic-gallery
:open_book: Руководство по установке Как установить плагины в Discourse

Описание

Topic Gallery отображает все изображения из обсуждения на отдельной странице.

Сценарии использования

Идеально подходит для сообществ и/или категорий, ориентированных на изображения, где пользователи публикуют много фотографий.
Обеспечивает полное погружение в просмотр изображений без отвлекающих факторов стандартного интерфейса темы и другого контента.

Мобильная версия:

Вы можете попробовать это здесь. Это в основном тестовый экземпляр, поэтому доступность не гарантируется.

Функции

Основные функции

  • Бесконечная прокрутка! [1]

  • Фильтры по пользователю и дате

  • Запуск галереи с указанной публикации

  • Доступ для конкретных групп

  • Исключения по категориям

  • Ссылка на исходную публикацию под открытым изображением, чтобы вы никогда не потерялись:
    Ссылка на исходную публикацию в галерее темы

  • Отображение сгруппированных изображений (принадлежащих одной публикации) при наведении курсора:
    Сгруппированные изображения в Topic Gallery

Переход от темы к галерее

Доступно несколько кнопок для перехода от темы к галерее:

  • Под временной шкалой:

  • В конце темы:
    Кнопка темы Topic Gallery

  • В каждой публикации (можно отключить в настройках):
    Кнопка публикации Topic Gallery

    :information_source: Если вы открываете галерею из публикации, галерея фильтруется и показывает изображения начиная с этой публикации. Вы можете отменить этот фильтр одним щелчком:
    Изображение

URL-адреса галереи

Синтаксис URL-адреса галереи такой же, как у обычной темы, но /t/ заменяется на /gallery/:

https://canapin.discourse.diy/t/share-your-pictures/10
:backhand_index_pointing_down:
https://canapin.discourse.diy/gallery/share-your-pictures/10

Также доступен публичный JSON-эндпоинт:
https://canapin.discourse.diy/gallery/share-your-pictures/10.json

Безопасность и запросы

  • Доступ к функциям ограничен разрешенными группами и категориями.
  • Доступ к галереям имеют только пользователи, имеющие доступ к исходной теме.

Запросы на загрузку исключают:

  • Изображения, загруженные не пользователями
  • Ссылки не на публикации (пользовательские эмодзи, аватары и т. д.)
  • Загрузки из публикаций, к которым у текущего пользователя нет доступа, то есть:
    • Тихие сообщения (если текущий пользователь не видит тихие сообщения)
    • Скрытые публикации
    • Удаленные публикации
    • Публикации игнорируемых пользователей

Поведение галереи

  • Ссылочные изображения не отображаются.

  • Маленькие изображения не отображаются (минимальное разрешение можно изменить в настройках).

  • Дубликаты изображений отображаются один раз.

  • Изображения внутри цитат отображаются.

  • Изображения в спойлерах или в любом другом блоке, изменяющем их видимость, отображаются.

Настройки

Имя Тип Значение по умолчанию Описание
topic_gallery_enabled булево true Включить плагин галереи темы.
topic_gallery_allowed_groups список групп admins Группы, которым разрешен доступ к галерее темы.
topic_gallery_minimum_image_size целое число (0–1000) 64 Минимальная ширина и высота (в пикселях) изображений для отображения в галерее. Изображения меньшего размера по любой из этих характеристик исключаются.
topic_gallery_excluded_categories список категорий "" Категории, в которых галерея темы отключена. Темы в этих категориях не будут показывать кнопки галереи или страницу галереи.
topic_gallery_post_menu_button булево true Показывать кнопку галереи внутри каждой публикации.

:information_source: По умолчанию плагин включен только для администраторов. Перейдите в настройки, чтобы включить доступ для других групп.


  1. При достижении конца первой партии изображений автоматически загружается и добавляется следующая партия. ↩︎

15 лайков

Наконец-то я выпустил этот плагин :slight_smile:

Вы можете посмотреть превью здесь: Gallery - Share your pictures! - Canapin

4 лайка

Это такая крутая идея и реализация.
Попробую это позже, но есть ли способ добавить описание изображения, которое будет отображаться во всплывающем окне под изображением?

1 лайк

Я думаю, вы можете использовать альтернативный текст:

![Некоторый альтернативный текст здесь](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 → локальный генератор изображений на базе ИИ

  • the-tattooer-is-totally-right-v0-s2f8spm3l-D5908.jpg → вероятно, сохранено с веб-сайта

  • cropped-android-chrome-512x512-1-32x32.png → скриншот со смартфона

И так далее.

Стоит ли считать это конфиденциальной информацией? Имена изображений по умолчанию используются как заголовки при их загрузке в Discourse. Если мы редактируем заголовки, исходная информация становится недоступной для пользователей. Однако этот плагин её раскрывает.

Редактирование: Да, пожалуй, мне не следует отображать оригинальное имя файла. :thinking:

Повторное редактирование: Исправлено. :slight_smile:

1 лайк

Иконка галереи внизу темы на мобильных устройствах оформлена некорректно (не соответствует форме и размеру других кнопок). На десктопе выглядит нормально. Спасибо.

1 лайк

До
image

После
image

Исправлено, спасибо за сообщение :slight_smile:

1 лайк

Спасибо! Было бы также возможно добавить настройку для отключения автоматического добавления «из поста #123», когда пользователь нажимает кнопку галереи в середине темы? То есть, чтобы была доступна полная галерея, независимо от того, на какую именно кнопку галереи нажали. :slight_smile:

1 лайк

Вы можете отключить кнопки публикации в настройках плагина. Оставшиеся кнопки галереи (временная шкала и конец темы) открывают галерею с самого начала.

1 лайк