Logo
MDXMarkdownReactNext.jsFrontend DevelopmentWeb Development

Implement Fancy MDX

Tue Apr 26 2022Tue May 31 20229 minutes

Fancy MDX

All your .md and .mdx files under the contents directory will be rendered with MDX, it's an advanced Markdown format with React component support.

Heading

Hello, This Is a Title Inside h1

Hello, This Is a Title Inside h2

Hello, This Is a Title Inside h3

Hello, This Is a Title Inside h4

Hello, This Is a Title Inside h5
Hello, This Is a Title Inside h6

List

Unordered List

  • Create a list by starting a line with +, -, or *.
  • Sub-lists are made by indenting 2 spaces:
    • Marker character change forces new list start:
      • Ac tristique libero volutpat at.
      • Facilisis in pretium nisl aliquet.
      • Nulla volutpat aliquam velit.
  • Very easy!

Ordered List

Sequential numbering:
  1. Lorem ipsum dolor sit amet:
    1. Lorem ipsum dolor sit amet:
      1. Lorem ipsum dolor sit amet.
      2. Consectetur adipiscing elit.
      3. Integer molestie lorem at massa.
    2. Consectetur adipiscing elit:
      1. Lorem ipsum dolor sit amet.
    3. Integer molestie lorem at massa:
      1. Lorem ipsum dolor sit amet.
      2. Consectetur adipiscing elit.
  2. Consectetur adipiscing elit:
    1. Lorem ipsum dolor sit amet:
      1. Lorem ipsum dolor sit amet.
      2. Consectetur adipiscing elit.
    2. Consectetur adipiscing elit:
      1. Lorem ipsum dolor sit amet.
      2. Consectetur adipiscing elit.
      3. Integer molestie lorem at massa.
  3. Integer molestie lorem at massa:
    1. Lorem ipsum dolor sit amet.
    2. Consectetur adipiscing elit.
    3. Integer molestie lorem at massa.
Same numbering:
  1. You can keep all the numbers as 1.:
    1. Lorem ipsum dolor sit amet:
      1. Lorem ipsum dolor sit amet.
      2. Lorem ipsum dolor sit amet.
      3. Lorem ipsum dolor sit amet.
    2. Lorem ipsum dolor sit amet:
      1. Lorem ipsum dolor sit amet.
    3. Lorem ipsum dolor sit amet:
      1. Lorem ipsum dolor sit amet.
      2. Lorem ipsum dolor sit amet.
  2. Lorem ipsum dolor sit amet:
    1. Lorem ipsum dolor sit amet.
    2. Lorem ipsum dolor sit amet.
    3. Lorem ipsum dolor sit amet.
Start numbering with offset:
  1. 108 numbering list.
  2. 1 numbering list.
  3. 1 numbering list.

Task List

1- [x] Write the press release.
2- [ ] Update the website.
3- [ ] Contact the media.
Renders:
  • Write the press release.
  • Update the website.
  • Contact the media.

Horizontal Rule

1___
Renders:
1---
Renders:
1***
Renders:

Emphasis

Bold

1**This is bold text**.
2
3__This is bold text__.
Renders:
This is bold text.
This is bold text.

Italic

1*This is italic text*.
2
3_This is italic text_.
Renders:
This is italic text.
This is italic text.

Strikethrough

1~This is strikethrough text~.
2
3~~This is strikethrough text~~.
Renders:
This is strikethrough text.
This is strikethrough text.

Blockquote

Nested Blockquote

Blockquotes can also be nested...
...by using additional greater-than signs right next to each other...
...or with spaces between arrows.

Continued Blockquote

Blockquotes can also be continued... ...continued... ...continued continued...

Long Blockquote

Blockquotes can be very very very very very very very very long...very very very very very very very very long...very very very very very very very very long...very very very very very very very very long...very very very very very very very very long...very very very very very very very very long...very very very very very very very very long...very very very very very very very very long...very very very very very very very very long...

Table

Basic Table

abcd
10200360048000
20010480003600
36004800010200
48000360020010
OptionDescription
datapath to data files to supply the data that will be passed into templates.
engineengine to be used for processing templates. Handlebars is the default.
extextension to be used for dest files.

Left Aligned Table

