![](/img/trans.png)
[英]How to link to heading containing dot (.) or comma (,) in markdown file (Table of contents)?
[英]How link to any local file with markdown syntax?
我有一個包含多個鏈接的本地降價文件,我希望該鏈接指向本地文件,如 pdf。
我使用以下語法:
[my link](file:///C:/my_file.pdf)
但是當我將 Markdown 文件打開到 Firefox 頁面並單擊鏈接時,沒有任何反應。
我到底錯過了什么? 是否可以打開本地文件?
沒有一個答案對我有用。 但是受到 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
你是如何打開渲染的 Markdown 的?
如果您通過 HTTP 托管它,即您通過http://
或https://
訪問它,大多數現代瀏覽器將拒絕打開本地鏈接,例如使用file://
。 這是一個安全功能:
出於安全目的,Mozilla 應用程序會阻止從遠程文件到本地文件(和目錄)的鏈接。 這包括鏈接到硬盤驅動器、映射網絡驅動器上的文件,以及通過統一命名約定(UNC) 路徑訪問的文件。 這可以防止許多不愉快的可能性,包括:
- 允許站點通過檢查默認安裝路徑來檢測您的操作系統
- 允許站點利用系統漏洞(例如,Windows 95/98 中的
C:\\con\\con
)- 允許站點檢測瀏覽器首選項或讀取敏感數據
該頁面上列出了一些解決方法,但我的建議是盡可能避免這樣做。
鏈接到本地文件的方式與鏈接到本地圖像的方式相同。 下面是一個鏈接到與 markdown 源相同目錄中的文件start_caQtDM_7id.sh
的示例:
![start_caQtDM_7id.sh](./start_caQtDM_7id.sh)
在弄亂@BringBackCommodore64 答案后,我想通了
[link](file:///d:/absolute.md) # absolute filesystem path
[link](./relative1.md) # relative to opened file
[link](/relativeToProject.md) # relative to opened project
所有這些都在Visual Studio Code
進行了測試並且可以正常工作,
注意:絕對路徑在編輯器中有效,但在降價預覽模式下無效!
如果文件名中有空格,請嘗試以下操作:
[file](./file%20with%20spaces.md)
[file](<./file with spaces.md>)
第一個似乎更可靠
這是一個老問題,但對我來說,它似乎仍然沒有對 OP 的問題提供完整的答案。 根據我的經驗,在使用 Firefox 'Markdown Viewer' 插件時,選擇的關於安全性可能是問題的答案實際上通常不是問題。 此外,OP 似乎使用 MS-Windows,因此存在指定不同驅動器的附加問題。
因此,對於 Windows 上的“Markdown Viewer”插件(以及我見過的其他 Markdown 渲染器),這里有一個更完整但更簡單的答案:只需像往常一樣輸入本地路徑,如果它是絕對路徑確保以斜線開頭。 所以:
[a relative link](../../some/dir/filename.md)
[Link to file in another dir on same drive](/another/dir/filename.md)
[Link to file in another dir on a different drive](/D:/dir/filename.md)
考慮到他們的例子,最后一個可能是 OP 正在尋找的。 請注意,這也可用於顯示目錄而不是文件。
雖然晚了,但我希望這會有所幫助!
謝謝你!
第一個解決方案,它的工作原理!
[a relative link](../../some/dir/filename.md)
[Link to file in another dir on same drive](/another/dir/filename.md)
[Link to file in another dir on a different drive](/D:/dir/filename.md)
但我需要放置更多../
直到我的文件所在的文件夾,如下所示:
[FileToOpen](../../../../folderW/folderX/folderY/folderZ/FileToOpen.txt)
如果該文件與 .md 所在的目錄位於同一目錄中,則只需輸入[Click here](MY-FILE.md)
。
否則,可以從項目的根目錄創建路徑。 所以如果整個project/git-repo根目錄都叫'my-app',並且想指向my-app/client/read-me.md,那么試試[My hyperlink](/client/read-me.md)
。
至少適用於 Chrome。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.