Contributing to Windows Mixed Reality developer documentation

Welcome to the public repo for Windows Mixed Reality developer documentation! Any articles you create or edit in this repo will be visible to the public.

Windows Mixed Reality docs are now on the docs.microsoft.com platform, which uses GitHub-flavored Markdown (with Markdig features). Essentially, the content you edit in this repo gets turned into formatted and stylized pages that show up at https://docs.microsoft.com/windows/mixed-reality.

This page covers the basic steps and guidelines for contributing, as well as links to Markdown basics. Thank you for your contribution!

Before you start

If you don't already have one, you'll need to create a GitHub account.

Note

If you're a Microsoft employee, link your GitHub account to your Microsoft alias on the Microsoft Open Source portal. Join the "Microsoft" and "MicrosoftDocs" organizations).

When setting up your GitHub account, we also recommend these security precautions:

Taking these steps is important, as the publishing system is tied to GitHub and you'll be listed as either author or contributor to each article using your GitHub alias.

Editing an existing article

Use the following workflow to make updates to an existing article via GitHub in a web browser:

  1. Navigate to the article you wish to edit in the "mixed-reality-docs" folder.

  2. Select the edit button (pencil icon) in the top right. This will automatically fork a disposable branch off the 'master' branch.

    Edit an article.

  3. Edit the content of the article (see "Markdown basics" below for guidance).

  4. Update metadata as relevant at the top of each article:

    • title: This is the page title that appears in the browser tab when the article is being viewed. As this is used for SEO and indexing, you shouldn't change the title unless necessary (though this is less critical before documentation goes public).
    • description: Write a brief description of the article's content. This aids in SEO and discovery.
    • author: If you are the primary owner of the page, add your GitHub alias here.
    • ms.author: If you are the primary owner of the page, add your Microsoft alias here (you don't need @microsoft.com, just the alias).
    • ms.date: Update the date if you're adding major content to the page, but not for fixes like clarification, formatting, grammar, or spelling.
    • keywords: Keywords aid in SEO (search engine optimization). Add keywords, separated by a comma and a space, that are specific to your article (but no punctuation after the last keyword in your list); you don't need to add global keywords that apply to all articles, as those are managed elsewhere.
  5. When you've completed your article edits, scroll down and click the Propose file change button.

  6. On the next page, click Create pull request to merge your automatically-created branch into 'master.'

  7. Repeat the steps above for the next article you want to edit.

Renaming or deleting an existing article

If your change will rename or delete an existing article, be sure to add a redirect. That way, anyone with a link to the existing article will still end up in the right place. Redirects are managed by the .openpublishing.redirection.json file in the root of the repo.

To add a redirect to .openpublishing.redirection.json, add an entry to the redirections array:

{
    "redirections": [
        {
            "source_path": "mixed-reality-docs/old-article.md",
            "redirect_url": "new-article#section-about-old-topic",
            "redirect_document_id": false
        },
  • The source_path is the relative repository path to the old article that you're removing. Be sure the path starts with mixed-reality-docs and ends with .md.
  • The redirect_url is the relative public URL from the old article to the new article. Be sure that this URL does not contain mixed-reality-docs or .md, as it refers to the public URL and not the repository path. Linking to a section within the new article using #section is allowed. You may also use an absolute path to another site here, if necessary.
  • redirect_document_id indicates whether you would like to keep the document ID from the previous file. The default is false. Use true if you want to preserve the ms.documentid attribute value from the redirected article. If you preserve the document ID, data, such as page views and rankings, will be transferred to the target article. Do this if the redirect is primarily a rename, and not a pointer to different article that only covers some of the same content.

If you add a redirect, be sure to delete the old file as well.

Creating a new article

Use the following workflow to create new articles in the documentation repo via GitHub in a web browser:

  1. Create a fork off the MicrosoftDocs/mixed-reality 'master' branch (using the Fork button in the top right).

    Fork the master branch.

  2. In the "mixed-reality-docs" folder, click the Create new file button in the top right.

  3. Create a page name for the article (use hyphens instead of spaces and don't use punctuation or apostrophes) and append ".md"

    Name your new page.

    Important

    Make sure you create the new article from within the "mixed-reality-docs" folder. You can confirm this by checking for "/mixed-reality-docs/" in the new file name line.

  4. At the top of your new page, add the following metadata block:

    ---
    title:
    description:
    author:
    ms.author:
    ms.date:
    ms.topic: article
    keywords:
    ---
    
  5. Fill in the relevant metadata fields per the instructions in the section above.

  6. Write article content using Markdown basics.

  7. Add a ## See also section at the bottom of the article with links to other relevant articles.

  8. When finished, click Commit new file.

  9. Click New pull request and merge your fork's 'master' branch into MicrosoftDocs/mixed-reality 'master' (make sure the arrow is pointing the correct way).

    Create pull request from your fork into MicrosoftDocs/mixed-reality

Markdown basics

The following resources will help you learn how to edit documentation using the Markdown language:

Adding tables

Because of the way docs.microsoft.com styles tables, they won’t have borders or custom styles, even if you try inline CSS. It will appear to work for a short period of time, but eventually the platform will strip the styling out of the table. So plan ahead and keep your tables simple. Here’s a site that makes Markdown tables easy.

The Docs Markdown Extension for Visual Studio Code also makes table generation easy if you're using Visual Studio Code (see below) to edit the documentation.

Adding images

You’ll need to upload your images to the "mixed-reality-docs/images" folder in the repo, and then reference them appropriately in the article. Images will automatically show up at full-size, which means if your image is large, it’ll fill the entire width of the article. Thus, we recommend pre-sizing your images before uploading them. The recommended width is between 600 and 700 pixels, though you should size up or down if it’s a dense screenshot or a fraction of a screenshot, respectively.

Important

You can only upload images to your forked repo before merging. So, if you plan on adding images to an article, you'll need to use Visual Studio Code to add the images to your fork's "images" folder first or make sure you've done the following in a web browser:

  1. Forked the MicrosoftDocs/mixed-reality repo.
  2. Edited the article in your fork.
  3. Uploaded the images you're referencing in your article to the "mixed-reality-docs/images" folder in your fork.
  4. Created a pull request to merge your fork into the MicrosoftDocs/mixed-reality 'master' branch.

To learn how to set up your own forked repo, follow the instructions for creating a new article.

Previewing your work

While editing in GitHub via a web browser, you can click the Preview tab near the top of the page to preview your work before committing.

Note

Previewing your changes on review.docs.microsoft.com is only available to Microsoft employees

Microsoft employees: once your contributions have been merged into the 'master' branch, you can see what the documentation will look like before it goes public at https://review.docs.microsoft.com/windows/mixed-reality?branch=master (find your article using the table of contents in the left column).

Editing in the browser vs. editing with a desktop client

Editing in the browser is the easiest way to make quick changes, however, there are a few disadvantages:

  • You don't get spell-check.
  • You don't get any smart-linking to other articles (you have to manually type the article's filename).
  • It can be a hassle to upload and reference images.

If you'd rather not deal with these issues, you may prefer to use a desktop client like Visual Studio Code with a couple helpful extensions to contribute to documentation.

Using Visual Studio Code

For the reasons listed above, you may prefer using a desktop client to edit documentation instead of a web browser. We recommend using Visual Studio Code.

Setup

Follow these steps to configure Visual Studio Code to work with this repo:

  1. In a web browser:
    1. Install Git for your PC.
    2. Install Visual Studio Code.
    3. Fork MicrosoftDocs/mixed-reality if you haven't already.
    4. In your fork, click Clone or download and copy the URL.
  2. Create a local clone of your fork in Visual Studio Code:
    1. From the View menu, select Command Palette.
    2. Type "Git:Clone."
    3. Paste the URL you just copied.
    4. Choose where to save the clone on your PC.
    5. Click Open repo in the pop-up.

Editing documentation

Use the following workflow to make changes to the documentation with Visual Studio Code:

Note

All the guidance for editing and creating articles, and the basics of editing Markdown, from above applies when using Visual Studio Code as well.

  1. Make sure your cloned fork is up-to-date with the official repo.

    1. In a web browser, create a pull request to sync recent changes from other contributors in MicrosoftDocs/mixed-reality 'master' to your fork (make sure the arrow is pointing the right way).

      Sync changes from MicrosoftDocs/mixed-reality to your fork

    2. In Visual Studio Code, click the sync button to sync your freshly updated fork to the local clone.

      Click the sync button image

  2. Create or edit articles in your cloned repo using Visual Studio Code.

    1. Edit one or more articles (add images to “images” folder if necessary).

    2. Save changes in Explorer.

      Choose "Save all" in Explorer

    3. Commit all changes in Source Control (write commit message when prompted).

      Choose "Commit all" in Source Control

    4. Click the sync button to sync your changes back to origin (your fork on GitHub).

      Click the sync button

  3. In a web browser, create a pull request to sync new changes in your fork back to MicrosoftDocs/mixed-reality 'master' (make sure the arrow is pointing the correct way).

    Create pull request from your fork into MicrosoftDocs/mixed-reality

Useful extensions

The following Visual Studio Code extensions are very useful when editing documentation:

  • Docs Markdown Extension for Visual Studio Code - Use Alt+M to bring up a menu of docs authoring options like:
    • Search and reference images you've uploaded.
    • Add formatting like lists, tables, and docs-specific call-outs like >[!NOTE].
    • Search and reference internal links and bookmarks (links to specific sections within a page).
    • Formatting errors are highlighted (hover your mouse over the error to learn more).
  • Code Spell Checker - misspelled words will be underlined; right-click on a misspelled word to change it or save it to the dictionary.