如何创建、移动、删除和编辑页面
本文介绍如何创建、移动、删除或编辑页面。在所有这些情况下,最好检查我们关于我们编写的内容的指南,以确认是否应采取任何这些操作,并在继续操作之前,在MDN Web Docs 聊天室中与 MDN Web Docs 团队进行讨论。
创建页面
MDN Web Docs 上的所有页面均以 Markdown 格式编写。内容编写在一个名为 index.md
的文件中,该文件存储在其自己的唯一目录中。目录名称表示页面的名称。例如,如果 align-content
是您想要为其创建新参考页面的一个新的 CSS 属性,您将在 en-us/web/css
中创建一个名为 align-content
的文件夹,并在其中创建一个名为 index.md
的文件。
注意:目录的名称与页面的 slug 略有不同。最值得注意的是,slug 遵循句子大小写。
有许多不同的页面类型,它们具有特定的结构和支持它们的页面模板,您可以复制这些模板来开始。
文档的 index.md
文件必须以定义 title
、slug
和 page-type
的前置 matter 开头。所有这些前置 matter 信息都可以在上述页面模板中找到。或者,您可能会发现参考类似文档的 index.md
中的前置 matter 会很有帮助。
创建页面的常规分步过程如下所示
- 开始一个新的、最新的分支进行工作。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
- 创建一个或多个新的文档文件夹,每个文件夹都有自己的
index.md
文件。 - 添加并提交您的新文件,并将您的新分支推送到您的 fork。bash
git 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(例如,Learn/Accessibility
),以及其新位置的 slug(例如,Learn/A11y
),还可以选择跟随现有文档的区域设置(默认为 en-US
)。
如果要移动的现有文档具有子文档(即它表示一个文档树),则 yarn content move
命令将移动整个树。
例如,假设您想将整个 /en-US/Learn/Accessibility
树移动到 /en-US/Learn/A11y
,您将执行以下步骤
- 您将开始一个新的分支进行工作。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
- 执行移动操作(这将删除和修改现有文件以及创建新文件)。bash
yarn content move Learn/Accessibility Learn/A11y
- 移动文件后,我们需要更新其他内容文件中对这些文件的引用。使用以下命令一次性自动更新所有引用bash
node scripts/update-moved-file-links.js
- 添加并提交所有已删除、已创建和已修改的文件,并将您的分支推送到您的 fork。bash
git add . git commit -m "Move Learn/Accessibility to Learn/A11y" 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(例如,Learn/Accessibility
),还可以选择跟随现有文档的区域设置(默认为 en-US
)。
如果要删除的现有文档具有子文档(即它表示一个文档树),则还必须指定 -r, --recursive
选项,否则命令将失败。
例如,如果您想删除整个 /en-US/Learn/Accessibility
树,您将执行以下步骤
- 您将开始一个新的分支进行工作。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
- 执行删除操作。bash
yarn content delete Learn/Accessibility --recursive
- 添加重定向。目标页面可以是外部 URL 或 MDN Web Docs 上的另一个页面。bash
yarn content add-redirect /en-US/path/of/deleted/page /en-US/path/of/target/page
- 添加并提交所有已删除的文件,并将您的分支推送到您的 fork。bash
git commit -a git push -u origin my-delete
- 创建您的拉取请求。
注意:如果要删除的页面的 slug 包含特殊字符,请将其包含在引号中,如下所示
yarn content delete "Mozilla/Add-ons/WebExtensions/Debugging_(before_Firefox_50)"
从 MDN Web Docs 中删除内容将不可避免地导致更新现有内容。由于许多文章都链接到其他文章,因此删除的内容可能会在其他地方被引用。添加重定向将减轻删除内容的影响;但是,最佳实践是编辑内容以反映更改,并将内容编辑与删除拉取请求一起包含。
编辑现有页面
要编辑页面,您需要在我们的内容存储库中找到页面源代码。查找它的最简单方法是导航到您要编辑的页面,转到页面底部,然后单击“在 GitHub 上查看源代码”链接。
预览更改
如果您在本地编辑页面,要查看更改后的效果,您可以转到内容存储库文件夹,执行 CLI 命令 yarn start
,在浏览器中转到 localhost:5042
,然后导航到该页面并查看它。在搜索框中输入标题以轻松找到它。当您编辑源代码时,预览的页面将在浏览器中更新。
附加文件
要将文件附加到文章,您只需将其包含在与文章的 index.md
文件相同的目录中即可。在您的页面中包含该文件,通常通过<a>
元素。