Подтвердить что ты не робот

Как ссылка на любой локальный файл с синтаксисом уценки?

У меня есть локальный файл уценки, содержащий несколько ссылок, и я хочу, чтобы эти ссылки шли к локальному файлу, например, pdf.

Я использую следующий синтаксис:

[my link](file:///C:/my_file.pdf)

Но когда я открываю файл уценки на странице Firefox и нажимаю на ссылку, ничего не происходит.

Что именно я пропустил? Можно ли открыть локальный файл?

4b9b3361

Ответ 1

Как вы открываете рендеринг Markdown?

Если вы размещаете его через HTTP, т.е. вы получаете доступ к нему через http:// или https://, большинство современных браузеров откажутся открывать локальные ссылки, например. с file://. Это функция безопасности:

В целях безопасности приложения Mozilla блокируют ссылки на локальные файлы (и каталоги) из удаленных файлов. Сюда входят ссылки на файлы на вашем жестком диске, на подключенных сетевых дисках и доступные через Uniform Naming Convention (UNC). Это предотвращает ряд неприятных возможностей, в том числе:

  • Разрешить сайтам обнаруживать вашу операционную систему, проверяя пути установки по умолчанию
  • Разрешить сайтам использовать уязвимости системы (например, C:\con\con в Windows 95/98)
  • Разрешить сайтам определять предпочтения браузера или читать конфиденциальные данные

На этой странице есть некоторые обходные пути, но я рекомендую избегать этого, если вы можете.

Ответ 2

Ни один из ответов не работал у меня. Но, вдохновленный ответом BarryPye, я узнал, что он работает при использовании относительных путей!

# Contents from the '/media/user/README_1.md' markdown file:

Read more [here](./README_2.md) # It works!
Read more [here](file:///media/user/README_2.md) # Doesn't work
Read more [here](/media/user/README_2.md) # Doesn't work

Ответ 3

Вы ссылаетесь на локальный файл так же, как вы ссылаетесь на локальные изображения. Ниже приведен пример ссылки на файл start_caQtDM_7id.sh в том же каталоге, что и источник уценки:

![start_caQtDM_7id.sh](./start_caQtDM_7id.sh) 

Ответ 4

Да, это возможно. Я попробовал именно этот пример, и мой PDF был открыт в Firefox. Я распространяю файлы MD, HTML и PDF в разных каталогах, чтобы исключить возможность того, что мой редактор Markdown каким-то образом преобразует ссылку файла в относительную.

Использование [my file](\C:\\my_file.pdf) должно работать также.

Ответ 5

Если файл находится в той же директории, где находится файл .md, тогда просто поместите [Click here](MY-FILE.md).

В противном случае можно создать путь из корневого каталога проекта. Поэтому, если весь корневой каталог проекта /git-repo называется "my-app", и кто-то хочет указать на my-app/client/read-me.md, то попробуйте [My hyperlink](/client/read-me.md).

По крайней мере, работает от Chrome.