如何建立、編輯、移動或刪除頁面

本文介紹如何建立、移動、刪除或編輯頁面。在所有這些情況下,最好查閱我們的《我們寫什麼》指南,以確認是否應採取這些操作,並在繼續之前與團隊在 MDN Web Docs 的某個溝通渠道上進行討論。

建立頁面

MDN Web Docs 上的所有頁面都以 Markdown 格式編寫。內容寫在一個名為 index.md 的檔案中,該檔案儲存在自己的唯一目錄中。目錄名稱代表頁面的名稱。例如,如果您想為新的 CSS 屬性 align-content 建立一個新參考頁面,您會在 en-us/web/css 中建立一個名為 align-content 的資料夾,並在其中建立一個名為 index.md 的檔案。

注意:目錄名稱與頁面的 slug 略有不同。最值得注意的是,slug 遵循句子大小寫。

有許多不同的頁面型別,它們具有特定的結構和支援的頁面模板,您可以複製這些模板來開始。

文件的 index.md 檔案必須以定義 titleslugpage-type 的 front matter 開始。所有這些 front matter 資訊都可以在上述頁面模板中找到。或者,您可能會發現參考類似文件的 index.md 檔案中的 front matter 有幫助。

建立頁面的通用分步流程是

  1. 啟動一個全新的、最新的分支來工作。

    bash
    cd ~/repos/mdn/content
    git checkout main
    git pull mdn main
    # Run "yarn" again to ensure you've
    # installed the latest Yari dependency.
    yarn
    git checkout -b my-add
    
  2. 建立一個或多個新的文件資料夾,每個資料夾都有自己的 index.md 檔案。

  3. 新增並提交新檔案,並將新分支推送到您的 fork。

    bash
    git add files/en-us/folder/you/created
    git commit -m "appropriate message about your changes"
    git push -u origin my-add
    
  4. 建立您的拉取請求。

移動頁面

移動一個或多個文件或整個文件樹很容易,因為我們建立了一個特殊命令,可以為您處理細節。

bash
yarn content move <from-slug> <to-slug> [locale]

您只需指定要移動的現有文件的 slug(例如,Web/HTTP/Guides/Authentication)以及新位置的 slug(例如,Web/HTTP/Guides/Auth),還可以選擇性地指定現有文件的 locale(預設為 en-US)。

如果現有文件有子文件(即,它代表一個文件樹),yarn content move 命令將移動整個樹。

例如,假設您想將整個 /en-US/Web/HTTP/Guides/Authentication 樹移動到 /en-US/Web/HTTP/Guides/Auth,您將執行以下步驟

  1. 您將啟動一個全新的分支來工作。

    bash
    cd ~/repos/mdn/content
    git checkout main
    git pull mdn main
    # Run "yarn" again just to ensure you've
    # installed the latest Yari dependency.
    yarn
    git checkout -b my-move
    
  2. 執行移動操作(這將刪除和修改現有檔案以及建立新檔案)。

    bash
    yarn content move Web/HTTP/Guides/Authentication Web/HTTP/Guides/Auth
    
  3. 檔案移動後,我們還需要更新其他內容檔案中對這些檔案的引用。使用以下命令一次性自動更新所有引用。

    bash
    node scripts/update-moved-file-links.js
    
  4. 新增並提交所有已刪除、建立和修改的檔案,並將分支推送到您的 fork。

    bash
    git add .
    git commit -m "Move Web/HTTP/Guides/Authentication to Web/HTTP/Guides/Auth"
    git push -u origin my-move
    
  5. 建立您的拉取請求。

注意:yarn content move 命令會在 _redirects.txt 檔案中新增必要的重定向,以便舊位置重定向到新位置。請勿手動編輯 _redirects.txt 檔案!這樣做很容易出錯。如果您需要新增重定向而不移動檔案,請在 MDN Web Docs 溝通渠道上與 MDN Web Docs 團隊討論。

刪除頁面

文件應僅在特殊情況下從 MDN Web Docs 中刪除。如果您考慮刪除頁面,請先在 MDN Web Docs 聊天室上與 MDN Web Docs 團隊討論。

刪除一個或多個文件或整個文件樹很容易,就像移動頁面一樣,因為我們建立了一個特殊命令,可以為您處理細節。

bash
yarn content delete <document-slug> [locale]

注意:您需要使用 yarn content delete 命令從 MDN Web Docs 中刪除頁面。不要僅僅從倉庫中刪除它們的目錄。yarn content delete 命令還會處理其他必要的更改,例如更新 _wikihistory.json 檔案。

您只需指定要刪除的現有文件的 slug(例如,Web/HTTP/Guides/Authentication),還可以選擇性地指定現有文件的 locale(預設為 en-US)。

如果現有文件有子文件(即,它代表一個文件樹),您還必須指定 -r, --recursive 選項,否則命令將失敗。

例如,如果您想刪除整個 /en-US/Web/HTTP/Guides/Authentication 樹,您將執行以下步驟

  1. 您將啟動一個全新的分支來工作。

    bash
    cd ~/repos/mdn/content
    git checkout main
    git pull mdn main
    # Run "yarn" again just to ensure you've
    # installed the latest Yari dependency.
    yarn
    git checkout -b my-delete
    
  2. 執行刪除操作。

    bash
    yarn content delete Web/HTTP/Guides/Authentication --recursive
    
  3. 新增重定向。目標頁面可以是外部 URL 或 MDN Web Docs 上的另一個頁面。

    bash
    yarn content add-redirect /en-US/path/of/deleted/page /en-US/path/of/target/page
    
  4. 新增並提交所有已刪除的檔案,並將分支推送到您的 fork。

    bash
    git commit -a
    git push -u origin my-delete
    
  5. 建立您的拉取請求。

注意:如果要刪除的頁面的 slug 包含特殊字元,請將其包含在引號中,如下所示。

bash
yarn content delete "Mozilla/Add-ons/WebExtensions/Debugging_(before_Firefox_50)"

從 MDN Web Docs 中刪除內容將不可避免地導致現有內容也需要更新。由於許多文章會連結到其他文章,被刪除的內容很可能在其他地方被引用。新增重定向可以減輕刪除內容的影響;但是,最好的做法是編輯內容以反映更改,並將內容編輯與刪除的拉取請求一起包含。

編輯現有頁面

要編輯頁面,您需要在我們的 content 儲存庫中找到頁面源。找到它的最簡單方法是導航到要編輯的頁面,滾動到頁面底部,然後單擊“在 GitHub 上檢視原始碼”連結。

預覽更改

如果您正在本地編輯頁面,要檢視更改後的效果,您可以進入 content 儲存庫資料夾,執行 CLI 命令 yarn start,在瀏覽器中訪問 localhost:5042,然後導航到頁面並檢視。在搜尋框中輸入標題以輕鬆找到它。當您編輯原始碼時,預覽頁面將在瀏覽器中更新。

附加檔案

要將檔案附加到您的文章,只需將其包含在文章的 index.md 檔案所在的同一目錄中。通常透過 <a> 元素將檔案包含在頁面中。