BitBucket仓库README中特定Terraform图片无法显示的原因
问题原因分析
GitHub和BitBucket的Markdown渲染逻辑存在以下差异,导致图片无法正常显示:
相对路径解析规则不同
GitHub对HTML<img>标签的相对路径兼容性很高,直接写images/terraform.png就能正确定位仓库内的图片文件。但BitBucket的HTML标签路径解析更严格,它可能无法识别这种不带根路径标识的相对地址,需要明确加上./前缀(比如./images/terraform.png),或者要求使用基于仓库的绝对raw地址才能加载。反观Markdown原生图片语法(),BitBucket反而能正常解析相对路径。HTML属性支持限制
你使用的align="right"是老旧的HTML属性,BitBucket的渲染引擎可能不支持该属性,甚至会过滤掉这类非标准属性,导致图片既无法右对齐也可能加载异常。而GitHub对这类旧属性的兼容性更好,能正常识别并渲染样式。渲染引擎底层差异
GitHub采用自家的GFM(GitHub Flavored Markdown)引擎,对HTML标签的嵌入支持更宽松;BitBucket使用Atlassian的渲染器,为了安全和规范,会对HTML代码做更多过滤和限制,部分HTML语法会被修改或忽略。
可行解决方案
- 改用Markdown原生图片语法,配合HTML容器实现右对齐:
<div align="right">  </div>
BitBucket对这种混合写法的兼容性更好,既能正确加载图片,也能实现右对齐效果。
- 替换为BitBucket的raw文件绝对路径:
把<img>标签的src替换为图片在BitBucket上的raw地址,格式类似:
<img align="right" width="60" height="60" src="https://bitbucket.org/你的用户名/仓库名/raw/分支名/images/terraform.png">
内容的提问来源于stack exchange,提问作者R. Barrett
相关产品推荐
相关产品推荐

