Media Overlay component

Спасибо за компонент.
Я использую ветку master репозитория Discourse на GitHub (коммит FIX: Allow dismissing Discard Drafts modal via ESC (#12532) · discourse/discourse@db7be94 · GitHub).
Хотел просто сообщить, что я только что включил компонент в тему Default.
После этого отображение сайта ломается: основной контейнер начинает бесконечно зацикливаться… есть какие-то идеи?
Спасибо!

1 лайк

Спасибо за отчет, @nicopace. @pmusaraj только что обновил тему:

Пожалуйста, попробуйте обновить и сообщите, стало ли работать лучше.

2 лайка

Спасибо за обновление. Всё работает.
Интересно, есть ли планы по поддержке отложенной отрисовки iframe, как в GitHub - discourse/discourse-bbb: Discourse integration with BigBlueButton. · GitHub, которые появляются после нажатия на кнопку.

1 лайк

Этот (очень замечательный) компонент темы действительно работает, но помечен как «сломанный».

Я не могу заставить его не работать.

Могли бы другие тоже протестировать и сообщить результаты?

Если он не сломан, можем ли мы убрать метку «сломанный»?

Привет, @denvergeeks. Похоже, это было помечено как неработающее из-за проблем с однобоксами YouTube. Можете подтвердить, работают ли видео YouTube на вашем сайте с этим компонентом темы?

Спасибо, @david — вы правы, он действительно выдаёт ошибки и зависает на видео с YouTube и iframe, но я сделал форк, убрал LazyYT из .js, и после этого всё работает…

2 лайка

Отлично! Не могли бы вы создать PR с этим изменением?

1 лайк

Ладно, думаю, я достаточно правильно оформил этот PR.

3 лайка

Выглядит отлично, спасибо. Я теперь удалил broken из этой темы :rocket:

3 лайка

Ого, это круто! Спасибо за исправление @denvergeeks и @david :slight_smile:

2 лайка

Не каждый пользователь будет встраивать код iframe, все будут напрямую вставлять URL-адрес видео. Возможно, стоит реализовать инструмент для преобразования URL-адреса видео YouTube в код встраивания iframe

Я вполне уверен, что для этого можно создать компонент темы и добавить кнопку на панель инструментов редактора. Или же можно сделать форк этого решения, добавив эту часть.

Дополнительная кнопка усложнит интерфейс. Необходимо, чтобы преобразование URL-адресов выполнялось автоматически, незаметно для пользователя. Тогда все встроенные видео, независимо от способа встраивания, будут работать корректно.

1 лайк

Ну, ладно. Тогда, я полагаю, можно сделать форк и автоматизировать это. :woman_shrugging:t2:

2 лайка

Может быть, это должно быть в ядре, чтобы все URL-адреса парсились по единому стандарту?

Не совсем понимаю, о чём речь… Discourse уже автоматически превращает ссылки на YouTube в iframe в рамках нашей системы «onebox». Просто вставьте URL на отдельной строке:

2 лайка

Да, но вставка URL напрямую не работает с этим компонентом. Компонент не видит onebox для iframe. Вам нужно вставить код iframe напрямую, чтобы компонент заработал. И то, что никто не делает: все вставляют только URL, а не код iframe.

2 лайка

Да, идеально было бы, чтобы пользователи просто вставляли то, что предоставлено источником, и это автоматически работало в Discourse!

Кажется довольно простым для новичков!

1 лайк

Ах, я понял, это имеет смысл :+1:

Однозначно pr-welcome, если кто-то захочет попробовать заставить этот компонент темы работать с новой реализацией ‘lazy-videos’ в ядре.

4 лайка

Спасибо ещё раз. Компонент темы Media Overlay из GitHub - davidtaylorhq/discourse-media-overlay-theme · GitHub стал причиной проблемы. Когда я его отключил, Discourse начал работать корректно.

1 лайк