【发布时间】:2019-08-27 08:45:09
【问题描述】:
背景:我在 GitHub 上有许多存储库,我最近将它们从使用 Travis 转换为用于 CI/CD 的 Azure Pipelines。 Azure 提供了一个徽章,我可以将其放入 repo 的 README.md 以指示构建的状态。到目前为止,一切正常,并且徽章在 GitHub 上正确呈现。
当我尝试使用 pandoc 将 README 转换为 HTML 时,我刚刚发现了一个问题。出于某种原因,它将徽章变成了<embed> 标签而不是<img>,浏览器对此感到窒息。这很重要,因为 repos 是 R 包,当我将它们提交给 CRAN 时,README 会使用 pandoc 转换为 HTML。
这是一个最小的例子。我有 3 个徽章:
- CRAN 包版本
- Azure Pipelines 徽章
- 类似的 Travis 徽章
# Test file
[](https://cran.r-project.org/package=AzureVM)
[](https://asiadatascience.visualstudio.com/AzureR/_build/latest?definitionId=7&branchName=master)
[](https://travis-ci.org/cloudyr/AzureRMR)
如果我运行pandoc test.md --from markdown --output test.html,结果如下。如果我在 Edge 或 Chrome 中打开此文件,Azure 标志无法显示。
<h1 id="test-file">Test file</h1>
<p>
<a href="https://cran.r-project.org/package=AzureVM">
<img src="https://www.r-pkg.org/badges/version/AzureVM" alt="CRAN" /></a>
<a href="https://asiadatascience.visualstudio.com/AzureR/_build/latest?definitionId=7&branchName=master">
<embed src="https://asiadatascience.visualstudio.com/AzureR/_apis/build/status/Azure.AzureVM?branchName=master" /></a>
<a href="https://travis-ci.org/cloudyr/AzureRMR">
<img src="https://travis-ci.org/cloudyr/AzureRMR.svg?branch=master" alt="Travis Build Status" /></a>
</p>
这是由于 Azure Pipelines 或 Pandoc 造成的吗? Azure DevOps 项目是公开的,因此访问它应该没有任何问题。我该如何解决这个问题?
【问题讨论】:
-
您必须对 readme.md 进行 pandoc 吗?如果只是通过 CRAN 检查,您可以将其添加到您的
.Rbuildignore? -
要明确:包已经在 CRAN 上。 CRAN 不检查徽章是否正确呈现,它只关心 pandoc 是否报告错误(它没有)。我也不会省略 README,它是文档的组成部分。
-
我正在检查元素,提供的错误是 404。更多详细信息
Refused to display 'https://asiadatascience.visualstudio.com/AzureR/_apis/build/status/Azure.AzureAuth?branchName=master' in a frame because it set 'X-Frame-Options' to 'sameorigin'.。我不知道这意味着什么,但我敢打赌这是 Azure 问题
标签: r azure-devops markdown azure-pipelines pandoc