Both the Octopus blog and the Octopus documentation are written in Markdown and rendered using markdig. Markdig supports GitHub Flavored Markdown as well as some extra syntax.
Filenames
- In this quick tutorial, I'll be showing you how to make your posts pretty using Markdown styling! Headers First we'll learn about headers. A header starts with a hash symbol followed by a space: Output: A header Headers can be a variety of sizes. A smaller header starts with more hash symbols. The number of hash symbols can be 1 to 6: Output: A header with 4 hash symbols Alternatively.
- MkDocs is a static site generator designed for building documentation websites. Written in the Python programming language, MkDocs is an open-source project with a lot of community support. A variety of themes are available. In terms of Markdown support, MkDocs does an excellent job supporting the basic syntax elements, but it lacks support for some extended syntax elements.
Markdown filenames are lowercase and end with .md
. Use hyphens to separate words:
Install R Markdown. R Markdown is a free, open source tool that is installed like any other R.
installation.md
backup-and-restore.md
Files and directories
Directories must have an index file: index.md
.
- directory/index.md
- directory/another-file.md
YAML headers
The Markdown files in the blog and docs have a YAML header:
YAML header (blog)
YAML header (docs)
Table of contents
Use !toc
within the body of a page to include a table of contents that lists the sections on the current page.
Headings
Use ##
to create h2 headers and ###
to create h3 headers.
The first header you include on a page must be a h2 header. The title of the page comes from the title in the YAML block.
Formating text
Bold text with **
on both sides of text to create **bold text**
: bold text.
Italicize text with *
on both sides of text to create *emphasized text*
: emphasized text.
Images
Image filenames must be all lowercase.
Add images to an images/
directory in the same directory as the file that references the image.
Images are added to documents with the following syntax:
Images should include alt text for accessibility:
Control the size of the image in pixels by adding: width=500
:
Lists
Bullet lists are written with a hyphen at the beginning of the line:
Which is rendered as: Founder printers driver download for windows.
- Item 1
- Item 2
Numbered lists are written with a number at the beginning of the line. The numbers do not need to increment as this will happen automatically:
Which is rendered as:
- Item 1
- Item 2
You can nest lists by adding three spaces before the nested list items.
Which is rendered as:
- Item 1
- Item 1.1
- Item 1.2
- Item 2
If you include an interruption between list items, you need to resume the list with the number the list should restart from:
Which is rendered as:
- Item 1
- Item 2 A break in the list.
- Item 3
- Item 4
Tables
Tables are written in the following following way:
There are generators online you can use to make this process a bit easier, for instance, Table generator.
Links
To link to other pages within the documentation, use the following syntax (include the full filename and extension):
For more information, see the [installation page](/docs/installation/index.md)
and review the [installation requirements](/docs/installation/requirements.md)
.
This will link to https://www.octopus.com/docs/installation and https://www.octopus.com/docs/installation/requirements.
To link to other posts within the blog, use the following syntax (include the full filename and extension):
This is part one in a series of posts, read [part two](blog/2020-03/blog-title-part-two.md)
.
This links to https://www.octopus.com/blog/blog-title-part-two.
Note, blog posts are organized in the repo into year-month folders, and you need to include this in your link.
Anchor links
To link to a specific section within a document, add the section heading as an anchor and replace the spaces with hyphens:
Octopus can be installed on these versions of [Windows Server](docs/installation/requirements.md#windows-server)
.
This will link to https://octopus.com/docs/installation/requirements#windows-server
If you’d like to control the anchor text (to ensure it doesn’t change even if the title does), use the following syntax:
Special characters will break the anchor text, so don’t include special characters in the anchor.
Navigation paths
When instructing users to navigate through multiple options in the UI, use the following syntax:
Which will be rendered:
Infrastructure ➜ Deployment Targets
Html Quick Guide
Code samples
Use GitHub-style fenced code blocks. For example:
If your example uses multiple languages or files, you can combine them together to add tab headings:
Snippets are highlighted by Highlight.js

language | key |
---|---|
c# | cs |
xml | xml |
no format | no-highlight |
command line | bash |
powershell | ps |
json | json |
sql | sql |
f# | fsharp |
python | python |
text | text |
If no language is defined, highlightjs will guess the language, and it regularly gets it wrong.
Call-outs
To create a call-out that draws the reader’s attention, use the following syntax:
This will be rendered as:
There are several keys, each of which map to a different colored alert:
Key | Color |
---|---|
success | green |
hint | blue |
warning | yellow |
problem | red |
Call-outs are added through bootstrap alerts https://getbootstrap.com/components/#alerts.
Reuse text
To create reusable text that is automatically added to any document that references it, add the text to a new file and save the file with a key followed by .include.md
. For instance, latest-version.include.md
, and save the file to the docs/shared-content/
or blog/shared-content/
directory respectively:
If the complete filename is latest-version.include.md
, to include the text in other documents, use the following everywhere you want the text to be included:
!include <latest-version>
When you use an include file in this way, you only need to update the text in one file and the updated text will be included anywhere it is referenced.

See Octopus snippets for more information on this topic and a library of ready to use snippets across repos.
Referencing Docker images
When referencing docker images, use the syntax:
!docker-image <org/image:tag>
This will be replaced with the most recently published version of the image.
Example 1 - with tags
!docker-image <octopusdeploy/octo:alpine>
Will be replaced with:
octopusdeploy/octo:6.17.3-alpine
Example 2 - without tags
!docker-image <octopusdeploy/octo>
Will be replaced with:
octopusdeploy/octo:6.17.3
Link to the Octopus Guides
The Octopus Guides combine content to allow users to specify their entire CI/CD pipeline and access a guide for their specific pipeline. It is sometimes helpful to link to the guides with specific options pre-defined rather than the default options.
You can create the links to use by adding query parameters to the URL for the guides https://www.octopus.com/docs/guides
:
Application: add
?application=PHP
:Download fujitsu input devices driver. Build server: add
?build-server=jenkins
:Source control:
sourceControl=TFVC
:Package repository:
?packageRepository=Artifactory
:Destination:
?destination=NGINX
:
If you’d like to pre-fill more than one option, add multiple queries parameters to the URL:
https://octopus.com/docs/guides?application=PHP&buildServer=TeamCity&destination=NGINX
Redirects
If you delete or rename a file in either the docs or blog repos, you must add a redirect for that file otherwise publishing will fail.
Redirects are added to docs/redirects.txt
and blog/redirects.txt
files respectively.
The redirects.txt file looks like this:
In the above example, /docs/page1
is redirected to /docs/page2
.
Add your redirect to the end of the file, after the redirect is added, the original file (page1
) needs to be deleted from the repo.
Related pages:
Markdown Quick Reference Cheat Sheet
Markdown Help
Note: The instructions from this guide are referring to the Classic Editor. If you are using the WordPress block editor, please see this guide.
See the Markdown page for instructions on enabling Markdown for posts, pages and comments on your blog, and for more detailed information about using Markdown.
Markdown | Processed | |
---|---|---|
Emphasis | Emphasize Strong Some WordPress.com themes may have different formatting for these styles | |
Inline Links | Most browsers show the title text when hovering over a link. Please note that WordPress shortcodes, like [video] or [audio], will take priority over Markdown links and shouldn’t be used for link text. | A link. |
Referenced Links | The reference section can be anywhere in the document | Some text with a link and another link. |
Inline Images | The “Alt” text (alternative text) makes images accessible to visually impaired | Logo: |
Referenced Images | Smaller logo: | |
Linked Images | Linked logo: | |
Footnotes | Footnotes will be added to the bottom of the document, with a link back to the original reference | I have more 1 to say up here. |
Line breaks | We do not support Markdown’s typical double-space to generate a line break due to our built-in auto-linebreaking function. A regular line break will generate a line break on output. | |
Bullet Lists |
| |
Numbered Lists |
| |
Mixed Lists |
| |
Blockquotes |
| |
Preformatted | ||
Code | This is code | |
Code block | ||
Syntax highlighting | See Posting Source Code for supported languages | |
Headers | Closing hash marks are optional on all levels | Header 1 Header 2 Header 3 Header 4 Header 5 Header 6 |
Definition Lists |
Formatting for definition lists may vary between themes | |
Abbreviations | Definitions can be anywhere in the document | Markdown converts text to HTML. |
These are some of the most useful Markdown features available on WordPress.com. See the official Markdown project and Markdown Extra for details about all available features, and variations on the features mentioned here.
Versatile plans and pricing
Free
Best for students
Personal
Best for hobbyists
Premium
Best for freelancers
Business
Best for small businesses