OptionDescription
datapath to data files to supply the data that will be passed into templates.
engineengine to be used for processing templates. Handlebars is the default.
extextension to be used for dest files.

Center Aligned Table

OptionDescription
datapath to data files to supply the data that will be passed into templates.
engineengine to be used for processing templates. Handlebars is the default.
extextension to be used for dest files.

Right Aligned Table

OptionDescription
datapath to data files to supply the data that will be passed into templates.
engineengine to be used for processing templates. Handlebars is the default.
extextension to be used for dest files.

Code

Inline code.
Block code "fences":
1Sample text here...
Syntax highlighting:
1const foo = function (bar) {
2 return bar++;
3};
4
5foo(5);
6
7some.code();
Auto-converted link https://github.com/sabertazimi/blog (enable linkify to see):

Footnote

A note1.
Another note2.
Yet another note3.

Image

Local Image

image
Preview
image

Remote Image

Minion
Preview
Minion

Image Title

Stormtroopocat
Preview
The Stormtroopocat
Stormtroopocat

Image Footnote

Like links, Images also have a footnote style syntax:
Alt text
Preview
The Dojocat
Alt text
With a reference later in the document defining the URL location:
1[id]: https://octodex.github.com/images/dojocat.jpg 'The Dojocat'

JSX

JSX Element

1<h2>JSX Heading 2</h2>
2
3<abbr title="HyperText Markup Language">HTML</abbr> is a lovely language.
4
5<section>And here is *markdown* in **JSX**!</section>
6
7<div># this is not a heading but *this* is emphasis</div>
8
9I can write **Markdown** alongside my _JSX_!
10
11<div>This is a `p`.</div>
Renders:

JSX Heading 2

HTML is a lovely language.
And here is markdown in JSX!
# this is not a heading but this is emphasis
I can write Markdown alongside my JSX!
This is a p.

JavaScript Expression

1Two 🍰 is: {Math.PI * 2}.
Renders:
Two 🍰 is: 6.283185307179586.
1{(function () {
2 const guess = 0.44
3
4 if (guess > 0.66) {
5 return <span style={{color: 'tomato'}}>Look at us.</span>
6 }
7
8 if (guess > 0.33) {
9 return <span style={{color: 'violet'}}>Who would have guessed?!</span>
10 }
11
12 return <span style={{color: 'goldenrod'}}>Not me.</span>
13})()}
Renders:
Who would have guessed?!

MDX Comment

1{/* A comment! */}
Renders nothing.

Git

Emoji

Thumbs up: πŸ‘, thumbs down: πŸ‘Ž.
Families: πŸ‘¨β€πŸ‘¨β€πŸ‘¦β€πŸ‘¦.
Some flags: πŸ‡¨πŸ‡³, πŸ‡ΊπŸ‡Έ, πŸ‡·πŸ‡Ί, πŸ‡¬πŸ‡§, πŸ‡«πŸ‡·.
Tada πŸŽ‰, sparkles ✨, rocket πŸš€.
Bug πŸ›, wrench πŸ”§, zap ⚑.

Math

Inline Math Formula

This is a math formula a2+b2\sqrt{a^2 + b^2}.
This is another math formula c=Β±a2+b2c = \pm\sqrt{a^2 + b^2}.

Block Math Formula

L=12ρv2SCLL = \frac{1}{2} \rho v^2 S C_L
abcdefghi\def\arraystretch{1.5} \begin{array}{c:c:c} a & b & c \\ \hline d & e & f \\ \hdashline g & h & i \end{array}
a=b+c=e+f\begin{equation} \begin{split} a &= b + c \\ &= e + f \end{split} \end{equation}
a=b+cd+e=f\begin{align} a &= b + c \\ d + e &= f \end{align}
10x+3y=23x+13y=4\begin{alignat}{2} 10 &x + &3 &y = 2 \\ 3 &x + &13 &y = 4 \end{alignat}

Admonition

Green Admonition

Blue Admonition

Yellow Admonition

Red Admonition

Title Admonition

MDX Component

Footnotes

  1. Big note. ↩
  2. Small note. ↩
  3. Smallest note. ↩
Copyright Β© Sabertaz
Built with React and Next
Last Built Time