編輯器選項
本頁列出 new MDEditor(config) 接受的每個選項、預設值與實際生效方式。
建構
const editor = new MDEditor({
id: "editor",
defaultContent: "# Hello",
hotKey: true,
autosave: true,
preventRefresh: false,
tabPin: false,
style: { mode: "auto", fill: true, showRow: true },
event: { save: (text) => {}, upload: async () => ({ href: "", alt: "" }) }
});
行為選項
| 選項 | 型別 | 預設 | 說明 |
|---|---|---|---|
id |
string |
無 | 容器元素 ID;找不到時建立未掛載的 <section>,用 editor.body 取得後自行插入 |
defaultContent |
string |
"" |
初始 Markdown,會先 trim();第一次 init() 用完後即清空 |
hotKey |
boolean |
true |
是否啟用格式化快捷鍵;復原、儲存、Tab 等編輯鍵不受影響,見 快捷鍵 |
autosave |
boolean |
true |
輸入後是否自動更新預覽;false 時只在 save() 更新,工具列會多出「儲存並預覽」按鈕 |
preventRefresh |
boolean |
false |
為真時註冊 beforeunload 攔截,並在整個 document 攔截 F5、Cmd/Ctrl+R |
tabPin |
boolean | 0/1 |
false |
工具列是否固定顯示;可再由工具列的釘選按鈕切換 |
wrap |
boolean | 0/1 |
true |
自動換行;v1.11.6 中 false/0 會被 || 1 覆蓋,初始值永遠為開啟,只能用工具列按鈕關閉 |
event.save |
function(text) |
無 | 儲存回呼,收到編輯器純文字;設為 null 時 save() 直接回傳 false |
event.upload |
async function() |
無 | 存在時工具列出現上傳圖片按鈕,見 工具列 |
樣式選項
| 選項 | 預設 | 說明 |
|---|---|---|
style.mode |
"auto" |
"auto"/"light"/"dark",不分大小寫;見 主題 |
style.fill |
true |
寫入 data-fill,讓容器填滿父元素 |
style.fontFamily |
"'Roboto Mono', monospace" |
編輯器字型 |
style.showRow |
true |
寫入 data-row,顯示行號 |
style.placeholder.text |
"Type here ..." |
最後一列為空時顯示的提示文字 |
style.placeholder.color |
"#bfbfbf" |
提示文字顏色 |
style.focus.backgroundColor |
"#0000ff1a" |
目前所在列的背景色 |
style.focus.color |
"#0000ffff" |
目前所在列的文字與游標顏色 |
字型、提示文字與焦點顏色是以 <style> 插入 <head>,選擇器為全域的 .pd-md-editor。同一頁有多個編輯器時,後建立的設定會覆蓋先前的。
實例屬性
| 屬性 | 型別 | 說明 |
|---|---|---|
body |
HTMLElement |
編輯器容器(contentEditable),每一列是一個 <div> |
text |
string(唯讀) |
以 \n 串接各列的 innerText,工具列除外 |
viewer |
MDViewer |
綁定的預覽器;由 MDViewer 的 sync.editor 自動設定 |
deployKey |
string |
只在 nanomd.pardn.io 的部署功能使用 |
已棄用的頂層選項(mode、fillMode、placeholder 等)見 已棄用 API。