我知道徽章在 Repology 上被广泛使用,以下面 SWI-Prolog 的例子为例: MSYS2 mingw 包
最近,我在 IBM 的 neuro-vector-symbolic architectures 的 GitHub 存储库中偶然发现了一个 DOI 徽章:。对于那些阅读大量研究论文的人来说,DOI 非常重要,可以通过 DOI 网站 找到,但 Markdown 徽章可以节省查找步骤。
我让 ChatGPT 解释了这个特定的 DOI 徽章,因为我想了解更多。ChatGPT 的回答如下:
此 Markdown 创建了一个带有 DOI(数字对象标识符)链接的徽章,指向托管在 Zenodo(一个研究数据存储库)上的特定资源。
用于创建徽章的语法如下:
[](https://zenodo.org/badge/latestdoi/587315616)该徽章由一个图像(在本例中为 SVG 图像)组成,并带有指向该资源最新 DOI 的超链接。
![DOI]语法指定图像将用于表示 DOI,而https://zenodo.org/badge/587315616.svg链接是图像文件本身的 URL。Markdown 的第二部分https://zenodo.org/badge/latestdoi/587315616是图像被点击时会跳转到的超链接,即指定资源的最新版本 DOI。总之,此 Markdown 有助于指示研究资源是否存在 DOI,并可以嵌入到文档、网页或其他在线资源中。
这让我发现了 GitHub 上的 a11y-markdown-badges 存储库,其中有更多徽章示例。我还通过搜索“在线 Markdown 徽章生成器”找到了几个在线 Markdown 徽章生成器。现在我知道徽章可以更通用,既可以作为链接,也可以作为文本或图标的简短形式,我会留意其他的,并计划在我的 Discourse 帖子中使用它们。
这是 Chrome 显示的页面。

以及 Discourse 中显示的 Markdown 徽章
保存前 Discourse 编辑预览(右侧面板)的图像捕获

请参阅下一节了解类似/相同的问题。
我在 Discourse 上使用徽章时遇到的一个主要问题是,一旦页面保存,Discourse 就会缓存图像,我认为是在渲染阶段。Repology 中特定版本的徽章会被转换,导致它们不再保持更新。我在创建此 页面 时了解到这一点。我的希望是,在 SWI-Prolog 论坛的 Discourse 页面上发布所有徽章,并且徽章会根据徽章链接的变化而变化,从而生成徽章。![]()
编辑
在对我的问题进行更多研究后
- 与此相关的站点设置可以通过搜索
download、hotlink、image或local来找到。 - 对于具有
admin访问权限的用户,Rebuild HTML可能会有效。目前我还不打算创建测试数据,只会等几周让徽章发生变化,然后进行检查。
这很有用,我会到处使用它们 ![]()
这是“ChatGPT 会让事情变得更糟”专栏中的一个绝佳示例。
具体来说:
- “
![DOI]语法指定图像将用于表示 DOI”是完全错误的——那是 Markdown 中用于指定图像的语法的一部分——!表示链接(使用常规 Markdown 链接语法)是指向应内联显示的图像文件的 URL。[DOI]部分只是该链接的替代文本。 - “Markdown 的第二部分”实际上并不是第二部分,而是包装了整个“第一部分”——包括一行中的第一个
[。 - 如果您还不了解 Markdown 的工作原理,最后一句话就具有极大的误导性——它在无法将 Markdown 渲染成某种东西(如 HTML)进行显示的网页或文档中根本没有用处。
总之:ChatGPT 很有趣,但如果您用它来学习,您可能会被误导。而且请不要不加批判地回收它的输出来帮助他人——这基本上是“人工洗白”输出,使其看起来更像是合法的。
我不是用 ChatGPT 来学习新东西的,但如果一个人擅长提示工程并且知道如何验证输出,那么 ChatGPT 就非常有用。
这个 主题 开启了一系列与 SWI-Prolog 相关的 ChatGPT 提示,生成的代码很多要么不起作用,要么需要修正。有时通过非常明确的提示,它也能第一次就生成可用的代码。
