4.6 在介面新增與編輯
NoteCraftApp 使用文件 第 4 章・使用指南

4.6 使用指南

在介面新增與編輯

在 view 模式下直接從瀏覽器新增筆記、編輯標籤、刪除筆記,或跳到 VS Code 編輯;也說明這些寫入會改動檔案的哪些地方。

本頁目錄
  1. 哪些地方能寫
  2. 新增筆記
  3. 編輯標籤
  4. 標籤怎麼正規化
  5. 刪除筆記
  6. 以 VS Code 開啟
  7. 寫入後會改到什麼

寫入 UI 只在 notecraftapp view 出現。serve 與 build 的產物是唯讀的靜態站,這些按鈕與選單一律不會輸出。

終端機
npx notecraftapp view ./notes

哪些地方能寫

位置動作
每頁頁首「+ 新增筆記」建立一篇新筆記
筆記頁標題下方的標籤列新增、移除這篇的標籤
筆記頁首「⋯」選單以 VS Code 編輯、重新生成提示、刪除筆記
/tags 頁重新命名標籤、刪除標籤(作用於所有筆記)
/plugins 頁的開關啟用或停用 plugin,見啟用與停用
view 模式的筆記頁:標題下方的標籤 chip 各帶 ✕,後面是「新增標籤」輸入框;頁首右側有生成簡報、收藏、「⋯」選單與「新增筆記」
  1. 1「⋯」選單
  2. 2+ 新增筆記
  3. 3標籤列:✕ 移除、輸入新增
view 模式的筆記頁:標籤 chip 帶 ✕、後面接「新增標籤」;頁首右側是「⋯」選單與「+ 新增筆記」。serve/build 的產物沒有這些。

在 serve/build 產物裡,標籤仍會顯示成 chip,只是不能編輯;/plugins 只留狀態標示、沒有開關。

新增筆記

按頁首的「+ 新增筆記」,填標題與標籤後送出:

新增筆記對話框:標題輸入框、標籤搜尋框與既有標籤清單、分類/資料夾下拉選單,以及取消與建立筆記按鈕
  1. 1標題產生檔名
  2. 2點選既有標籤
  3. 3資料夾選項目前不生效
新增筆記對話框:標題、標籤(可點選全站既有標籤)、資料夾;資料夾選項目前不會生效,新檔一律放在筆記資料夾最上層。
  • 檔名由標題產生:轉小寫、空白換成 -,只保留英數、底線、中文與 -,最長 50 字。表單會即時顯示產生的 slug
  • 同名的檔案已存在時會拒絕建立,不會覆寫
  • 新檔是 .mdx,帶 title、description、tags、createdAt、updatedAt 五個欄位,日期是今天
  • 標籤欄會列出全站既有的標籤;輸入與既有標籤只差大小寫時,採用既有的寫法

建立後可以直接「前往筆記」,或按「以 VS Code 編輯」打開新檔。

編輯標籤

在筆記頁的標籤列可以加入或移除標籤,每次變更立刻寫回該檔的 frontmatter。輸入時會提示全站既有的標籤。

/tags 頁的操作會改動所有用到該標籤的筆記:

  • 重新命名:新名稱已存在時視同合併,同一篇裡重複的會去掉
  • 刪除:從每一篇的 tags 裡移除,筆記本身不動

標籤怎麼正規化

每次寫入標籤都會照這個順序整理:

  1. 去掉每個標籤前後的空白
  2. 去掉空字串
  3. 同一篇內不分大小寫去重,保留第一次出現的寫法

例如 ["React", " react ", "", "Hooks"] 會存成 ["React", "Hooks"]。

刪除筆記

從「⋯」選單選「刪除筆記」,確認後畫面回到 /notes。這篇在頁籤列上的頁籤也會一起關掉。

刪除不能從介面復原,要靠 git 或你自己的備份。在 view 模式下只會刪掉筆記檔本身,筆記引用的生成元件仍留在 .notecraft/components/,處理方式見孤兒元件。

以 VS Code 開啟

「⋯」選單的「以 VS Code 編輯」是一個 vscode://file/<絕對路徑> 連結,點下去由 VS Code 開啟這篇筆記的原始檔。資料檔頁與內嵌的資料檔外框也有同樣的按鈕。

這個連結含有本機絕對路徑,所以只在 view 模式輸出;build 產物裡不會出現。

寫入後會改到什麼

  • 新增筆記、改標籤、重新命名或刪除標籤,受影響的筆記 updatedAt 都會改成今天
  • 寫檔時會重新輸出整段 frontmatter,欄位的引號與排版可能和你原本寫的不同,內文不動
  • view 是 Astro dev server,檔案一改,瀏覽器就會反映

寫入 API 的存取限制與路徑防護見安全模型。

在 GitHub 上修改這一頁