User:End0 da Baker
title: "Understanding MDX" date: "2023-10-27"
Diving Deep into MDX
Let's explore what MDX is all about. Essentially, MDX empowers you to seamlessly integrate JSX components directly within your Markdown content.
The Power of JSX in Markdown
Imagine the possibilities: You can now use interactive components, dynamic data visualizations, and custom UI elements within your standard Markdown documents. This opens up a whole new world of expressiveness for your content.
function MyComponent() {
return (
<h1>Hello from a React component!</h1>
);
}
Benefits of Using MDX
- Enhanced Content: Make your documentation, blog posts, and articles more engaging and interactive.
- Component Reusability: Use the same components across multiple MDX files, promoting consistency and reducing code duplication.
- Dynamic Content Generation: Fetch data from external sources and display it dynamically within your Markdown.
Getting Started with MDX
To begin using MDX, you'll need to set up your development environment. This typically involves installing the necessary MDX packages and configuring your build process. Refer to the official MDX documentation for detailed instructions.
Image Example

print("Hello, world!")
Some block of text
Some block of text
{
"key": "value"
}
echo "Hello, world!"
<h1>Hello, world!</h1>
body {
background-color: lightblue;
}
key: value
--- a/file1.txt
+++ b/file1.txt
@@ -1,2 +1,3 @@
This is line 1.
This is line 2.
+This is line 3.
query {
user(id: "123") {
name
email
}
}
graph LR
A[Start] --> B(Process)
B --> C{Decision}
C -- Yes --> D[End]
C -- No --> B
SELECT * FROM users WHERE id = 1;
function greet(name: string): string {
return `Hello, ${name}!`;
}
function MyComponent() {
return (
<div>
<h1>Hello from JSX!</h1>
<p>This is a paragraph in JSX.</p>
</div>
);
}
<script>
let name = 'World';
</script>
<h1>Hello {name}!</h1>
<template>
<div>
<h1>Hello from Vue!</h1>
<p>This is a paragraph in Vue.</p>
</div>
</template>
<script>
export default {
name: 'MyComponent'
}
</script>
using System;
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
fun main() {
println("Hello, World!")
}
puts "Hello, World!"
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
fn main() {
println!("Hello, world!");
}
<?php
echo "Hello, World!";
?>
print "Hello, World!\n";
print("Hello, World!")
print("Hello, World!")
object Main {
def main(args: Array[String]): Unit = {
println("Hello, World!")
}
}
print("Hello, World!")
console.log "Hello, World!"
printfn "Hello, World!"
IO.puts "Hello, World!"
(println "Hello, World!")
-module(hello).
-export([start/0]).
start() ->
io:format("Hello, World!~n").
main :: IO ()
main = putStrLn "Hello, World!"
Write-Host "Hello, World!"
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; Write to stdout
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg ; message address
mov edx, 13 ; message length (including newline)
int 0x80
; Exit program
mov eax, 1 ; sys_exit
xor ebx, ebx ; exit code 0
int 0x80
void main() {
print('Hello, World!');
}
println("Hello, World!")
program hello
print *, "Hello, World!"
end program hello
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
program HelloWorld;
begin
writeln('Hello, World!');
end.
(print "Hello, World!")
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "Hello, World!".
STOP RUN.
(display "Hello, World!")
(newline)
puts "Hello, World!"
hello :-
write('Hello, World!'), nl.
BEGIN { print "Hello, World!" }
s/^/Hello, World!/
+++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.>>+.>++.
program HelloWorld;
{$APPTYPE CONSOLE}
begin
Writeln('Hello, World!');
Readln;
end.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"Hello, World!");
}
return 0;
}
Module Program
Sub Main(args As String())
Console.WriteLine("Hello, World!")
End Sub
End Module
import std.stdio;
void main() {
writeln("Hello, World!");
}
class
HELLO_WORLD
create
make
feature
make
do
print ("Hello, World!%N")
end
end
." Hello, World!" cr
bye
Transcript show: 'Hello, World!'; cr.
'Hello, World!'
/* REXX */
say 'Hello, World!'
BEGIN
OUTTEXT("Hello, World!");
OUTIMAGE;
END
BEGIN
print(("Hello, World!",newline))
END
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/
." Hello, World!" cr
bye
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
library ieee;
use ieee.std_logic_1164.all;
entity hello is
end hello;
architecture behavioral of hello is
begin
process
begin
report "Hello, World!";
wait;
end process;
end behavioral;
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
disp('Hello, World!');
disp('Hello, World!');
print("Hello, World!")
(println "Hello, World!")
IO.puts "Hello, World!"
-module(hello).
-export([start/0]).
start() ->
io:format("Hello, World!~n").
main :: IO ()
main = putStrLn "Hello, World!"
Write-Host "Hello, World!"
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; Write to stdout
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg ; message address
mov edx, 13 ; message length (including newline)
int 0x80
; Exit program
mov eax, 1 ; sys_exit
xor ebx, ebx ; exit code 0
int 0x80
void main() {
print('Hello, World!');
}
println("Hello, World!")
program hello
print *, "Hello, World!"
end program hello
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
program HelloWorld;
begin
writeln('Hello, World!');
end.
(print "Hello, World!")
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "Hello, World!".
STOP RUN.
(display "Hello, World!")
(newline)
puts "Hello, World!"
hello :-
write('Hello, World!'), nl.
BEGIN { print "Hello, World!" }
s/^/Hello, World!/
+++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.>>+.>++.
program HelloWorld;
{$APPTYPE CONSOLE}
begin
Writeln('Hello, World!');
Readln;
end.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"Hello, World!");
}
return 0;
}
Module Program
Sub Main(args As String())
Console.WriteLine("Hello, World!")
End Sub
End Module
import std.stdio;
void main() {
writeln("Hello, World!");
}
class
HELLO_WORLD
create
make
feature
make
do
print ("Hello, World!%N")
end
end
." Hello, World!" cr
bye
Transcript show: 'Hello, World!'; cr.
'Hello, World!'
/* REXX */
say 'Hello, World!'
BEGIN
OUTTEXT("Hello, World!");
OUTIMAGE;
END
BEGIN
print(("Hello, World!",newline))
END
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/
." Hello, World!" cr
bye
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
library ieee;
use ieee.std_logic_1164.all;
entity hello is
end hello;
architecture behavioral of hello is
begin
process
begin
report "Hello, World!";
wait;
end process;
end behavioral;
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
disp('Hello, World!');
disp('Hello, World!');
print("Hello, World!")
(println "Hello, World!")
IO.puts "Hello, World!"
-module(hello).
-export([start/0]).
start() ->
io:format("Hello, World!~n").
main :: IO ()
main = putStrLn "Hello, World!"
Write-Host "Hello, World!"
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; Write to stdout
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg ; message address
mov edx, 13 ; message length (including newline)
int 0x80
; Exit program
mov eax, 1 ; sys_exit
xor ebx, ebx ; exit code 0
int 0x80
void main() {
print('Hello, World!');
}
println("Hello, World!")
program hello
print *, "Hello, World!"
end program hello
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
program HelloWorld;
begin
writeln('Hello, World!');
end.
(print "Hello, World!")
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "Hello, World!".
STOP RUN.
(display "Hello, World!")
(newline)
puts "Hello, World!"
hello :-
write('Hello, World!'), nl.
BEGIN { print "Hello, World!" }
s/^/Hello, World!/
+++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.>>+.>++.
program HelloWorld;
{$APPTYPE CONSOLE}
begin
Writeln('Hello, World!');
Readln;
end.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"Hello, World!");
}
return 0;
}
Module Program
Sub Main(args As String())
Console.WriteLine("Hello, World!")
End Sub
End Module
import std.stdio;
void main() {
writeln("Hello, World!");
}
class
HELLO_WORLD
create
make
feature
make
do
print ("Hello, World!%N")
end
end
." Hello, World!" cr
bye
Transcript show: 'Hello, World!'; cr.
'Hello, World!'
/* REXX */
say 'Hello, World!'
BEGIN
OUTTEXT("Hello, World!");
OUTIMAGE;
END
BEGIN
print(("Hello, World!",newline))
END
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/
." Hello, World!" cr
bye
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
library ieee;
use ieee.std_logic_1164.all;
entity hello is
end hello;
architecture behavioral of hello is
begin
process
begin
report "Hello, World!";
wait;
end process;
end behavioral;
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
disp('Hello, World!');
disp('Hello, World!');
print("Hello, World!")
(println "Hello, World!")
IO.puts "Hello, World!"
-module(hello).
-export([start/0]).
start() ->
io:format("Hello, World!~n").
main :: IO ()
main = putStrLn "Hello, World!"
Write-Host "Hello, World!"
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; Write to stdout
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg ; message address
mov edx, 13 ; message length (including newline)
int 0x80
; Exit program
mov eax, 1 ; sys_exit
xor ebx, ebx ; exit code 0
int 0x80
void main() {
print('Hello, World!');
}
println("Hello, World!")
program hello
print *, "Hello, World!"
end program hello
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
program HelloWorld;
begin
writeln('Hello, World!');
end.
(print "Hello, World!")
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "Hello, World!".
STOP RUN.
(display "Hello, World!")
(newline)
puts "Hello, World!"
hello :-
write('Hello, World!'), nl.
BEGIN { print "Hello, World!" }
s/^/Hello, World!/
+++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.>>+.>++.
program HelloWorld;
{$APPTYPE CONSOLE}
begin
Writeln('Hello, World!');
Readln;
end.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"Hello, World!");
}
return 0;
}
Module Program
Sub Main(args As String())
Console.WriteLine("Hello, World!")
End Sub
End Module
import std.stdio;
void main() {
writeln("Hello, World!");
}
class
HELLO_WORLD
create
make
feature
make
do
print ("Hello, World!%N")
end
end
." Hello, World!" cr
bye
Transcript show: 'Hello, World!'; cr.
'Hello, World!'
/* REXX */
say 'Hello, World!'
BEGIN
OUTTEXT("Hello, World!");
OUTIMAGE;
END
BEGIN
print(("Hello, World!",newline))
END
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/
." Hello, World!" cr
bye
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
library ieee;
use ieee.std_logic_1164.all;
entity hello is
end hello;
architecture behavioral of hello is
begin
process
begin
report "Hello, World!";
wait;
end process;
end behavioral;
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
disp('Hello, World!');
disp('Hello, World!');
print("Hello, World!")
(println "Hello, World!")
IO.puts "Hello, World!"
-module(hello).
-export([start/0]).
start() ->
io:format("Hello, World!~n").
main :: IO ()
main = putStrLn "Hello, World!"
Write-Host "Hello, World!"
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; Write to stdout
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg ; message address
mov edx, 13 ; message length (including newline)
int 0x80
; Exit program
mov eax, 1 ; sys_exit
xor ebx, ebx ; exit code 0
int 0x80
void main() {
print('Hello, World!');
}
println("Hello, World!")
program hello
print *, "Hello, World!"
end program hello
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
program HelloWorld;
begin
writeln('Hello, World!');
end.
(print "Hello, World!")
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "Hello, World!".
STOP RUN.
(display "Hello, World!")
(newline)
puts "Hello, World!"
hello :-
write('Hello, World!'), nl.
BEGIN { print "Hello, World!" }
s/^/Hello, World!/
+++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.>>+.>++.
program HelloWorld;
{$APPTYPE CONSOLE}
begin
Writeln('Hello, World!');
Readln;
end.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"Hello, World!");
}
return 0;
}
Module Program
Sub Main(args As String())
Console.WriteLine("Hello, World!")
End Sub
End Module
import std.stdio;
void main() {
writeln("Hello, World!");
}
class
HELLO_WORLD
create
make
feature
make
do
print ("Hello, World!%N")
end
end
." Hello, World!" cr
bye
Transcript show: 'Hello, World!'; cr.
'Hello, World!'
/* REXX */
say 'Hello, World!'
BEGIN
OUTTEXT("Hello, World!");
OUTIMAGE;
END
BEGIN
print(("Hello, World!",newline))
END
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/
." Hello, World!" cr
bye
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
library ieee;
use ieee.std_logic_1164.all;
entity hello is
end hello;
architecture behavioral of hello is
begin
process
begin
report "Hello, World!";
wait;
end process;
end behavioral;
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
disp('Hello, World!');
disp('Hello, World!');
print("Hello, World!")
(println "Hello, World!")
IO.puts "Hello, World!"
-module(hello).
-export([start/0]).
start() ->
io:format("Hello, World!~n").
main :: IO ()
main = putStrLn "Hello, World!"
Write-Host "Hello, World!"
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; Write to stdout
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg ; message address
mov edx, 13 ; message length (including newline)
int 0x80
; Exit program
mov eax, 1 ; sys_exit
xor ebx, ebx ; exit code 0
int 0x80
void main() {
print('Hello, World!');
}
println("Hello, World!")
program hello
print *, "Hello, World!"
end program hello
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
program HelloWorld;
begin
writeln('Hello, World!');
end.
(print "Hello, World!")
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "Hello, World!".
STOP RUN.
(display "Hello, World!")
(newline)
puts "Hello, World!"
hello :-
write('Hello, World!'), nl.
BEGIN { print "Hello, World!" }
s/^/Hello, World!/
+++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.>>+.>++.
program HelloWorld;
{$APPTYPE CONSOLE}
begin
Writeln('Hello, World!');
Readln;
end.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"Hello, World!");
}
return 0;
}
Module Program
Sub Main(args As String())
Console.WriteLine("Hello, World!")
End Sub
End Module
import std.stdio;
void main() {
writeln("Hello, World!");
}
class
HELLO_WORLD
create
make
feature
make
do
print ("Hello, World!%N")
end
end
." Hello, World!" cr
bye
Transcript show: 'Hello, World!'; cr.
'Hello, World!'
/* REXX */
say 'Hello, World!'
BEGIN
OUTTEXT("Hello, World!");
OUTIMAGE;
END
BEGIN
print(("Hello, World!",newline))
END
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/
." Hello, World!" cr
bye
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("Hello, World!");
end Hello;
library ieee;
use ieee.std_logic_1164.all;
entity hello is
end hello;
architecture behavioral of hello is
begin
process
begin
report "Hello, World!";
wait;
end process;
end behavioral;
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
module hello;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
disp('Hello, World!');
disp('Hello, World!');
print("Hello, World!")
(println "Hello, World!")
IO.puts "Hello, World!"
-module(hello).
-export([start/0]).
start() ->
io:format("Hello, World!~n").
main :: IO ()
main = putStrLn "Hello, World!"
Write-Host "Hello, World!"
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; Write to stdout
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg ; message address
mov edx, 13 ; message length (including newline)
int 0x80
; Exit program
mov eax, 1 ; sys_exit
xor ebx, ebx ; exit code 0
int 0x80
void main() {
print('Hello, World!');
}
println("Hello, World!")
program hello
print *, "Hello, World!"
end program hello
with Ada.Text_IO; use Ada.Text_IO;
<AppearanceSection></AppearanceSection>