bartv
(Bart )
1
嘿,我正尝试在我的用户个人资料页面上添加一个 Mastodon 个人资料验证链接:
验证
您可以验证自己是个人资料元数据中链接的所有者。为此,链接的网站必须包含一个指向您的 Mastodon 个人资料的链接。该链接必须具有 rel="me" 属性。链接的文本内容无关紧要。这是一个例子:
<a rel="me" href="https://mastodon.social/@BartV">Mastodon</a>
我已分叉了 Clickable Social Icon Links on Profile TC,它可以在用户个人资料页面上正常显示 Mastodon 链接,但由于它被渲染为 Handlebars 模板,因此在“html/无javascript”版本中不可见,Mastodon 爬虫也看不到它。
我注意到 HTML 版本有以下部分:
<div class="user-crawler">
<img src='https://blenderartists.org/user_avatar/blenderartists.org/bartv/45/529382_2.png' alt='bartv' title='bartv' />
<h2 class='username'>bartv</h2>
是否可以从主题组件向此部分添加一条带有必需链接的行?
2 个赞
pfaffman
(Jay Pfaffman)
2
只需将其添加到页脚,也许。如果您不想显示它,可以添加 CSS 来隐藏该 div。
bartv
(Bart )
3
啊,我没解释清楚:用户可以在自定义字段中输入他们的 Mastodon URL,我想在他们论坛的个人资料页面上添加一个指向他们个人资料的链接。
1 个赞
Jagster
(Jakke Lehtonen)
4
基本上,您的建议是每个网站都可以验证其所有用户。因此,因为我在 mastodontti.fi 上有一个帐户,所以我可以在那里为我的个人资料添加标签并获得验证。
嗯……这并不是 Mastodon 验证方式背后的确切想法。
bartv
(Bart )
5
不完全是,它只说明你在另一个网站上也是那个人,仅此而已。GitHub 也在准备类似的东西。
不过,我来这里不是为了争论这个,只是想找到我问题的解决方案 
Jagster
(Jakke Lehtonen)
6
无需使用 CSS。它只是一个链接,所以 <a> rel="me" ... </a> 就足够了。
bartv
(Bart )
7
那个东西
是的,但它需要可被爬虫访问。Ember/Handlebars 脚本将无法工作,因为它们是由 Javascript 渲染的。
Jagster
(Jakke Lehtonen)
8
你没有抓住重点。然后你可以使用任何公共的 Mastodon 服务器。而且你对某个网站的用户定义相当宽泛。
你在争论,因为这决定了你的解决方案是否正确。
它就是可访问的。当 A 标签的开始和结束之间是空值或 null 时,它就能正常工作,不会向访问者显示,也不需要另一个 CSS 规则。
bartv
(Bart )
9
抱歉,事实并非如此。请查看我个人资料页面上此处的 Mastodon 图标下方的链接:
如果您检查元素,您会看到 rel=“me” 代码,但如果您查看页面源代码,或者使用 wget 或类似工具加载页面,它就不会在那里,因为它是在客户端生成的。爬虫看不到该代码。
bartv
(Bart )
11
我知道我可以在页面页脚添加 HTML 来仅验证我自己,但我想让我的用户能够将他们的 Mastodon URL 作为自定义字段输入,将其显示在他们的个人资料页面上,并以此来验证他们。
2 个赞
simon
12
为了确保我们有相同的理解,您是否试图让您的用户通过您的 Discourse 站点在 Mastodon 上进行身份验证,方法与此处概述的类似:https://opensource.com/article/22/11/verified-mastodon-website?
如果是这样,也许提示用户将链接添加到常规帖子或其简介中会起作用。其中任何一个都会显示在站点的爬虫视图中。我认为无法从主题组件覆盖爬虫模板:Header Submenus - #134 by awesomerobot
我遇到的问题是 Discourse 会自动删除链接中的 rel="me" 属性。除非有解决此问题的方法,否则可能需要通过插件将该属性添加到 AllowLister。我对 Discourse/Mastodon 集成不太了解,但这可能对其他网站有用。
1 个赞
pfaffman
(Jay Pfaffman)
13
啊。那不一样。
我想如果你将其设置为在个人资料页面上显示(以便在页面上可用),那么你可以使用一个主题组件将其添加到某个插件出口,然后添加一些 CSS 来隐藏它的默认显示。
这就是我所知道的,在不打开编辑器并查看现有代码的情况下。但也许这足以给你一些提示。
bartv
(Bart )
15
但我认为主题组件始终是在客户端渲染的,并且它们的输出对爬虫不可见。我暂时搁置这个想法,它快把我逼疯了 
pfaffman
(Jay Pfaffman)
16
哦!抱歉。我一次无法关注所有这些。是的。您需要插件才能将其添加到非javascript版本中,因此您需要覆盖rails模板,我猜。
1 个赞