文件 1.11.6

Hashtag 連結

本頁說明 MDViewer 如何把內文中的 #tag 轉成連結,以及比對規則與限制。

啟用

new MDViewer({
    id: "viewer",
    sync: { editor: editor },
    hashtag: { path: "/search?tag=", target: "_blank" }
});
條件 結果
hashtag.path 為非空字串 啟用轉換
hashtag.path 為空或未設定 不轉換,#tag 原樣輸出
使用 MDParser 不轉換:MDParser 傳給管線的路徑為 null

輸出

今天的主題 #JavaScript 與 #前端
今天的主題 <a class="tag" href="/search?tag=JavaScript" target="_blank">JavaScript</a> 與 <a class="tag" href="/search?tag=前端" target="_blank">前端</a>
項目 規則
href hashtag.path 直接串接標籤文字,不做 URL encode
顯示文字 不含 #
class tag,由 NanoMD.css 提供樣式
target hashtag.target 為 "_blank" 時 _blank,其他值一律 _self

比對規則

規則 說明
前綴 半形 # 或全形 #
前方 必須緊接一個空白字元(含換行),所以緊貼前文的 #(a#b)不會轉換;行首的 # 前方視為換行,會轉換
標籤字元 中日韓統一表意文字、平假名/片假名、韓文音節、英數字與底線
結束 遇到不在上列範圍的字元(標點、空白、-)即結束
跳脫 寫成 \#tag 時不轉換,輸出 #tag 文字

setHashtag 在管線最後執行,程式碼區塊與行內 code 已先換成佔位符,因此其中的 # 不受影響。# 加空白是標題語法,會由 setHeading 先處理。

EN