【发布时间】:2015-07-10 23:59:57
【问题描述】:
我已经在本地服务器上安装了 Gitlab 以进行评估,对我来说一个关键功能是让 svg 文件在 wiki 中显示为图像。如果我将文件拖到 wiki 编辑器中,它就会工作,它会生成一个如下所示的 url:
在 wiki markdown 中:

页面 html 中的结果:
<img src="http://server/my-group/my-project/uploads/90cdd5d76a05957ab7cf8854c55a38b8/my-diagram.svg" alt="my svg diagram">
为了让它发挥作用,我不得不编辑 /opt/gitlab/embedded/service/gitlab-rails/config/initializers/mime_types.rb 以添加该行:
Mime::Type.register_alias "image/svg+xml", :svg
如果我想将 svg 文件拖到 wiki 中并将其存储在项目的“上传”部分,那就太好了,但是,我真正想做的是显示来自 git 存储库的 svg 图像。 (这样,例如,当 svg 图发生变化时,我不必在 wiki 中寻找它,它只会从 master 分支中获取它)
我发现,例如,这是一个 repo 文件的链接:
http://server/my-group/my-project/raw/master/docsfolder/my-drawing.svg
但是,对于以这种方式引用的 svg 文件,mime 类型似乎是 text/plain,而带有 src 的图像将不会显示。有没有办法让他们image/svg+xml?似乎 mime_types.rb 配置文件不会影响这个“原始”输出。还是有另一种方法可以链接到 repo 文件并获取指定的 mime 类型?
我也尝试过<object type="image/svg+xml" data="... 和<embed type="image/svg+xml" src=" 甚至 iframe,但这些都不起作用。
注意:它确实适用于来自 repo 的 jpg 图像,但不适用于 svg 图像。
【问题讨论】:
标签: ruby-on-rails gitlab