在gist的Markdown文件中,是否可以使用相对链接引用图像?

139

我有一个包含Markdown文件和图片的要点(gist)。

有没有一种方法可以相对链接到这个图片? 例如像![我的图片](image.png)而不是![我的图片](https://gist.github.com/user/605560c2961cb3025038/raw/b75d2...6e8/img.png)

这里是一个示例

6个回答

229

我的错误是在 ]( 之间有一个空格。 - Uncommon
2
至少对于Github而言,我刚刚发现您不能在文件名中使用空格,否则GitHub无法识别本地图像(虽然我不确定添加引号是否可以解决这个问题)。 - Xiaoyong Zhu
7
这可能适用于普通的Github仓库,但不适用于Gists(https://gist.github.com)。 - Beni Cherniavsky-Paskin
2
如果您要链接的图像相对路径中有特殊字符,请确保进行URL编码。 - felixperreault
2
@XiaoyongZhu,如果您的文件名中有空格,请遵循@felixperreault的建议并对文件名进行URL编码-即用%20替换空格。 - Christian Long
显示剩余3条评论

6
根据http://blog.rodneyrehm.de/archives/35-Including-Data-From-Github.html,使用https://gist.github.com/user/605560c2961cb3025038/raw/b75d2...6e8/img.png存在问题,因为b75d2...6e8部分因文件而异(快速尝试确认它是git blob id)。但是,您可以删除该部分,从而得到指向最新版本的URL。
https://gist.github.com/user/605560c2961cb3025038/raw/img.png

或者拿一个工作示例:
https://gist.githubusercontent.com/cben/46d9536baacb7c5d196c/raw/dodgetocat_v2.png

相对路径?

这也可以作为相对路径 raw/dodgetocat_v2.png
然而(截至2017年底),GitHub可以从两个URL渲染相同的gist:

[更新于2017年12月。现在不再出现原始文件以Content-Type: application/octet-stream形式提供和将图像的src属性重写为camo.githubusercontent.com的问题,至少对于来自同一gist的图像而言。]

不幸的是,我们不能仅使用第一个URL并相信它总是有效。

  • 目前,两种形式都没有返回重定向或提供rel=canonical链接。我不会打赌Github永远不会改变这一点!
  • 所有内部gist链接(例如来自用户页面https://gist.github.com/cben/)都省略了尾随斜杠:-(
  • 在Google搜索结果中,Gists省略了尾随斜杠:-(

(您可以使用相对路径46d9536baacb7c5d196c/raw/dodgetocat_v2.png,该路径只能在没有尾随斜杠的情况下工作,但这也是一个有问题的想法,并且不值得——不比完整URL更灵活。)

使用代理?

两种问题都可以通过代理解决Content-Type,例如Rawgit或Bl.ocks.org(不要滥用Github)。不幸的是,Rawgit无法呈现Markdown,只能按原样提供文件,而Bl.ocks.org确实可以呈现Markdown,但URL结构使得相对链接无法工作。这意味着您可以在Markdown中引用完整的外部URL,也可以在HTML中使用相对路径:-(

请参见https://gist.github.com/cben/46d9536baacb7c5d196c/分叉了你的gist,以及通过以下方式查看其index.html:


虽然不太美观,但您始终可以在Markdown文档的顶部放置硬编码链接,告诉读者要在带有尾随斜杠的链接处查看文档,例如[点击此处以查看带工作图像的文档](https://gist.github.com/user/605560c2961cb3025038/). - Tom Saleeba

3

刚刚测试了一下...

我无法在GitHub Wiki上使用相对URL。我不得不将图片添加到Wiki存储库,然后浏览存储库,让GitHub将其显示给我(以便我可以抓取URL)。然后在Markdown中使用完整的URL。但好在,这些URL很容易预测:https://github.com/*username*/*reponame*/wiki/*imagename.png*

我向GitHub支持提交了此问题。


3

是的,相对链接对我有效。我正在使用pancake.io来托管我的页面。 http://pancake.io/2c8aa8/topics/cpp/cpp.md

该页面上的图片位于cpp文件夹中。

第一张图片使用的是markdown代码:

![C++ Var Types](basic_cpp_var_types.png)

第二张图片所使用的Markdown代码(实际上是HTML)如下:
<div style='float: center'>
  <img style='width: 600px' src="prefixpostfixincrement.png"></img>
</div>

注意:我错过了要点。如果gist不支持markdown相对图像路径语法,请尝试使用html方式。


HTML的方法不起作用。这更多是Gist而不是Markdown的问题。 - alienlebarge

1

1
在我费了好15分钟的脑筋绞尽之后,我意识到:
相对路径到图像是可以工作的,但当你直接从GitHub网页应用程序中编写markdown文件时,图像在预览中不会显示出来。一旦你提交了文件,图像就会如预期地可见。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接