我有一个包含Markdown文件和图片的要点(gist)。
有没有一种方法可以相对链接到这个图片?
例如像![我的图片](image.png)
而不是![我的图片](https://gist.github.com/user/605560c2961cb3025038/raw/b75d2...6e8/img.png)
这里是一个示例
目前为止,相对路径的图片链接在我的代码库和维基页面中都能正常工作。 我使用像这样的语法:
![Kiku](images/Kiku.jpg)
这里是一个例子:
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:
当从 https://gist.github.com/cben/46d9536baacb7c5d196c/(带斜杠)查看时,相对路径会附加,解析为 https://gist.github.com/cben/46d9536baacb7c5d196c/raw/dodgetocat_v2.png — 可以正常工作 :-)
当从 https://gist.github.com/cben/46d9536baacb7c5d196c(没有斜杠)查看时,相对路径会替换URL的最后一部分,解析为 https://gist.github.com/cben/raw/dodgetocat_v2.png — 无法正常工作 :-(
Content-Type: application/octet-stream
形式提供和将图像的src
属性重写为camo.githubusercontent.com
的问题,至少对于来自同一gist的图像而言。]
不幸的是,我们不能仅使用第一个URL并相信它总是有效。
(您可以使用相对路径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:
[点击此处以查看带工作图像的文档](https://gist.github.com/user/605560c2961cb3025038/)
. - Tom Saleeba刚刚测试了一下...
我无法在GitHub Wiki上使用相对URL。我不得不将图片添加到Wiki存储库,然后浏览存储库,让GitHub将其显示给我(以便我可以抓取URL)。然后在Markdown中使用完整的URL。但好在,这些URL很容易预测:https://github.com/*username*/*reponame*/wiki/*imagename.png*
我向GitHub支持提交了此问题。
是的,相对链接对我有效。我正在使用pancake.io来托管我的页面。 http://pancake.io/2c8aa8/topics/cpp/cpp.md
该页面上的图片位于cpp
文件夹中。
第一张图片使用的是markdown代码:
![C++ Var Types](basic_cpp_var_types.png)
<div style='float: center'>
<img style='width: 600px' src="prefixpostfixincrement.png"></img>
</div>
注意:我错过了要点。如果gist不支持markdown相对图像路径语法,请尝试使用html方式。
不,从markdown中使用相对URL链接图片是无效的,所以你必须使用长的静态URL链接。
然而,某些文件的相对URL有效:
]
和(
之间有一个空格。 - Uncommon%20
替换空格。 - Christian Long