Markdown
Markdown is a lightweight markup language with plain text formatting syntax. Docfx supports CommonMark compliant Markdown parsed through the Markdig parsing engine.
Link to Math Expressions
Block Quotes
This is a block quote.
Alerts
Note
Information the user should notice even if skimming.
Tip
Optional information to help a user be more successful.
Important
Essential information required for user success.
Caution
Negative potential consequences of an action.
Warning
Dangerous certain consequences of an action.
MY TODO
This is a TODO.
Image

Mermaid Diagrams
Flowchart
flowchart LR
A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
Code Snippet
The example highlights lines 2, line 5 to 7 and lines 9 to the end of the file.
using System;
using Azure;
using Azure.Storage;
using Azure.Storage.Blobs;
class Program
{
static void Main(string[] args)
{
// Define the connection string for the storage account
string connectionString = "DefaultEndpointsProtocol=https;AccountName=<your-account-name>;AccountKey=<your-account-key>;EndpointSuffix=core.windows.net";
// Create a new BlobServiceClient using the connection string
var blobServiceClient = new BlobServiceClient(connectionString);
// Create a new container
var container = blobServiceClient.CreateBlobContainer("mycontainer");
// Upload a file to the container
using (var fileStream = File.OpenRead("path/to/file.txt"))
{
container.UploadBlob("file.txt", fileStream);
}
// Download the file from the container
var downloadedBlob = container.GetBlobClient("file.txt").Download();
using (var fileStream = File.OpenWrite("path/to/downloaded-file.txt"))
{
downloadedBlob.Value.Content.CopyTo(fileStream);
}
}
}
Math Expressions
This sentence uses $ delimiters to show math inline: \(\sqrt{3x-1}+(1+x)^2\)
The Cauchy-Schwarz Inequality
\(\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)\)
This expression uses \$ to display a dollar sign: \(\sqrt{\$4}\)
To split $100 in half, we calculate \(100/2\)
Custom Syntax Highlighting
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
name: 'hello'
// (...)
}
Tabs
The above tab group was created with the following syntax:
# [Linux](#tab/linux)
Content for Linux...
# [Windows](#tab/windows)
Content for Windows...
---
Tabs are indicated by using a specific link syntax within a Markdown header. The syntax can be described as follows:
# [Tab Display Name](#tab/tab-id)
A tab starts with a Markdown header, #, and is followed by a Markdown link [](). The text of the link will become the text of the tab header, displayed to the customer. In order for the header to be recognized as a tab, the link itself must start with #tab/ and be followed by an ID representing the content of the tab. The ID is used to sync all same-ID tabs across the page. Using the above example, when a user selects a tab with the link #tab/windows, all tabs with the link #tab/windows on the page will be selected.
Dependent tabs
It's possible to make the selection in one set of tabs dependent on the selection in another set of tabs. Here's an example of that in action:
.NET content for Linux...
Notice how changing the Linux/Windows selection above changes the content in the .NET and TypeScript tabs. This is because the tab group defines two versions for each .NET and TypeScript, where the Windows/Linux selection above determines which version is shown for .NET/TypeScript. Here's the markup that shows how this is done:
# [.NET](#tab/dotnet/linux)
.NET content for Linux...
# [.NET](#tab/dotnet/windows)
.NET content for Windows...
# [TypeScript](#tab/typescript/linux)
TypeScript content for Linux...
# [TypeScript](#tab/typescript/windows)
TypeScript content for Windows...
# [REST API](#tab/rest)
REST API content, independent of platform...
---
Details
Demo
root@server# apt-get install nano