Привет! Я пытаюсь добавить ссылку для верификации профиля Mastodon на страницы профиля пользователя:
Верификация
Вы можете подтвердить, что являетесь владельцем ссылок в метаданных вашего профиля. Для этого на связанном сайте должна быть ссылка обратно на ваш профиль Mastodon. Обратная ссылка должна иметь атрибут rel="me". Текст ссылки не имеет значения. Вот пример:
Я форкнул тему с Clickable Social Icon Links on Profile, и ссылка на Mastodon корректно отображается на страницах профиля пользователя. Однако, поскольку она рендерится как шаблон Handlebars, она не видна в версии «HTML/без JavaScript», и краулер Mastodon её не увидит.
Ах, я плохо объяснился: пользователи могут вводить свой URL Mastodon как пользовательское поле, и я хотел бы добавить для них личную ссылку на их профили на моём форуме.
По сути, вы предлагаете, чтобы каждый сайт мог верифицировать всех своих пользователей. То есть, если у меня есть аккаунт на mastodontti.fi, я могу добавить теги в свой профиль и получить верификацию.
Ну… это не совсем идея верификации в стиле Mastodon.
Вы упускаете суть. Тогда для этого можно было бы использовать любой публичный сервер Mastodon. Кроме того, вы используете довольно широкое определение пользователя какого-либо сайта.
Да, вы спорите, потому что от этого зависит, верно ли ваше решение.
И оно доступно. Когда между открывающим и закрывающим тегом A пусто или значение nil, всё работает отлично: это не отображается посетителям и не требует дополнительного правила CSS.
Если вы проверите элемент, то увидите код rel=“me”, но если вы откроете исходный код страницы или загрузите её с помощью wget или подобного инструмента, этого кода там не будет, так как он генерируется на стороне клиента. Краулер не увидит этот код.
Я знаю, что могу добавить HTML в подвал страницы, чтобы подтвердить только себя, но я хочу, чтобы мои пользователи могли вводить свой URL Mastodon в виде пользовательского поля, чтобы он отображался на их страницах профиля и использовался ими для подтверждения своей личности.
Чтобы убедиться, что мы говорим об одном и том же, вы пытаетесь позволить пользователям подтверждать свои аккаунты в Mastodon через ваш сайт на Discourse, действуя аналогично описанному здесь: Get verified on Mastodon with your website | Opensource.com?
Если да, то, возможно, стоит предложить пользователям добавить ссылку либо в обычное сообщение, либо в раздел «О себе». В любом из этих случаев ссылка будет видна при сканировании сайта поисковыми ботами. Я не думаю, что можно переопределить шаблон для бота через компонент темы: Header Submenus - #134 by awesomerobot.
Проблема, с которой я столкнулся, заключается в том, что Discourse автоматически удаляет атрибут rel="me" из ссылок. Если нет обходного пути, этот атрибут, возможно, придётся добавлять в AllowLister через плагин. Я не глубоко погружён в интеграцию Discourse и Mastodon, но это может быть полезно и для других сайтов.
По-моему, если у вас включена настройка отображения на странице профиля (так что оно будет доступно на странице), вы можете добавить тему-компонент в какой-то плагин outlet, а затем добавить CSS, чтобы скрыть его отображение по умолчанию.
Больше я не знаю, не открыв редактор и не посмотрев существующий код. Но, возможно, этого достаточно как подсказки.
Я сделал это, но проблема остаётся: (как я понимаю) компоненты темы всегда рендерятся на стороне клиента, и их вывод не будет виден поисковым роботам. Пока отложу эту идею, она сводит меня с ума
Ой! Извините. Я не мог одновременно уделить внимание всему этому. Да. Вам понадобится плагин, чтобы добавить это в версию без JavaScript, так что, полагаю, вам нужно будет переопределить шаблон Rails.