For basic markdown usage, please take a look at https://www.markdownguide.org/basic-syntax.
CodiMD uses markdown-it as markdown render engine under the hood. markdown-it
is an extensible markdown engine that we can easily write plugins for it, adding a bunch of powerful syntaxes to boot your productivity
markdown-it@9.0.0
. You can learn more about the CommonMark Specification at this link: https://spec.commonmark.org/0.29/
Except CommonMark Specification, CodiMD also has many powerful plugins to speed up your Markdown experience. here is all plugins that CodiMD supports and its syntax and example below.
Abbreviation (<abbr>) tag plugin for markdown-it markdown parser.
Syntax
*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium
The HTML specification
is maintained by the W3C.
Result
Plugin for creating block-level custom containers for markdown-it markdown parser.
Syntax
:::success
success message container
:::
:::info
information message container
:::
:::warning
warning message container
:::
:::danger
danger message container
:::
:::spoiler
spoiler message container
:::
Result
success message container
information message container
warning message container
danger message container
spoiler message container
Definition list (<dl>) tag plugin for markdown-it markdown parser.
This plugin use pandoc like syntax for term definition
syntax
Term 1
: Definition 1
New line of definition
: Definition 2
: Definition 3
Term 2 with *`inline markup`*
: Definition 2
{ some code, part of Definition 2 }
Third paragraph of definition 2.
Definition 1
New line of definition
Definition 2
Definition 3
inline markup
Definition 2
{ some code, part of Definition 2 }
Third paragraph of definition 2.
This plugin support pandoc footnote syntax in markdown-it.
syntax
Here is a footnote reference,[^1] and another.[^longnote]
[^1]: Here is the footnote.
[^longnote]: Here's one with multiple blocks.
Subsequent paragraphs are indented to show that they
belong to the previous footnote.
result
You can specifiy the size of image by the following syntax.
syntax

## example




<img src="https://i.imgur.com/4kxe3me.jpg" alt="beautiful image" width="640">
<ins> tag plugin for markdown-it markdown parser.
syntax
++inserted text++
result
inserted text
<mark> tag plugin for markdown-it markdown parser.
syntax
==mark text==
result
mark text
Markdown-it plugin to bypass LaTeX math for MathJax processing.
CodiMD only supports MathJax TeX and LaTeX. Please check the document for more syntaxes. http://docs.mathjax.org/en/v2.7-latest/tex.html
syntax
$x = {-b \pm \sqrt{b^2-4ac} \over 2a}$
$$
x = {-b \pm \sqrt{b^2-4ac} \over 2a}
$$
result
inline MathJax
block MathJax
<sub> tag plugin for markdown-it, its based on pandoc syntax.
sytaxn
H~2~O
H2O
Superscript (<sup>) tag plugin for markdown-it markdown parser.
syntax
29^th^
result
29th
Ruby annotations (<ruby>) tag plugin for markdown-it markdown parser.
syntax
{ruby base|ruby text}
result
ruby base
syntax
- [ ] work item 1
- [x] sub item 1
- [ ] sub item 2
- [ ] work item 2
result
both
, view
mode to "check" the todo item.
syntax
```javascript const list = [10, 20]; console.log(list.map(x => (x * x))) ```
result
const list = [10, 20];
console.log(list.map(x => (x * x)))
Learn More →
If you need a language that is not in the below list, please open an issue on GitHub.
1c
, abnf
, accesslog
, actionscript
, ada
, angelscript
, apache
, applescript
, arcade
, arduino
, armasm
, asciidoc
, aspectj
, autohotkey
, autoit
, avrasm
, awk
, axapta
, bash
, basic
, bnf
, brainfuck
, cal
, capnproto
, ceylon
, clean
, clike
, clojure-repl
, clojure
, clojure
, cmake
, cmake
, coffeescript
, coffeescript
, coq
, cos
, cpp
, crmsh
, crystal
, cs
, csp
, css
, css
, d
, dart
, delphi
, diff
, django
, dns
, dockerfile
, dockerfile
, dos
, dsconfig
, dts
, dust
, ebnf
, elixir
, elm
, erb
, erlang-repl
, erlang
, excel
, fix
, flix
, fortran
, fsharp
, gams
, gauss
, gcode
, gherkin
, gherkin
, glsl
, gml
, go
, go
, golo
, gradle
, groovy
, haml
, handlebars
, haskell
, haskell
, haxe
, hsp
, htmlbars
, htmlembedded
, htmlmixed
, http
, hy
, inform7
, ini
, irpf90
, isbl
, java
, javascript
, javascript
, jboss-cli
, json
, jsx
, julia-repl
, julia
, kotlin
, lasso
, ldif
, leaf
, less
, lisp
, livecodeserver
, livescript
, llvm
, lsl
, lua
, lua
, makefile
, markdown
, mathematica
, matlab
, maxima
, mediawiki
, mel
, mercury
, mipsasm
, mizar
, mojolicious
, monkey
, moonscript
, n1ql
, nginx
, nginx
, nimrod
, nix
, nsis
, objectivec
, ocaml
, openscad
, oxygene
, parser3
, perl
, perl
, pf
, pgsql
, php
, php
, plaintext
, pony
, powershell
, processing
, profile
, prolog
, properties
, protobuf
, pug
, puppet
, purebasic
, python
, python
, q
, qml
, r
, r
, reasonml
, rib
, roboconf
, routeros
, rsl
, ruby
, ruby
, ruleslanguage
, rust
, sas
, sass
, scala
, scheme
, scilab
, scss
, shell
, shell
, smali
, smalltalk
, sml
, sqf
, sql
, sql
, stan
, stata
, step21
, stylus
, subunit
, swift
, taggerscript
, tap
, tcl
, tex
, thrift
, tiddlywiki
, tp
, twig
, typescript
, typescript
, vala
, vbnet
, vbscript-html
, vbscript
, verilog
, vhdl
, vim
, x86asm
, xl
, xml
, xml
, xquery
, yaml
, yaml
, zephir
syntax
```= const list = [10, 20]; console.log(list.map(x => (x * x))) ```
Can use with language highlight
```javascript= const list = [10, 20]; console.log(list.map(x => (x * x))) ```
You can specify start line number of the code block
```javascript=10 const list = [10, 20]; console.log(list.map(x => (x * x))) ```
result
const list = [10, 20];
console.log(list.map(x => (x * x)))
const list = [10, 20];
console.log(list.map(x => (x * x)))
const list = [10, 20];
console.log(list.map(x => (x * x)))
syntax
```! const veryLongLine = list.map(doSomething1).map(doSomething2).map(doSomething3).join(", ").toLocaleLowerCase('en-US') ```
Soft wrap can be used with code highlighting:
```javascript! const veryLongLine = list.map(doSomething1).map(doSomething2).map(doSomething3).join(", ").toLocaleLowerCase('en-US') ```
result
const veryLongLine = list.map(doSomething1).map(doSomething2).map(doSomething3).join(", ").toLocaleLowerCase('en-US')
const veryLongLine = list.map(doSomething1).map(doSomething2).map(doSomething3).join(", ").toLocaleLowerCase('en-US')
Compare to below when soft wrap disabled:
const veryLongLine = list.map(doSomething1).map(doSomething2).map(doSomething3).join(", ").toLocaleLowerCase('en-US')