在BitBucket Wiki的Markdown中用Gravizo渲染PlantUML图失败求助
调试BitBucket Wiki中Gravizo加载PlantUML图的问题
我之前也碰到过类似的情况,给你整理几个实用的调试步骤和解决方案,应该能帮你搞定:
调试方法
- 验证UML文件的可访问性:把你提供的raw链接复制到匿名浏览器窗口(比如Chrome的隐身模式)打开,看看能不能直接获取UML内容。如果打不开,大概率是BitBucket的权限问题——私有仓库的raw链接需要身份验证,Gravizo没法绕过这个访问私有资源。
- 检查raw链接的正确性:确认链接里的分支名(你用的是
documentation)、文件路径和文件名完全正确。BitBucket的raw链接格式是https://bitbucket.org/<用户名>/<仓库名>/raw/<分支名>/<文件路径>,别写错分支或者文件位置。 - 测试URL编码是否正确:有时候URL编码不全或错误会导致Gravizo无法解析链接。你可以把完整的UML文件raw链接重新编码后替换到Gravizo的URL里,确保所有特殊字符(比如
/、:)都正确转义。 - 直接测试Gravizo解析能力:跳过文件引用,直接把你的PlantUML代码写到Markdown里测试,比如:
如果这个能正常显示,说明问题出在文件访问环节,不是UML代码或Gravizo服务的问题。 - 检查HTTPS/HTTP混合内容问题:浏览器可能会阻止HTTP的Gravizo请求加载到HTTPS的BitBucket页面里。试试把Gravizo的链接改成HTTPS:
https://g.gravizo.com/source?<你的编码后链接>。
解决方案
- 处理私有仓库权限:如果你的仓库是私有的,要么把仓库设为公开(适合非敏感项目),要么给raw链接加上BitBucket的个人访问令牌(PAT),格式变成
https://<你的PAT>@bitbucket.org/hub21dev/scraper-news-server/raw/documentation/whole_process.uml,再编码后放到Gravizo链接里。注意PAT只需要授予仓库读取权限,别泄露令牌。 - 修正raw链接路径:仔细核对分支名、文件目录和文件名,确保没有拼写错误或路径层级错误。比如确认
whole_process.uml确实在documentation分支的根目录下。 - 改用内联PlantUML代码:如果文件引用实在搞不定,直接把UML代码内嵌到Markdown里,就像调试方法里的测试那样,这样绕开了文件访问的权限和路径问题,直接让Gravizo解析代码。
- 切换到HTTPS的Gravizo链接:把原来的
http://g.gravizo.com改成https://g.gravizo.com,避免浏览器的混合内容拦截策略影响图片加载。
内容的提问来源于stack exchange,提问作者DeLac
相关产品推荐
相关产品推荐

