Блог посадочных страниц 🛩

Используя последнюю стабильную версию Discourse (3.2.x) вместе с обновлённой версией компонентов Landing Pages (плагин, страницы блога и тема блога), мне удалось воспроизвести только проблемы с фоновым изображением и размером контейнера поста. Я внесу небольшое обновление в тему, как только смогу, но эти проблемы легко исправить, если вы захотите сделать это в своём форке.

При использовании настроек по умолчанию в чистой установке кнопки «Посты»/«Подписаться» находятся внизу страницы и обе работают корректно; пути в мобильной версии ведут себя так же, как в десктопной, и я не могу подтвердить никаких проблем с датами постов, за исключением «последнего обновления», которое меняется после настройки категории блога (все посты в этой категории получают тег «пост блога»).

Гамбургер-меню в мобильной версии будет пустым, пока вы не настроите что-либо в разделе «Меню» настроек Landing Pages. Возможно, я обновлю код, чтобы полностью скрывать его в такой ситуации и упростить интерфейс.

Только что зашел в ваш блог и быстро исправил несколько вещей:

  • Что касается неработающей кнопки, похоже, у вас включены строгие настройки политики безопасности контента (CSP), и необходимые скрипты не загружаются.

  • Что касается ссылок, я только что зашел на ваш сайт через Firefox на телефоне Android, и никаких проблем не возникло. Возможно, дело в другой конфигурации вашего браузера или установке Discourse?

  • Что касается исправлений CSS, есть много вариантов. Например, для фоновой картинки вы можете установить background: no-repeat center/cover fixed; в классе .title-container внутри файла common.scss, а для «малого контейнера» в постах можно добавить min-width: 100%; в класс .post-content в том же файле.

  • Что касается настройки меню, в настоящее время единственный способ его добавить — через глобальный файл pages.json, как указано в документации, но информации об этом не так много. Однако вы можете посмотреть пример в репозитории pavilion-landing-pages.

Привет! Так вот, в том видео, которое ты записал, прямые ссылки работают нормально. Но если я захожу на главную страницу блога, а затем кликаю по заголовку блога, появляется ошибка «Страница не найдена». Прямые ссылки работают, но у никого их не будет под рукой, и это явно не вариант.

Я прямо сейчас попробую эти исправления CSS и отредактирую это сообщение или отвечу снова с результатами, спасибо!

Очень-очень интересное наблюдение насчёт политики Content-Security Policy… Я даже не помню, чтобы делал что-то с этим. Хм. Как мне это исправить?

РЕДАКТИРОВАНО: Исправил кнопку «Подписаться», отключив content security policy в настройках. Но есть ли способ оставить её включённой, но чтобы кнопка всё равно работала? Может, сделать так, чтобы кнопка работала иначе и не вызывала этого?

Насчёт настроек CSP не знаю, извините. Что касается видео, то примерно на 26–27 секунде я делаю именно это (кликаю по заголовку блога на главной странице блога), и всё работает нормально, поэтому не уверен, как ещё протестировать это с моей стороны.

Отредактировал свой предыдущий пост, чтобы добавить: «Кнопка „Подписаться

В дополнение к моему предыдущему ответу, @cabidop, мой партнёр несколько часов внимательно изучал страницу блога и тему, так как я хотел получить мнение обычного человека, не связанного с технологиями, о настройках по умолчанию. Решил упомянуть здесь эти замечания, на случай если вы захотите учесть их в доработке блога:

— Когда пользователь не авторизован, кнопка «Подписаться» на главной странице блога должна возвращать его на эту же страницу после того, как он нажмёт «Подписаться» и создаст учётную запись на сайте.

  • Лично я даже не заметил, что всё работает именно так, но если гость нажмёт «Подписаться», его перенаправят на страницу регистрации форума. После создания учётной записи он остаётся на страницах форума и не понимает, куда теперь делась страница блога. Более того, когда он возвращается на главную страницу блога уже с авторизацией, подписки всё ещё нет, и кнопку приходится нажимать снова.

