如何在WordPress网站上解除对IndieWeb的神秘感

229 阅读10分钟

嗯,啧啧。我在分享米里亚姆的"我在独立网络上了吗?"时,用一篇短文哀叹我自己在独立网络上遇到的麻烦,从而打开了一个小小的麻烦罐。但这是一个很好的虫子罐子。

我想是在发表那篇短文的第二天,David Shanske主动联系我,提出帮助我了解IndieWeb和它的组成部分。天哪,如果这不是可笑的帮助的话!以至于我想把David在我们谈话后写的一篇新文章链接给你,然后在这里尽可能地总结一下,因为(1)把事情写下来很有帮助,(2)以后有一个参考。

是的,IndieWeb是令人困惑的。

David实际上曾帮助某人用IndieWeb的力量把他们的WordPress网站全部设置好。那个人也在努力理解各个部分是如何结合在一起的。所以,当Miriam和我在写作时,David已经把这个问题放在心上了。

"IndieWeb "对许多人来说是一个新的术语,这也是许多混乱滋生的地方。它是一个框架吗?一种哲学?一套标准?根据它是哪一个,人们对成为它的一部分的期望就会改变。

它是上述所有内容的一种。而这一点需要被巩固一下。一旦你通过这些不同的视角来看待独立网络,它本身并没有什么令人困惑的地方。在阅读了David的帖子之后,我的理解是,IndieWeb更像是一套协议。有点像在标记中使用结构化数据或OpenGraph。本身没有什么需要安装的东西,但有一些标准可以将它们整合到你的工作中。

你的身份为IndieWeb提供动力。换句话说,你的网站建立了你的身份,可以用来做很多事情,比如。

  • 当其他支持IndieWeb的网站被提及时通知它们
  • 当你被提及时,接收来自其他IndieWeb网站的通知
  • 从被提及的地方获取信息,并将其格式化以便展示
  • 通过你自己的网站认证你的身份(类似于谷歌的登录按钮,但与你的网站相连)。
  • ......以及其他一些功能。

如果这听起来有点像pingbacks,好吧,它有点像。但是,它更强大,维护得更多。

在WordPress上实现IndieWeb的功能与静态网站不同(也许更容易)。

最大的区别是,WordPress提供了很多做IndieWeb-y事情所需的要求。我喜欢David的解释。

在WordPress上的IndieWeb实现是一个[系列]构件,你可以选择使用,也可以不使用,这就是它的美妙之处,但有时也令人困惑。WordPress有一个决定的哲学,而不是选择。但是IndieWeb是所有关于选项的......关于建立适合你的功能。

这些构件是你安装的插件,用来在WordPress中添加独立网络协议和技术。这些都是现成的,因为这需要大量的工作。不过,运行一个静态网站,你要自己建立大部分的东西。

David的文章100%集中在WordPress的实施上。你的情况可能会有所不同,但你在读完他的文章后,肯定会对哪些协议是可用的以及它们如何结合在一起有一个更好的想法--希望这篇文章也是如此。

IndieWeb WordPress插件建立了你的身份。

我以为它在幕后做了很多事情,但它比这简单得多。

这个插件本身就负责建立你的身份,正如IndieWeb所认为的那样。它提供了一个H-Card模板和小工具。H-Card是用于标记关于一个人或一个地方的信息的标记。因此,这是许多人选择放在他们的网站上的一个元素。

所以,真的,通过正确标记WordPress主题,也可以得到同样的东西。这里的方便之处在于,你会得到一个方便的小模板,它被标记为支持h-card 的开放格式,还有一个小部件,可以把它放入主题的小部件区域。

这里有一个从Microformats2的文档中提取的h-card 标记的超级详细例子。

<div class="h-card">
  <img class="u-photo" alt="photo of Mitchell"
       src="https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"/>
  <a class="p-name u-url"
     href="http://blog.lizardwrangler.com/" 
    >Mitchell Baker</a>
 (<a class="u-url" 
     href="https://twitter.com/MitchellBaker"
    >@MitchellBaker</a>)
  <span class="p-org">Mozilla Foundation</span>
  <p class="p-note">
    Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.
  </p>
  <span class="p-category">Strategy</span>
  <span class="p-category">Leadership</span>
</div>

看到这些类名了吗?像.h-cardu-photop-name 等类都为一个人的身份提供了背景意义,然后被解析为JSON。

{
  "items": [{ 
    "type": ["h-card"],
    "properties": {
      "photo": ["https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"],
      "name": ["Mitchell Baker"],
      "url": [
        "http://blog.lizardwrangler.com/",
        "https://twitter.com/MitchellBaker"
      ],
      "org": ["Mozilla Foundation"],
      "note": ["Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities."],
      "category": [
        "Strategy",
        "Leadership"
      ]
    }
  }]
}

这个插件并不做发送、接收或解析的工作。相反,它为WordPress网站提供了一种在标记中验证你身份的方法。

不是所有的WordPress主题都支持Microformats

如果你像我一样第一次看到 "微格式 "就抓耳挠腮,David很好地定义了它。

[...]微格式...一种标记HTML的方式,允许元素被识别。它是多种方式中的一种,但却是一种非常简单和可读的方式,这就是为什么它在独立网络社区中很受欢迎。

