在GitLab风格的降价中创建外部链接

在GitLab风格的降价中创建外部链接,gitlab,Gitlab,在GitLab风格的Markdown中是否有链接到外部文件(非http url)的链接 e、 g.HTML等价物应为 e、 g.MediaWiki的等价物应为[[file:///my/file/path 链接文本]] 正常的标记超链接语法应该有效:[文件描述](file:///test/location/file)文件://协议不包括在中gitlab引用的中 您可以在gitlab安装中手动编辑embedded/service/gitlab rails/lib/gitlab/markdown.r

在GitLab风格的Markdown中是否有链接到外部文件(非http url)的链接

  • e、 g.HTML等价物应为
  • e、 g.MediaWiki的等价物应为
    [[file:///my/file/path 链接文本]]

正常的标记超链接语法应该有效:
[文件描述](file:///test/location/file)

文件://协议不包括在中gitlab引用的中

您可以在gitlab安装中手动编辑
embedded/service/gitlab rails/lib/gitlab/markdown.rb
,将协议添加到白名单中,然后重新启动gitlab以应用更改(只需插入带有前导
+
的行):

但这可能不是最好的主意,因为在升级gitlab安装时,它会偶尔引起麻烦


如果客户端没有额外的配置步骤或插件安装,所需的
文件://
链接仍将无法按预期打开(请参阅)。

我对此运气不佳。它将其视为相对url,例如
http://myBaseUrl:9090/software/proj/blob/master/file:///test/location/file
在MediaWiki中,默认情况下文件链接被显式禁用()。我打赌GitLab降价也是如此。嗯,我没能找到任何这样的效果。事实上,谷歌搜索“gitlab markdown enable file link extension”时返回的最相关的内容是这个页面:(@GeoffI应该注意,我试图添加的文件路径不是相对于web目录的,而是完全绝对路径(主要在其他计算机上的共享上)GitLab使用的似乎过滤掉了任何文件://links/不受支持的锚定方案。这实际上真的清除了它。我想知道他们是否会接受一个拉取请求,修改该请求…从来都不知道Chrome不会链接到本地文件链接。在我读到这些之前,我打算尝试一下。我认为我无法说服我办公室的人都安装Brownser分机:)非常感谢您的回答!
  whitelist = HTML::Pipeline::SanitizationFilter::WHITELIST
  whitelist[:attributes][:all].push('class', 'id')
  whitelist[:elements].push('span')
+ whitelist[:protocols]['a']['href'] = ['file'].concat(whitelist[:protocols]['a']['href'])

  # Remove the rel attribute that the sanitize gem adds, and remove the
  # href attribute if it contains inline javascript