Сегодня я завершил интеграцию системы комментариев Remark42 в этот блог. Процесс оказался интересным и потребовал решения нескольких технических нюансов, о которых стоит рассказать.
Почему Remark42?
Remark42 — это легкий и функциональный движок для комментариев, который не следит за пользователями, поддерживает авторизацию через соцсети и отлично вписывается в концепцию статического сайта.
Трудности перевода (и авторизации)
Сначала всё шло гладко: тема Stack имеет встроенную поддержку Remark42. Однако после включения я столкнулся с тем, что авторизация через GitHub открывала окно, которое тут же закрывалось без результата.
Оказалось, что проблема в Cross-Domain Cookies. Так как сам блог живет на одном домене, а сервер Remark42 на другом, современные браузеры блокируют куки авторизации. Решение нашлось в настройках сервера:
- Установка
AUTH_SAME_SITE=noneдля разрешения передачи кук между доменами. - Настройка
ALLOWED_HOSTSдля явного разрешения запросов с домена блога.
Виджет последних комментариев
Одной из интересных задач стала установка виджета “Последние комментарии” прямо в сайдбар. В теме Stack нет готового виджета для этого, поэтому пришлось:
- Создать новый партиал для виджета.
- Вынести скрипт инициализации Remark42 в глобальный футер, чтобы виджет работал не только на страницах постов, но и на главной.
- Добавить переводы для заголовка виджета.
Теперь в правой колонке (после поиска) вы можете видеть ленту последних обсуждений.
Итог
Блог стал чуточку более живым. Теперь под каждым постом можно оставить свое мнение или задать вопрос. Весь процесс интеграции занял пару вечеров, но результат того стоит!