Markdown 链接到Bitbucket标记中带有空格的文件名

Markdown 链接到Bitbucket标记中带有空格的文件名,markdown,bitbucket,Markdown,Bitbucket,假设我有一个README.md,我想创建一个指向文件名中包含空格的链接,file with spaces.md。我希望能够跳转到文件的源代码 / -- README.md -- File with spaces.md 在检查浏览器中的元素后,我找到了href应该是什么(手动更改,然后单击它将我带到我想要访问的页面): 它会在Bitbucket中生成以下HTML: <a href="/username/repository/src/c0mm1th4sH/File%2520with%25

假设我有一个
README.md
,我想创建一个指向文件名中包含空格的链接,
file with spaces.md
。我希望能够跳转到文件的源代码

/
 -- README.md
 -- File with spaces.md
在检查浏览器中的元素后,我找到了
href
应该是什么(手动更改,然后单击它将我带到我想要访问的页面):

它会在Bitbucket中生成以下HTML:

<a href="/username/repository/src/c0mm1th4sH/File%2520with%2520spaces.md">
<a href="/username/repository/src/c0mm1th4sH/File%2520with%2520spaces.md">
<a href="/username/repository/src/c0mm1th4sH/File%5C%2520with%5C%2520spaces.md">
<a href="" title="File with spaces.md">
我创建的

更新:错误消失了,现在可以工作了。我使用

[Title](/username/repo/Name-file-with-)

而且有效

这似乎对我很有效:将空格替换为
 


替代空间

e、 对于文件名“Hello World.md”,您的降价如下


[link\u caption](/Hello World.md)

不同的降价实现(甚至是这些降价实现的版本)在处理方式上有所不同。我发现以下内容非常有用(在页面完全加载后单击“预览”-这需要一段时间):

摘要如果链接停止工作。。。针对许多不同的实现,显示了五种不同的可能性:

[1](is not) OK,
[2](is%20not) OK,
[3]("is not") OK,
[4]("is%20not") OK,
[5](is\ not) OK.
似乎除了#2之外,所有的方法都在某个地方起作用,但#2似乎在任何地方(或几乎在任何地方)都起作用,而其他方法至少在一种情况下失败

输出:

标记为0.5.2,MD4C 0.2.7,MD4C(严格)0.2.7,标记为0.15.6.0

[1] (不是)正常,2正常,3正常,4正常,[5](是\不是)正常

commonmark.js 0.28.1,将其标记为8.4.2

[1] (不)正常,2正常,3正常,4正常,5正常

Markdown.pl 1.0.1,Python Markdown 2.6.5

1好,2好,3好,4好,5好

Markdown.pl 1.0.2b8

[1] (不是)正常,2正常,3正常,4正常,[5](是\不是)正常

pandoc(严格)2.5

1好,2好,3好,4好,5好

cheapskate 0.1.0.5,Parsedown 1.6.0

[1] (不是)正常,2正常,3正常,4正常,[5](是\不是)正常

pandoc 2.5

1好,2好,3好,4好,5好

lunamark 0.4.0

[1] (不是)正常,2正常,3正常,4正常,[5](是\不是)正常

红地毯3.3.4

1好,2好,3好,4好,5好

rDiscovery 2.1.8

1好,2好,3好,4好,5好

PHP降价1.8.0,PHP降价额外1.8.0

[1] (不是)正常,2正常,3正常,4正常,[5](是\不是)正常

Maruku 0.7.3.beta1,Maruku(启用数学)0.7.3.beta1

1吨)好,2吨,3吨”)好,4吨,5吨)好

多重降价5.1.0

[1] (不)OK,2 OK,[3](“不”)OK,4 OK,[5](是\不是)OK

黑色星期五

1好的, 2好的, [3] (“不是”)好, 4好的, 5好的

kramdown 1.2.0,失谐0.8.3

1好,2好,3好,4好,5好

多重降价6.3.0

1好,2好,3好,4好,5好

s9e\TextFormatter(Fatdown/PHP)

[1] (不)OK,2 OK,[3](“不”)OK,4 OK,[5](是\不是)OK

cebe/降价1.2.0、cebe/降价GFM 1.2.0、cebe/降价额外1.2.0

[1] (不是)正常,2正常,3正常,4正常,[5](是\不是)正常

甘巴斯3.8.90

1好,2好,好,好,5好

决战1.7.4

[1] (不是)正常,2正常,3正常,4正常,[5](是\不是)正常

决战(风味:github)1.7.4

[1] (不)好,, 2好的, 3好的, 4好的, [5] (正常。

根据,链接目标由URL指定。在URL中,空格编码为
+
%20

见:

URL不能包含空格。URL编码通常替换空格 带加号(
+
)或
%20


但是,由于并非所有地方都支持
+
(GitHub、MDX等;请参阅下面的注释),因此最好使用
%20

,实际上,Bitbucket一侧存在一个bug,但是,该bug现在已经修复

假设您的文件名为
file with spaces.md
,并且要显示的文本为
Link
,则以下两种方法之一:


如果您使用的是VS代码,那么有一种简单的方法可以让您获得与在线github以及本地降价评论一起使用的链接

查看我收到的链接以及与浏览器兼容的间隔替换链接

由此
用户登录:JWT和SQLAlchemy/README.md

对此

/User Login:%20JWT%20and%20SQLAlchemy/README.md

这些实现的方式似乎有很大的差异。但是,您的第二个示例似乎工作得最为一致。如果不起作用,那么我会将其作为错误报告。谢谢,我报告了。我还使用示例库更新了我的问题。错误问题已经解决(2017-04-06),因此%20现在可以有效地工作,包括在示例存储库中。您可以相应地更新问题,尽管我建议保留原始问题(不正确)输出,以便读者能够理解您所经历的。@hs谢谢,我提交了一个新的答案,我不想编辑这个问题,因为这会使事情更难理解。错误来来往往,解决方法变得不必要,这是意料之中的,问题在提问时是详细和正确的。除此之外,我不知道不再使用Bitbucket(希望也不会),因此我不想对可能使问题质量比原来更差的问题提交编辑。@hsandt我在问题中添加了一个简短的注释,其中包含一个链接,指向已接受的答案,其中包括简单、直接的解决方案。我希望帮助我不认为对我有用(更新的回购协议)。对VSCode的默认预览也不起作用
对我起作用,但
%20
也起作用,我想我更喜欢后者。
&#
[Title](/username/repo/Name-file-with-)
[Link](File&#32;with&#32;spaces.md)
[1](is not) OK,
[2](is%20not) OK,
[3]("is not") OK,
[4]("is%20not") OK,
[5](is\ not) OK.
* [Link](File with spaces.md)
* [Link](File%20with%20spaces.md)