There are always things that can be added or updated on MDN. Whether it's all-new documentation for a sparkling new API or a revision to an older API that's changed subtly, you'll find lots of opportunities to help.
Editing an existing page
If you've found a page you'd like to revise, simply click the "edit" button at its top right corner. This will open the WYSIWYG editor for working on the page's contents. See the MDN editor guide for details on how to work with the editor, as well as how to work with the macro system we use to help automate the construction and formatting of content.
There are lots of reasons you might edit an existing page:
- You've spotted an error or typo.
- You want to reword something to be easier to understand.
- The layout or formatting of the page is messy.
- The API being documented has changed and the documentation needs updating to match the changes.
- You'd like to add information about a behavior difference between multiple browsers for an API.
- You want to add or improve a code sample. See Add a code sample below for details.
- The article is a stub, or is simply missing important details.
Adding a new page
This is the big one! Adding a new page to MDN makes the Web love you and want to hug you. There are several obvious reasons to create a new page, including to document an API that's not yet documented or to add a new tutorial or guide on a topic.
There are some ways to go about creating a new page on MDN, once you've logged in:
- Click a "missing page" link
- As you browse MDN, you'll occasionally find links to pages that don't exist yet. Often, as we create articles, we include links to pages that need to be created, even if they haven't been made yet. This helps us keep track of things that need to eventually be done, although sometimes it takes some time to get back to them. You should feel free to do so! Just click these links and you'll be taken straight into the editor for the new page.
- Create a subpage
- Near the top-right corner of each article is a "Advanced" drop-down menu. In that menu is a "New sub-page" option. Clicking that option opens the page editor for a new page whose parent page in the site hierarchy is the page on which you chose "New sub-page". Simply fill out the title and slug and start writing the article's content.
- Create a clone
- You can also clone an existing page using the "Clone this page" option in the "This page" drop-down menu. Clicking this option makes a copy of the current page, whose parent page is the same as the current page, and opens the editor on that page, where you can set the page's title and slug, as well as edit the content of the page. This is typically a good way to add a new page to an existing reference area of the site, for example, because it gets you a sample layout for the content.
- Create a link to a page that doesn't exist, then click it
- This is a bit of a hybrid method. Since every page ought to be linked to from somewhere, you could start by creating a link to the new article by adding it to an existing page, then, after saving that page, you can click the link you just inserted to open an editor for the new article.
Note: If you're not logged in, you will get a 404 error when trying to visit an article that doesn't exist, instead of being offered an editor for a new page.
There's a lot of information out there, and it can be tricky to hunt down the exact help you need. Here are some tips to get you started.
- Module owner lists
- Mozilla projects work on a "module owner" basis; each major component has an owner or owners who are responsible for what goes on there. These owners are often your best source of information — or at least a great way to find the right person to talk to.
- Mozilla source cross-reference
- MXR, the Mozilla cross-reference, lets you access all the source code for the Mozilla project (with the exception of some things, like much of Firefox OS, which is located on GitHub). The code and its comments are often a great resource for information.
- Mozilla wiki
- The Mozilla wiki — often referred to as "wikimo" — is a repository of process and design notes, drafts, plans, and preliminary specifications. Despite being often a cluttered mess, it's a treasure trove of invaluable information.