Markdown

Markdown is a popular lightweight markup language used to add formatting elements to plaintext text messages at Eolymp, such as comments, posts etc.

Markdown uses special syntax to indicate which words and phrases should look different. For example, to make a phrase bold, you add two asterisks before and after it: **this text is bold**.

The Markdown parser used at Eolymp adheres to Commonmark specification but also offers a few extensions, such as admonitions, tabs, tables and fenced blocks.

Basic syntax

Paragraphs

By default, all text becomes a paragraph. Single new line symbols are ignored. Paragraphs should be separated by a blank line, i.e., use two new line symbols to start a new paragraph.

Heading

You can define a heading by adding # at the beginning of the string. The number of # symbols defines the level of the heading.

Emphasis

You can add emphasis to a fragment text by making it bold or italic, frame a fragment with a double asterisk symbol or an underscore symbol.

You can insert links by using the following syntax [link text](link address).

Images

You can embed images using a syntax similar to links, but with the additional exclamation mark ![image description](image address).

You can simply drag and drop the image into the input field and the system will upload the image to the Eolymp server and add the required markup to the message.

Video

You can embed video files or YouTube videos using same syntax as for images.

Code fragments

Sometimes you might need to reference a variable or a function name in your text, use back tick symbol ` to highlight the fragment using monospaced font and special styling. For example,

You can also insert larger code fragments in your messages using a sequence of three back tick symbols in a row ```.

Math and formulas

If you like to add a mathematical expression or a formula to your message you may use math mode. Similar to code fragments you can use inline math expressions denoted with a single $ symbol, or instert larger math blocks by wrapping them in pair of $$ sequences.

The expressions themselves are written using LaTeX math format and rendered using KaTeX library. Learn more about expressions supported by KaTeX at their website.

Or, insert math blocks using a pair of $$ symbols.

Quote

Add > in the beginning of the line to mark a fragment as a quote.

Advanced syntax

In some, larger documents, such as posts and pages, you can use extended syntax.

Tables

Use the following syntax to add a table.

Each row in the table should have the same number of cells. The first row is always a table header, followed by a delimiter row. The delimiter row defines alignment for the column:

  • ---- column uses default alignment

  • :--- column is aligned to the left

  • :--: column is center aligned

  • ---: column is aligned to the right

Additionally, you can wrap the table in ::: {.center} to center it or ::: {#flex} to stretch it to entire width of the page.

Admonitions

Admonitions allow you to emphasize a fragment of a document or place additional information. To add an admonition, use the following syntax

!!! note "Title"
    Content

In this example, note is the admonition type and "Title" is the title. The admonition will contain all the text following text, separated by 4 space characters.

Tabs

Add tabs to display few variants of the same content in a compact manner.

Tab one content

Layout

You can combine and display content in grid, row and column layouts. You can combine different layouts to achieve more complex placements. There are three main types of layouts:

  • column - layout places children in a single column with a small gap between them

  • row - layout places children in a single row with a small gap between them

  • grid - layout places children across a grid with 2, 4 or 6 columns

You can use any elements inside layout block, but layouts work best with div and card elements.

Layouts automatically adopt to the smaller screen sizes to ensure all elements have sufficient space.

Text alignment

You can align the content of the document using a special block.

Widgets

You can post a list of tasks, competitions or other information using widgets. Widgets are only available on site pages.