如何在github仓库中的自述文件中添加屏幕截图?


593

是否可以将屏幕快照放置在GitHub存储库中的README文件中?语法是什么?


1
对此的正确解决方案是根据此答案stackoverflow.com/a/11916467/1633251使用相对引用(请参阅带有新github文档链接的注释以了解如何执行此操作)。简短的答案是使用[Read more words!](docs/more_words.md)
David H

2
大多数解决方案建议指向仓库本身。如果您要避免在存储库中使用二进制文件(即使是在建议的单独分支中),又希望将其存储在外部位置,该怎么办?有什么好的做法吗?可能是要点(如果要点可以是二进制或仅是文本,则为IDK)?为项目“ myproject”创建另一个仓库“ myproject-assets”?有没有类似于youtube实际标准的外部热门图片上传网站?
哈维·蒙特罗


Answers:


849

如果您使用Markdown(README.md):

如果您的存储库中有图片,则可以使用相对URL:

![Alt text](/relative/path/to/img.jpg?raw=true "Optional Title")

如果您需要嵌入在其他位置托管的图像,则可以使用完整的URL

![Alt text](http://full/path/to/img.jpg "Optional title")

GitHub建议您在参数中使用相对链接?raw=true以确保正确的分叉存储库点。

raw=true参数存在以确保您链接到的图像将按原样呈现。这意味着将仅链接图像,而不链接该文件的整个GitHub接口。有关更多详细信息,请参见此评论

查看示例:https : //raw.github.com/altercation/solarized/master/README.md

如果您使用SVG,则还需要将sanitize属性设置true?raw=true&sanitize=true。(感谢@EliSherer)

另外,有关README文件中相对链接的文档:https : //help.github.com/articles/relative-links-in-readmes

当然,降价文档:http//daringfireball.net/projects/markdown/syntax

此外,如果您创建一个新分支screenshots来存储图像,则可以避免将它们放入master工作树中

然后,您可以使用以下方法嵌入它们:

![Alt text](/../<branch name>/path/to/image.png?raw=true "Optional Title")

1
好吧,我在相对链接上添加了官方文档,但是我找不到使用它们的回购协议,如果您有建议,我很乐意为您提供帮助,因为整个观点是在帮助更多的人,而不是仅仅停留在范围之内。 (我的错误在这里)。
Paul

2
@Paul,这是一个示例存储库!github.com/Tarrasch/zsh-bd
Tarrasch

4
github.com/altercation/solarized是上面示例的渲染版本,以防万一。
barrycarter

3
当您说时/relative/path/to/img.jpg,由于斜杠不是一个绝对的路径吗?
jww

1
@kelvin,此raw=true参数用于渲染GitHub路径指向的图像,而不是GitHub接口。尝试看看区别:github.com/altercation/solarized/blob/master/img/…github.com/altercation/solarized/blob/master/img/…。第一个URL将显示GitHub界面和图像,第二个URL仅显示图像。相对链接在克隆/分叉存储库时仍然有用,因此,应该使用带有该参数的相对路径,但是它们是两个不同的概念。
保罗

70

即使已经有一个可接受的答案,我还是想添加另一种在GitHub上将图像上传到自述文件的方法。

  • 您需要在回购中创建问题
  • 将您的图片拖放到评论区域
  • 生成图像的链接后,将其插入到您的自述文件中

您可以在此处找到更多详细信息


6
我有兴趣以这种方式加载的图像可以存活多长时间。github是否执行一些图像清理?就像,“如果未从任何github问题引用此图像,我可以放心地删除它” ...
artin

1
@Artin可能仅在问题被完全删除时才使用。封闭的问题永远存在,因为它们在文档和调试中起着非常重要的作用
Andrhamm

55

我发现回购中映像的路径不足,我必须链接到raw.github.com子域上的映像。

网址格式 https://raw.github.com/{USERNAME}/{REPOSITORY}/{BRANCH}/{PATH}

降价示例 ![Settings Window](https://raw.github.com/ryanmaxwell/iArrived/master/Screenshots/Settings.png)


4
由于@sorens对已接受的答案发表了评论,因此对此进行了投票。指定绝对浴很不好,因为它不能在派生存储库中正常工作。(或者,如果您重命名存储库,或者如果github更改了域名等,等等)
LinusUnnebäck2013年

7
@LinusUnnebäck:使用绝对路径恕我直言有一个很好的理由:如果readme.md也用于其他地方,例如,作为Doxygen主页。相对链接将不起作用。
Ela782

1
@ Ela782,但是,进一步注意,对于从GitHub专门提取 README文件的软件来说,这应该不是问题;这样的软件应该知道如何正确解析相对URL。例如,npm做
Mark Amery

如何链接到raw.github.com子域上的图像?在哪里上传图像文件?
赛义夫

@Saif raw.github.com只是对提交给github存储库的内容的反映。只需将映像提交到您的存储库,然后遵循指定的URL格式即可。


21

下面的一行应该是您想要的

如果您的文件在存储库中

![ScreenShot](https://raw.github.com/{username}/{repository}/{branch}/{path})

如果您的文件在其他外部网址中

![ScreenShot](https://{url})

2
建议使用图像文件的相对链接
-Github

2
-1由@ shaobin0604给出的原因;官方文档建议在链接到您自己的存储库中的文件时使用相对链接,以使链接在分叉时指向正确的位置。
Mark Amery

17

用于显示图像的markdown语法确实是:

![image](https://{url})

但:如何提供url

  • 您可能不想用截图来使您的仓库杂乱无章,它们与代码无关
  • 您可能不想处理使图像在Web上可用的麻烦...(将其上传到服务器...)。

所以...您可以使用这个很棒的技巧使github托管您的图像文件。TDLR:

  1. 在您的仓库的问题清单上创建问题
  2. 拖放此问题的屏幕截图
  3. 复制github刚刚为您显示的markdown代码以显示图像
  4. 将其粘贴到您的自述文件(或任何您想要的地方)上

http://solutionoptimist.com/2013/12/28/awesome-github-tricks/


7

比添加URL简单得多。只需将图像上传到同一存储库即可,例如:

![Screenshot](screenshot.png)



4

降价: ![Screenshot](http://url/to/img.png)

  • 创建有关添加图像的问题
  • 通过拖放或文件选择器添加图像
  • 然后复制图像源

  • 现在添加![Screenshot](http://url/to/img.png)到您的README.md文件

做完了!

或者,您可以使用某些图像托管站点,例如,imgur并获取其URL并将其添加到README.md文件中,也可以使用一些静态文件托管。

样本问题


我很久以前就这样做了,现在没有图像。所以我不建议这样做。
Namek

在这种情况下,您始终可以使用imgur或某些自定义图片CDN :)
abe312

4

方法1->降价方式

![Alt Text](https://raw.github.com/{USERNAME}/{REPOSITORY}/{BRANCH}/{PATH})

方法2-> HTML方式

<img src="https://link(format same as above)" width="100" height="100"/>

要么

<img src="https://link" style=" width:100px ; height:100px " />

注意 ->如果您不想样式化图像,即调整大小,请删除样式部分


1

首先,在本地存储库的根目录中创建一个目录(文件夹),其中将包含screenshots要添加的目录。我们称这个目录的名称screenshots。将要添加的图像(JPEG,PNG,GIF等)放入此目录。

Android Studio工作区屏幕截图

其次,您需要在自述文件中添加每个图像的链接。因此,如果我的图片名为,1_ArtistsActivity.png并且2_AlbumsActivity.png在我的屏幕快照目录中,我将添加其链接,如下所示:

 <img src="screenshots/1_ArtistsActivity.png" height="400" alt="Screenshot"/> <img src=“screenshots/2_AlbumsActivity.png" height="400" alt="Screenshot"/>

如果要将每个屏幕截图放在单独的行中,请在单独的行中编写它们的链接。但是,最好将所有链接写在一行中,并仅用空格分隔。它实际上看起来可能不太好,但是通过这样做,GitHub会自动为您安排它们。

最后,提交您的更改并推动它!


1

我在Google上搜索了一些类似的问题,但没有看到关于我的问题及其相当简单/容易解决方案的任何答案。

Google云端存储-自述文件中的图像略有不同的方法

就像OP一样,我想在我的Github README中添加一个图像,然后知道Markdown语法,将其输入:

![My Image](https://storage.cloud.google.com/${MY_BUCKET}/${MY_IMAGE}

您需要完成上面的实际替换(例如MY_IMAGE = image.jpg),此功能才能起作用。

但是,等等...失败-没有实际的渲染照片!链接与Google Storage给出的完全一样!

Github图像上传失败的屏幕截图

Github- camo匿名图片

Github匿名托管您的图片,是的!但是,这为Google存储资产带来了问题。您需要从Google Cloud Console获取生成的网址。

我敢肯定有一种更平滑的方法,但是,只需访问您给定的URL端点并复制长URL。细节:

使用说明

  1. 访问您的存储控制台: https //console.cloud.google.com/storage/browser/ //console.cloud.google.com/storage/browser/ $ {MY_BUCKET}?project = $ {MY_PROJECT}
  2. 单击您要在Github中显示的图像(这将显示“对象详细信息”页面)
  3. 复制该网址的意大利面(以“ httpsnot” 开头的gs到新的浏览器标签/窗口中
  4. 将面食从新的浏览器标签/窗口复制到新生成的URL(应该更长)中,并将其复制到Github自述文件中

希望这有助于加快速度,并为其他人澄清这个问题。


仅供参考-Google或Github方面似乎正在发生变化。通过这种方法,我的自述文件中有一些图像失败,并且到2020年3月28日下午,一些图像仍在工作。YMMV在这里!
Jason R Stevens CFA


0

从上传文件选项在存储库中添加图像,然后在自述文件中添加图像

![Alt text]("enter image url of repositoryhere") 

-5

图像位于/screen-shots目录中。外部<div>允许放置图像。使用可以实现填充<img width="desired-padding" height="0">

<div align="center">
        <img width="45%" src="screen-shots/about.PNG" alt="About screen" title="About screen"</img>
        <img height="0" width="8px">
        <img width="45%" src="screen-shots/list.PNG" alt="List screen" title="List screen"></img>
</div>

1
对于我的一生,我想不出将图像放在README中的中心-您的答案包含其中,所以谢谢!
科迪·赖希特

我发现此答案很有用,因为它使您可以设置图像的尺寸
斯坦利
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.