@use JSDoc

使用 Markdown 外掛程式

概觀

JSDoc 包含一個 Markdown 外掛程式,可自動將 Markdown 格式的文字轉換為 HTML。您可以在任何 JSDoc 範本中使用此外掛程式。在 JSDoc 3.2.2 及更新版本中,Markdown 外掛程式使用 marked Markdown 剖析器

注意:當您啟用 Markdown 外掛程式時,請務必在 JSDoc 註解的每一行開頭加上星號。如果您省略開頭的星號,JSDoc 的剖析器可能會移除用於 Markdown 格式化的星號。

預設情況下,JSDoc 會在以下 JSDoc 標籤中尋找 Markdown 格式的文字

啟用 Markdown 外掛程式

若要啟用 Markdown 外掛程式,請將字串 plugins/markdown 加入 JSDoc 設定檔plugins 陣列

啟用 Markdown 外掛程式的 JSON 設定檔
{
    "plugins": ["plugins/markdown"]
}

在其他 JSDoc 標籤中轉換 Markdown

預設情況下,Markdown 外掛程式只會處理 特定 JSDoc 標籤 的 Markdown 文字。您可以透過在 JSDoc 設定檔中加入 markdown.tags 屬性,來處理其他標籤中的 Markdown 文字。markdown.tags 屬性包含一個陣列,其中包含可以包含 Markdown 文字的其他文件屬性。(在大部分情況下,文件屬性的名稱與標籤名稱相同。不過,有些標籤儲存方式不同;例如,@param 標籤儲存在文件屬性的 params 屬性中。如果您不確定標籤的文字如何儲存在文件中,請執行 JSDoc 並加上 -X/--explain 標籤,這會將每個文件列印到主控台。)

例如,如果 foobar 標籤接受儲存在文件屬性 foobar 中的值,您可以透過在 JSDoc 設定檔中加入以下設定,來啟用這些標籤的 Markdown 處理

在「foo」和「bar」標籤中轉換 Markdown
{
    "plugins": ["plugins/markdown"],
    "markdown": {
        "tags": ["foo", "bar"]
    }
}

從 Markdown 處理中排除預設標籤

若要避免 Markdown 外掛程式處理任何 預設 JSDoc 標籤,請將 markdown.excludeTags 屬性新增至您的 JSDoc 組態檔。markdown.excludeTags 屬性包含一個預設標籤陣列,不應針對 Markdown 文字進行處理。

例如,若要將 author 標籤排除在 Markdown 處理之外

將「author」標籤排除在 Markdown 處理之外
{
    "plugins": ["plugins/markdown"],
    "markdown": {
        "excludeTags": ["author"]
    }
}

在斷行處強制換行文字

預設情況下,Markdown 外掛程式並不會在斷行處強制換行文字。這是因為 JSDoc 註解跨多行換行是很常見的。如果您偏好於在斷行處強制換行文字,請將 JSDoc 組態檔的 markdown.hardwrap 屬性設定為 true。此屬性適用於 JSDoc 3.4.0 及後續版本。

將 ID 屬性新增至標題

預設情況下,Markdown 外掛程式並不會為每個 HTML 標題新增 id 屬性。若要根據標題文字自動新增 id 屬性,請將 JSDoc 組態檔的 markdown.idInHeadings 屬性設定為 true。此屬性適用於 JSDoc 3.4.0 及後續版本。