改进 Steem 站内链接引用格式 // Improve Internal Link Format on Steem

in #cn7 years ago (edited)

Steem 作为一个开放的区块链社交平台,拥有多个使用界面,仅中文社群就存在 Steemit、Busy 及 CNSteem 等多个广为使用的网页界面。如此的开放性同时也带来了使用者的不便:

作为文字社交平台,难免会遇到有站内引用需求的情形。

作者引用纠错

和 Twitter、微博等当代主流社交媒体一样,对其他用户的提及可以直接通过 @用户名 进行,例如 @momok 即可直接对我进行提及。然而,我注意到一些对社交媒体并不熟悉的用户会使用并不正确的形式进行提及,例如 [@momok](https://steemit.com/@momok)

对比一下就可以发现这样的用法为什么不好:

源码结果
@momok@momok
[@momok](https://steemit.com/@momok)@momok

尽管显示效果一样,但是多加比较就会发现弊端:

  • 最显而易见的,采用错误用法在写作时会平白增加许多复制、粘贴的麻烦。
  • 正确用法产生的结果在不同 Steem 界面中可以直接跳转至该网站的用户页面,而错误用法的结果永远跳转至你所用链接的网站(在这里就是 Steemit),这会给读者带来诸多不必要的麻烦。

综合这两点,我建议所有人停止使用不正确的用户提及方法。

文章引用改进

可惜的是,与用户提及不同,当遇到需要在文章内引用 Steem 上其他文章链接的情形时,系统并没有提供较好的解决办法,所以我们只能靠上一节那样的错误办法一样手动解决,比方说

[《买书要趁早》](https://steemit.com/cn/@momok/fcc6f)

可是这样一来,必然会导致上述错误用法中「永远跳转至你所用链接的网站」的弊端。

为了解决这个问题,Busy 在最近一次的功能更新中增加了 Rewrite links 的功能,也就是将文中所有指向 Steemit 的链接替换为对应的 Busy 链接。

Rewrite links

如果你发现我上文的举例和我描述的效果并不一样,那很可能就是这样的替换功能起作用了。(CNSteem 似乎默认开启了地址替换。)这样的功能固然皆大欢喜,可是目前并不是所有第三方界面都提供了这样的功能。幸运的是,我们可以发现同一篇文章在各网站中的相对 URL 是固定不变的:

https://steemit.com/steemit/@momok/downvote
https://busy.org/steemit/@momok/downvote
https://cnsteem.com/steemit/@momok/downvote
https://steemkr.com/steemit/@momok/downvote

他们的相对 URL 都是 /steemit/@momok/downvote,所以如果我们直接将今后的站内文章引用链接全部更换为相对 URL,就可以轻松解决读者所用界面和作者不同的尴尬。

一样做个对比:

源码结果
[《买书要趁早》](https://steemit.com/cn/@momok/fcc6f)《买书要趁早》
[《买书要趁早》](/cn/@momok/fcc6f)《买书要趁早》

可以发现使用相对 URL 的结果是在不同网站都可以跳转至该网站对应的页面,而不需要网站方面做出任何 rewrite 支持。

所以我呼吁 CN 区用户,请使用相对 URL 进行站内文章链接。


As an open social platform based on blockchain technology, we can use Steem on various website interface. Even in the Chinese community, there are many popular interface application like Steemit, Busy, and CNSteem. The opening also brings some trouble.

As an article social platform, you can hardly avoid the situation that needs to link to another user or post on Steem.

Correct way to mention people

Like Twitter, Weibo, and many other social networks, you can mention any other users by @username. But sometimes I can see some people in CN topic unfamiliar to social networks use that in a wrong way, like [@momok](https://steemit.com/@momok).

Compare that and you can see why @username is better:

SourceResult
@momok@momok
[@momok](https://steemit.com/@momok)@momok

Although the results seem to be the same, compare them carefully and you can see the problems:

  • Obviously, the wrong way is more complicated than the right way.
  • And the result of @momok can lead you to the user profile on the current website, while the wrong result will always bring you to Steemit.

So, I advise everyone to stop mention others in the wrong way.

Better way to link other posts

Unfortunately, different from mention, the system didn't give us a good way to link other posts on Steem. So we can only make links manually like the wrong way in the last section, like:

[《买书要趁早》](https://steemit.com/cn/@momok/fcc6f)

But this will also make the problem of "always bring you to Steemit". Luckily, Busy introduced a Rewrite links function in the latest update, this can replace Steemit.com links in posts with Busy.org links for better UX.

Rewrite links

This function is so good, but not every web interface provided this feature. What makes us happy is that you can find the relative URL of a post on different web interface is the same:

https://steemit.com/steemit/@momok/downvote
https://busy.org/steemit/@momok/downvote
https://cnsteem.com/steemit/@momok/downvote
https://steemkr.com/steemit/@momok/downvote

You can find all these URLs have a same relative URL /steemit/@momok/downvote. If we use the relative URL in later internal links, we can solve the problem of different web interface between author and reader.

Compare it as well:

SourceResult
[《买书要趁早》](https://steemit.com/cn/@momok/fcc6f)《买书要趁早》
[《买书要趁早》](/cn/@momok/fcc6f)《买书要趁早》

You can see the result of relative URL can link you to the corresponding page of the current interface, it doesn't need any support for link rewrite.

So I appeal to everyone to use relative URL for internal post link.

Sort: