--- title: Markdown 總複習\3.1 連結 tags: Markdown --- ## 3.1 連結 ### ■行內連結 Markdown支援兩種形式的連結語法:**行內** 和 **參考** 兩種形式。 不管是哪一種,連結的文字都是用 [方括號] 來標記。 要建立一個行內形式的連結,只要在方塊括號後面馬上接著括號並插入網址連結即可,如果你還想要加上連結的title文字,只要在網址後面,用雙引號把title文字包起來即可,例如: ``` This is [an example](<http://example.com/Hello World.html> "Title") inline link. [This link](<http://example.com/>) has no title attribute. ``` 顯示的結果為: This is [an example](<http://example.com/Hello World.html> "Title") inline link. [This link](<http://example.com/>) has no title attribute. :::success :bulb: 小提示: \[標題]\(\<超連結>) 的語法也可以簡化為 \[標題]\(超連結) 的寫法。 但是如果超連結中有空白字元(如上例中的 Hello World.html),省略角括號將會造成超連結不正確。 ::: ### ■參考連結 參考連結的寫法可以將文件中要使用的超連結集中定義,然後在文件中多次的引用。後續有修改時,只要修改一個地方即可。 ``` 這是第一種參考連結的寫法: [標題][代號] 中間沒有空白字元 這是第二種參考連結的寫法: [標題] [代號] 中間有一個空白字元 以下為參考連結的定義: [代號]: <超連結網址> "選擇性的顯示標題" ``` 顯示的結果為: 這是第一種參考連結的寫法: [標題][代號] 中間沒有空白字元 這是第二種參考連結的寫法: [標題] [代號] 中間有一個空白字元 以下為參考連結的定義: [代號]: <超連結網址> "選擇性的顯示標題" :::success :bulb: 小提示: 參考連結定義部分,不會顯示在文件中。定義的開始請先保留一個空白行。 ::: 參考連結的格式為: * 方括號,裡面輸入連結的代號。 * 冒號字元。 * 一個以上的空白字元或tab字元。 * 連結的網址,建議超連結使用角括號括起來。 * 一個以上的空白字元或tab字元。 * 選擇性的標題內容,可以用單引號、雙引號或是括弧包著。 下面這三種連結的定義都是相同: ``` [foo]: <http://example.com/> "Optional Title Here" [foo]: <http://example.com/> 'Optional Title Here' [foo]: <http://example.com/> (Optional Title Here) ``` #### 注意事項 + 有些 Markdown 的解譯器會忽略單引號包起來的標題文字。 + 建議超連結使用角括號括起來。 + 當超連結太長時,你也可以把標題文字放到下一行,也可以加一些縮排。 ``` [id]: <http://example.com/> "Optional Title Here" ``` + 參考連結定義部分,不會顯示在文件中。 + 代號可以是文字、數字、空白和標點符號的組合,不區分大小寫。 + 如果代號(第二個方括號內容)為空白,則會使用第一個方括號的內容作為代號。 + 例如: \[Google]\[] 此時代號為 "Google"。 #### 為何要使用參考連結? * 使用參考連結的主要優點是,可以讓文件更容易閱讀,避免太長或太多的超連結讓文章的閱讀感覺被打斷。 ``` 以下為 [Google][1]、[Yahoo][2]、[MSN][3] 三個網站的比較內容。 [1]: <https://www.google.com.tw/> "Google 搜尋" [2]: <https://tw.yahoo.com/?p=us> "Yahoo 首頁" [3]: <https://www.msn.com/zh-tw> "MSN 首頁" ``` 顯示的結果為: 以下為 [Google][1]、[Yahoo][2]、[MSN][3] 三個網站的比較內容。 [1]: <https://www.google.com.tw/> "Google 搜尋" [2]: <https://tw.yahoo.com/?p=us> "Yahoo 首頁" [3]: <https://www.msn.com/zh-tw> "MSN 首頁" * 集中管理超連結,文件中有多個地方參考相同連結時,只需要定義一次,且修改時只要修改一個地方即可。