Допустим, у меня есть README.md, и я хочу создать ссылку на файл, который содержит пробелы в своем имени, 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">

Вы можете поиграть с созданным мной примером репозитория.

Обновление: ошибка исчезла, поэтому простые пробелы или %20 теперь будут работать.

16
Vince Varga 2 Янв 2016 в 21:28

6 ответов

Лучший ответ

Фактически, на стороне Bitbucket была ошибка, однако теперь ошибка исправлена.

Предположим, что ваш файл называется File with spaces.md, а текст, который вы хотите отобразить, - Link, любой из этих двух методов будет работать:

* [Link](File with spaces.md)
* [Link](File%20with%20spaces.md)
0
Vince Varga 31 Мар 2020 в 13:36

Согласно спецификации Markdown, цель ссылки указывается с помощью URL . В URL пробел кодируется как + или как %20.

См. W3Schools - Кодирование URL:

URL-адреса не могут содержать пробелов. Кодировка URL обычно заменяет пробел со знаком плюса (+) или %20.

1
howlger 6 Мар 2020 в 08:29

Я использую

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

И работает!

1
Jorge Santiago 13 Июл 2016 в 06:18

Различные реализации Markdown (даже их версии) отличаются тем, как они с этим справляются. Я нашел следующее очень информативным (нажмите «предварительный просмотр» после полной загрузки страницы - это займет некоторое время):

http://johnmacfarlane.net/babelmark2/?text=%5B1%5D(is+not)+OK%2C%0A%5B2%5D(is%2520not)+OK%2C%0A%5B3%5D(%22is + не% 22) + OK% 2C% 0A% 5B4% 5D (% 22is% 2520 not% 22) + OK% 2C% 0A% 5B5% 5D (соответствует% 5C + нет) + OK.% 0A

Резюме, если ссылка перестает работать ... Пять различных возможностей отображаются против многих разных реализаций:

[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, markdig 0.15.6.0

[1] (нет) ОК, 2 ОК, 3 ОК, 4 ОК, [5] (нет \ нет) ОК.

commonmark.js 0.28.1, markdown-it 8.4.2

[1] (не) ОК, 2 ОК, 3 ОК, 4 ОК, 5 ОК.

markdown.pl 1.0.1, python-markdown 2.6.5

1 ОК, 2 ОК, 3 ОК, 4 ОК, 5 ОК.

MALLDOND.PL 1.0.2B8

[1] (нет) ОК, 2 ОК, 3 ОК, 4 ОК, [5] (нет \ нет) ОК.

pandoc (strict) 2.5

1 ОК, 2 ОК, 3 ОК, 4 ОК, 5 ОК.

<Сильные> дешевые 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] (нет \ нет) ОК.

RedCarpet 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] (нет) ОК, 2 ОК, 3 ОК, 4 ОК, [5] (нет \ нет) ОК.

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] (не) ОК, 2 ОК, [3] («нет») ОК, 4 ОК, [5] (не \ не) ОК.

Blackfriday

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] (не) ОК, 2 ОК, [3] («нет») ОК, 4 ОК, [5] (не \ не) ОК.

cebe / markdown 1.2.0, cebe / markdown GFM 1.2.0, cebe / markdown MarkdownExtra 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] (нет \ нет) ОК.

6
Learner 8 Янв 2019 в 22:22

Мне кажется, это хорошо работает: замените пробел на &#32;.

Источник

[Link](File&#32;with&#32;spaces.md)
24
User 23 Июл 2018 в 19:53

Заменитель - для пробелов

E.G для имени файла «Hello World.md» Ваша оценка будет следующим образом

[link_caption](./Hello-World.md)

0
Chetan 19 Авг 2018 в 12:23