如何建立、編輯、移動或刪除頁面
本文介紹如何建立、移動、刪除或編輯頁面。在所有這些情況下,最好查閱我們的《我們寫什麼》指南,以確認是否應採取這些操作,並在繼續之前與團隊在 MDN Web Docs 的某個溝通渠道上進行討論。
建立頁面
MDN Web Docs 上的所有頁面都以 Markdown 格式編寫。內容寫在一個名為 index.md 的檔案中,該檔案儲存在自己的唯一目錄中。目錄名稱代表頁面的名稱。例如,如果您想為新的 CSS 屬性 align-content 建立一個新參考頁面,您會在 en-us/web/css 中建立一個名為 align-content 的資料夾,並在其中建立一個名為 index.md 的檔案。
注意:目錄名稱與頁面的 slug 略有不同。最值得注意的是,slug 遵循句子大小寫。
有許多不同的頁面型別,它們具有特定的結構和支援的頁面模板,您可以複製這些模板來開始。
文件的 index.md 檔案必須以定義 title、slug 和 page-type 的 front matter 開始。所有這些 front matter 資訊都可以在上述頁面模板中找到。或者,您可能會發現參考類似文件的 index.md 檔案中的 front matter 有幫助。
建立頁面的通用分步流程是
-
啟動一個全新的、最新的分支來工作。
bashcd ~/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 -
建立一個或多個新的文件資料夾,每個資料夾都有自己的
index.md檔案。 -
新增並提交新檔案,並將新分支推送到您的 fork。
bashgit add files/en-us/folder/you/created git commit -m "appropriate message about your changes" git push -u origin my-add -
建立您的拉取請求。
移動頁面
移動一個或多個文件或整個文件樹很容易,因為我們建立了一個特殊命令,可以為您處理細節。
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,您將執行以下步驟
-
您將啟動一個全新的分支來工作。
bashcd ~/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 -
執行移動操作(這將刪除和修改現有檔案以及建立新檔案)。
bashyarn content move Web/HTTP/Guides/Authentication Web/HTTP/Guides/Auth -
檔案移動後,我們還需要更新其他內容檔案中對這些檔案的引用。使用以下命令一次性自動更新所有引用。
bashnode scripts/update-moved-file-links.js -
新增並提交所有已刪除、建立和修改的檔案,並將分支推送到您的 fork。
bashgit add . git commit -m "Move Web/HTTP/Guides/Authentication to Web/HTTP/Guides/Auth" git push -u origin my-move -
建立您的拉取請求。
注意:yarn content move 命令會在 _redirects.txt 檔案中新增必要的重定向,以便舊位置重定向到新位置。請勿手動編輯 _redirects.txt 檔案!這樣做很容易出錯。如果您需要新增重定向而不移動檔案,請在 MDN Web Docs 溝通渠道上與 MDN Web Docs 團隊討論。
刪除頁面
文件應僅在特殊情況下從 MDN Web Docs 中刪除。如果您考慮刪除頁面,請先在 MDN Web Docs 聊天室上與 MDN Web Docs 團隊討論。
刪除一個或多個文件或整個文件樹很容易,就像移動頁面一樣,因為我們建立了一個特殊命令,可以為您處理細節。
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 樹,您將執行以下步驟
-
您將啟動一個全新的分支來工作。
bashcd ~/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 -
執行刪除操作。
bashyarn content delete Web/HTTP/Guides/Authentication --recursive -
新增重定向。目標頁面可以是外部 URL 或 MDN Web Docs 上的另一個頁面。
bashyarn content add-redirect /en-US/path/of/deleted/page /en-US/path/of/target/page -
新增並提交所有已刪除的檔案,並將分支推送到您的 fork。
bashgit commit -a git push -u origin my-delete -
建立您的拉取請求。
注意:如果要刪除的頁面的 slug 包含特殊字元,請將其包含在引號中,如下所示。
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> 元素將檔案包含在頁面中。