在GitLab Flavored Markdown中创建外部链接

时间:2015-03-11 16:05:03

标签: gitlab

无论如何都要在GitLab Flavored Markdown中链接到外部文件(非http url)?

  • e.g。相当于HTML的是<a href="file:///my/file/path">link text</a>
  • e.g。 MediaWiki等效为[[file:///my/file/path link text]]

2 个答案:

答案 0 :(得分:2)

file://协议未包含在sanitation filter whitelist中gitlab引用的documentation中。

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

  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

但这可能不是最好的主意,因为在升级gitlab安装时会偶尔出现令人头疼的问题。

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

答案 1 :(得分:0)

正常的降价超链接语法应该有效:[file description](file:///test/location/file)