# Markdown in Visual Studio Online

Visual Studio Online supports common Markdown conventions and Github-flavored extensions. Daring Fireball describes Markdown syntax, and the GitHub-flavored extensions are described at GitHub. Here are some additional pointers on creating Markdown for Visual Studio Online.

# Create a link to another Markdown page

A link is represented in Markdown like this: [text to display](link target). When linking to another Markdown page in the same Git or TFVC repository, the link target can be a relative path or an absolute path in the repository.

• Relative path: [text to display](./target.md)
• Absolute path in Git: [text to display](/folder/target.md)
• Absolute path in TFVC: [text to display](\$/project/folder/target.md)

When the Markdown file is rendered as HTML, all of the headings automatically get ids. The id is the heading text with the spaces replaced by dashes (-) and all lower case. For example, the id of this section is link-to-a-heading-in-the-page.

The Markdown for linking to a header looks like this: [text to display](#heading id).

A link to this section would look like this: [this section](#link-to-a-heading-in-the-page). The id is all lower case, and the link is case sensitive, so be sure to use lower case, even though the heading itself uses upper case.

You can reference headings in another Markdown file, too, like this: [text to display](path to markdown#heading id).

# Insert an image

Inserting an image is a lot like linking to another Markdown page.

 ![alt text](path to image file) 

The path to the image file can be a relative path or the absolute path in Git or TVFC, just like the path to another Markdown file in a link.

# Create a new page

You can create a new page by creating a link to a Markdown page that doesn’t yet exist.

 [new page](./newpage.md) 

When you click on that link, VSO will prompt you to create the Markdown file and commit it to your repository.