David继续说,问题是许多主题没有以Microformats友好的方式进行标记--这正是Microformats2插件旨在解决的问题。 尽管如此,David很快就指出,该插件在实现这一目标方面是非常有限的,他建议改用手工标记主题。

据大卫说,Webmention插件的下一个主要版本可能会包括更智能的方法来检测它可以使用的内容和图像,并对它们进行格式化以支持Microformats2。

Webmentions发送和接收通知。

好的,所以如果你已经通过你的网站建立了你的身份,所以你是可以被发现的,而且你的网站被标记为使用Microformats2支持h-card 。很好!你仍然需要有一些东西在中间作为操作员工作,发送和接收通知。换句话说,当另一个网站提到你时--称为Webmention--提到你的网站需要一种方法来支持向你发送提及,而你的网站需要一种方法来接受它(或者反过来)。

这就是Webmention插件的作用。这可能也是我对IndieWeb的大部分困惑的来源。我以为这是格式化的数据,需要一个额外的服务来发送和接收。没有!没有!没有!没有!没有它实际上是发送和接收数据,而不是创建提及。回到大卫那里。

早在其建立之初,该插件只处理了接收和发送网络提及的业务,而没有在任何程度上处理显示。Semantic Linkbacks(语义链接)是一个单独的插件,它不仅处理网络提及,而且处理旧的pingback和trackback协议。

因此,Webmention插件正在传达通知。与此同时,另一个叫做Semantic Linkbacks的插件则负责处理数据。而Semantic Linkbacks又是什么呢?

Semantic Linkbacks获取和处理数据。

Semantic Linkbacks是另一个处理另一块流程的插件。我没有办法比David已经做的更好地解释它。

Semantic Linkbacks(语义链接)接收一个webmention(即另一个网站已经链接到您的网站上的东西的通知),获取另一个网站,并试图呈现该信息的显示。如何做到这一点,从只是一张个人照片(如果它能找到的话),到把它解释为一个完整的评论,都有可能。

它使用Microformats做这个。

我以为主要的IndieWeb插件已经在做这个了,因为它处理其他标记。但是,它只提供了模板和小工具,以便在您的网站上获得您的身份。一旦Semantic Linkbacks插件获取了传入的网络提及,它就会获取数据,对其进行格式化,然后试图将其显示出来。

听起来,该插件将在某种程度上与即将推出的Webmention插件的版本合并(或被其取代)。

由于许多人不愿意,或者不愿意修改主题,新版本的Webmentions将包括几种不同的替代方法,试图找到一个图片或摘要来显示......从OpenGraph(Facebook和Twitter用来显示提供给它的URL)到检测一个页面的WordPress REST API版本并使用它来获得作者姓名和个人资料图片。它们都不会像Microformats那样提供大量的上下文,但这种体验仍然值得安装。

这当然很好,因为它挖掘了WordPress REST API的JSON响应,并将其格式化以便显示。

Brid.gy是一个帮助显示互动的服务。

Webmention可以是一种互动,例如有人在Twitter上喜欢你的文章或转发它。

需要区分喜欢和转发,以及评论和其他什么,你需要实现Twitter(或其他什么)的API来进行这些区分。

这是你当然可以做的事情但是,如果你想即插即用,IndieWeb社区的一个成员做了一个叫Brid.gy的服务。你创建一个账户,连接你的网站,并向服务提供应用权限......然后你就完成了!"。

Brid.gy所做的基本上是实现了Twitter、Facebook、Instagram等的API,因此,当它检测到这些服务中的帖子与你的辛迪加帖子有互动时,一个Webmention会被发送到你的网站,并在你自己的网站上进行发布。

还有很多

快速点击。

  • IndieAuth这是一个基于OAuth 2的协议。该插件在WordPress的REST API中建立了一个端点,可以用来通过你自己的自我托管的网站验证你的身份--基本上是你自己的谷歌登录按钮,但不需要自己建立这个端点,也不需要依赖一个单独的托管API。
  • Micropub对于那些使用WordPress但喜欢不同编辑器的人可以安装Micropub插件。这增加了一个端点,允许你将内容发布到你的网站,并使用Micropub支持的编辑器在Microformats2 feed中创建项目,给你在WordPress Block Editor之外编写内容的更多选择。
  • 简单的位置。 David写了这个插件,当他为我演示的时候,我印象非常深刻。它的想法是,它从你当前的位置拉取数据,可以用来做任何事情,从显示你写文章时的天气,到在一个基于文章位置的嵌入式地图上创建整个文章档案。说实话,我很想看到像这样的东西被直接植入WordPress。

更新的流程

在我的上一篇文章中,我试图做一个概述各个部分的插图,但让我们再试一次,对正在发生的事情有一个更新的理解。

Outlining the flow between an IndieWeb enabled site and a site that mentions it.

(全尺寸)

这一切有意义吗?

向David击掌,感谢他伸出援手并花时间向我展示在WordPress上实现IndieWeb是什么样子。我不能说我完全理解所有的细微差别,但我至少觉得我对实现它所需的部分--哲学、协议和技术--有了相当的把握。

我想把它转给你!这是否有助于澄清你的事情?有什么是你难以理解的吗?你认为你现在能够配置一个具有IndieWeb功能的WordPress网站吗?让我们在评论中讨论一下吧