— Получать подтверждающее письмо о том, что подписка действительно оформлена.

  • В текущей версии нет подтверждения подписки по электронной почте — только небольшое всплывающее уведомление в окне подписки.

— После подписки кнопка должна либо полностью исчезать при авторизованном пользователе, либо менять текст на «Подписано», а не оставаться «Подписаться» на компьютере. Кроме того, кнопки не должны оставаться зафиксированными на экране при прокрутке, то есть исчезать при прокрутке.

— Большое фоновое изображение в заголовке страницы постов блога не отображается на мобильных устройствах. Оно либо едва видно, либо вообще не показывается (см. скриншоты ниже: десктоп против мобильного):

Мне кажется, что эти изменения были бы очень полезны даже для стандартных настроек «из коробки».

Спасибо за обратную связь, @45thj5ej. Возможно, я внедрю некоторые из ваших предложений в качестве настроек по умолчанию в будущем. Не уверен, решили ли вы уже проблему с CSP, но, похоже, существует опция content security policy script src, которая может подойти для вашего случая без полного отключения функции (хотя я не до конца уверен в этом).

Что касается того, что тема не работает на других страницах, это ожидаемое поведение из-за использования классов .blog и .blog-post в стилях. Каждая целевая страница добавляет свой слаг в качестве HTML-класса к тегу body, поэтому, пока CSS-стили применяются только к этим классам, они будут влиять исключительно на страницы «Блог» и «Запись блога» соответственно.

Что касается остальных комментариев и проблем, я лишь повторю сказанное в другой теме: важно учитывать специфику вашего случая, так как это скорее общие вопросы по CSS, а не реальные ошибки в компоненте. Тем не менее, возможно, я со временем займусь ими (но не рассчитывайте на это).

1 лайк

Привет, тут довольно серьёзная проблема…
Я настроил Nginx на перенаправление mysite.com на https://forums.mysite.com/home и прописал A-запись DNS у моего провайдера домена (так как хочу, чтобы это была главная страница сайта).

Заметил кое-что странное. Если зайти на статью блога через перенаправление (то есть, так будет происходить у всех, кто заходит на мой сайт), то в URL добавляется второй /home. Однако, если зайти на главную страницу блога напрямую по адресу https://forums.mysite.com/home, такого не происходит.

Есть ли способ исправить это как можно скорее? Если вы подскажете как, я всё сделаю сам. Это отдельная проблема от похожей ситуации, которая на днях случалась только на мобильных устройствах. И, конечно же, ссылка отображается с удвоением при наведении курсора на главной странице блога, например:
https://forums.mysite.com/home/home/blog-test-one-million

Но, повторюсь, если заходить по адресу напрямую, а не через перенаправление, всё работает отлично.

Можете ли вы проверить, возникает ли проблема «двойного пути» только на странице блога, на любой посадочной странице или на любой странице Discourse (например, /latest)?

Только главная/посадочная страница блога, где вы нажимаете на заголовки постов.

.

РЕДАКТИРОВАНИЕ: ИГНОРИРУЙТЕ НИЖЕПРИВЕДЁННОЕ. ИСПРАВЛЕНИЕ ЗАКЛЮЧАЛОСЬ В СЛЕДУЮЩЕМ:
Закомментировать одну строку ниже в файле common.scss в теме блога, примерно на строке 172:

body.blog {
/*   padding-top: 8em; */

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

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

.landing-header {
display:none
}

всё равно остаётся большой зазор сверху. Как можно убрать этот зазор?

@angus Это всё ещё работает? Это выглядит как идеальное решение для меня.

@cabidop и @merefield в последнее время поддерживают плагин для целевых страниц, поэтому лучше всего обратиться к ним.

1 лайк

@merefield Поддерживается ли это в текущей версии Discourse?

Не знаю. Я не знаком с расширением для блогов. Я его не использую.

Может, покажете сообщение об ошибке?

Ошибки нет, я просто хотел узнать, совместимо ли это всё ещё.

Привет, @NateDhaliwal, я знаю, что ответ немного запоздал, но с расширением блока не должно быть никаких проблем (дай знать, если иначе).

2 лайка