Link 到 Bitbucket Markdown 中带空格的文件名
Link to filenames with spaces in Bitbucket Markdown
假设我有一个 README.md
,我想创建一个 link 到名称中包含空格的文件 file with spaces.md
。我希望能够跳转到文件的源代码。
/
-- README.md
-- File with spaces.md
在浏览器中检查元素后,我想出了 href
应该是什么(手动更改它,然后单击它使我进入我想要访问的页面):
<a href="username/repository/src/c0mm1th4sH/File%20with%20%spaces.md">
很遗憾,我无法做到这一点。到目前为止我尝试过的一些事情:
[Link](File with spaces.md)
[Link](File%20with%20spaces.md)
[Link](File\ with\ spaces.md)
[Link]("File with spaces.md")
它在 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">
你可以玩我创造的example repository。
更新:bug 消失了,所以 现在可以工作了。
我用
[Title](/username/repo/Name-file-with-)
并且有效!
这似乎对我很有效:将 space 替换为  
。
[Link](File with spaces.md)
用 - 代替空格
例如,对于文件名 'Hello World.md',您的降价将如下所示
[link_caption](./Hello-World.md)
不同的 Markdown 实现(甚至是这些的版本)在处理这些问题的方式上有所不同。我发现以下信息非常有用(在页面完全加载后单击 "preview" - 这需要一段时间):
总结如果 link 停止工作...针对许多不同的实现显示了五种不同的可能性:
[1](is not) OK,
[2](is%20not) OK,
[3]("is not") OK,
[4]("is%20not") OK,
[5](is\ not) OK.
似乎所有的地方都有效,但 #2 似乎在任何地方(或几乎所有地方)都有效,并且每个其他选项至少在一种情况下失败。
输出:
标记 0.5.2,MD4C 0.2.7,MD4C(严格)0.2.7,标记 0.15.6.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
commonmark.js 0.28.1, markdown-it 8.4.2
[1](不是)OK, 2 OK, 3 OK, 4 OK, 5 OK.
Markdown.pl 1.0.1,Python-Markdown 2.6.5
1个好,2个好,3个好,4个好,5个好。
Markdown.pl 1.0.2b8
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
pandoc(严格)2.5
1个好,2个好,3个好,4个好,5个好。
cheapskate 0.1.0.5,Parsedown 1.6.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
pandoc 2.5
1个好,2个好,3个好,4个好,5个好。
月球标记 0.4.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
红地毯 3.3.4
1个好,2个好,3个好,4个好,5个好。
RDiscount 2.1.8
1个好,2个好,3个好,4个好,5个好。
PHP Markdown 1.8.0,PHP Markdown Extra 1.8.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
Maruku 0.7.3.beta1,Maruku(支持数学)0.7.3.beta1
1ot) OK, 2 OK, 3ot“) OK, 4 OK, 5ot) OK.
MultiMarkdown 5.1.0
[1](不是)OK,2 OK,[3](“不是”)OK,4 OK,[5](不是)OK。
黑色星期五
1 好的,
2 好的,
[3](“不是”)好的,
4 好的,
5 好。
kramdown 1.2.0, mistune 0.8.3
1个好,2个好,3个好,4个好,5个好。
MultiMarkdown 6 6.3.0
1个好,2个好,3个好,4个好,5个好。
s9e\TextFormatter (Fatdown/PHP)
[1](不是)OK,2 OK,[3](“不是”)OK,4 OK,[5](不是)OK。
cebe/markdown 1.2.0,cebe/markdown GFM 1.2.0,cebe/markdown MarkdownExtra 1.2.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
Gambas 3.8.90
1个好,2个好,好,好,5个好。
对决 1.7.4
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
对决(风味:github)1.7.4
[1](不是)好的,
2 好的,
3 好的,
4 好的,
[5](是\不是)好的。
根据 Markdown specification,link 目标由 URL 指定。在 URL 中,space 被编码为 +
或 %20
.
URLs cannot contain spaces. URL encoding normally replaces a space
with a plus (+
) sign, or %20
.
但由于 +
并非在任何地方都受支持(GitHub、MDX 等;请参阅下面的评论),最好 使用 %20
。
事实上,Bitbucket 方面存在一个错误,但是,该错误现在已修复。
假设您的文件名为File with spaces.md
,您要显示的文本为Link
,这两种方法中的任一种will work:
* [Link](File with spaces.md)
* [Link](File%20with%20spaces.md)
如果您使用的是 VS Code,那么您可以通过一种简单的方法获得 link 在线 github 以及本地降价评论。
查看我收到的 link,用一个空格替换了 link,它与浏览器兼容。
由此
User-Login: JWT and SQLAlchemy/README.md
对此
./User-Login:%20JWT%20and%20SQLAlchemy/README.md
假设我有一个 README.md
,我想创建一个 link 到名称中包含空格的文件 file with spaces.md
。我希望能够跳转到文件的源代码。
/
-- README.md
-- File with spaces.md
在浏览器中检查元素后,我想出了 href
应该是什么(手动更改它,然后单击它使我进入我想要访问的页面):
<a href="username/repository/src/c0mm1th4sH/File%20with%20%spaces.md">
很遗憾,我无法做到这一点。到目前为止我尝试过的一些事情:
[Link](File with spaces.md)
[Link](File%20with%20spaces.md)
[Link](File\ with\ spaces.md)
[Link]("File with spaces.md")
它在 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">
你可以玩我创造的example repository。
更新:bug 消失了,所以
我用
[Title](/username/repo/Name-file-with-)
并且有效!
这似乎对我很有效:将 space 替换为  
。
[Link](File with spaces.md)
用 - 代替空格
例如,对于文件名 'Hello World.md',您的降价将如下所示
[link_caption](./Hello-World.md)
不同的 Markdown 实现(甚至是这些的版本)在处理这些问题的方式上有所不同。我发现以下信息非常有用(在页面完全加载后单击 "preview" - 这需要一段时间):
总结如果 link 停止工作...针对许多不同的实现显示了五种不同的可能性:
[1](is not) OK,
[2](is%20not) OK,
[3]("is not") OK,
[4]("is%20not") OK,
[5](is\ not) OK.
似乎所有的地方都有效,但 #2 似乎在任何地方(或几乎所有地方)都有效,并且每个其他选项至少在一种情况下失败。
输出:
标记 0.5.2,MD4C 0.2.7,MD4C(严格)0.2.7,标记 0.15.6.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
commonmark.js 0.28.1, markdown-it 8.4.2
[1](不是)OK, 2 OK, 3 OK, 4 OK, 5 OK.
Markdown.pl 1.0.1,Python-Markdown 2.6.5
1个好,2个好,3个好,4个好,5个好。
Markdown.pl 1.0.2b8
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
pandoc(严格)2.5
1个好,2个好,3个好,4个好,5个好。
cheapskate 0.1.0.5,Parsedown 1.6.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
pandoc 2.5
1个好,2个好,3个好,4个好,5个好。
月球标记 0.4.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
红地毯 3.3.4
1个好,2个好,3个好,4个好,5个好。
RDiscount 2.1.8
1个好,2个好,3个好,4个好,5个好。
PHP Markdown 1.8.0,PHP Markdown Extra 1.8.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
Maruku 0.7.3.beta1,Maruku(支持数学)0.7.3.beta1
1ot) OK, 2 OK, 3ot“) OK, 4 OK, 5ot) OK.
MultiMarkdown 5.1.0
[1](不是)OK,2 OK,[3](“不是”)OK,4 OK,[5](不是)OK。
黑色星期五
1 好的, 2 好的, [3](“不是”)好的, 4 好的, 5 好。
kramdown 1.2.0, mistune 0.8.3
1个好,2个好,3个好,4个好,5个好。
MultiMarkdown 6 6.3.0
1个好,2个好,3个好,4个好,5个好。
s9e\TextFormatter (Fatdown/PHP)
[1](不是)OK,2 OK,[3](“不是”)OK,4 OK,[5](不是)OK。
cebe/markdown 1.2.0,cebe/markdown GFM 1.2.0,cebe/markdown MarkdownExtra 1.2.0
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
Gambas 3.8.90
1个好,2个好,好,好,5个好。
对决 1.7.4
[1](不是)OK,2 OK,3 OK,4 OK,[5](是\不是)OK。
对决(风味:github)1.7.4
[1](不是)好的, 2 好的, 3 好的, 4 好的, [5](是\不是)好的。
根据 Markdown specification,link 目标由 URL 指定。在 URL 中,space 被编码为 +
或 %20
.
URLs cannot contain spaces. URL encoding normally replaces a space with a plus (
+
) sign, or%20
.
但由于 +
并非在任何地方都受支持(GitHub、MDX 等;请参阅下面的评论),最好 使用 %20
。
事实上,Bitbucket 方面存在一个错误,但是,该错误现在已修复。
假设您的文件名为File with spaces.md
,您要显示的文本为Link
,这两种方法中的任一种will work:
* [Link](File with spaces.md)
* [Link](File%20with%20spaces.md)
如果您使用的是 VS Code,那么您可以通过一种简单的方法获得 link 在线 github 以及本地降价评论。
查看我收到的 link,用一个空格替换了 link,它与浏览器兼容。
由此
User-Login: JWT and SQLAlchemy/README.md
对此
./User-Login:%20JWT%20and%20SQLAlchemy/README.md