Explore all the markdown, extended markdown, and other embed features available in this blog theme.
This post demonstrates all the markdown, extended markdown, and other embed features available in Astro Modular. Use this as both a reference guide and a showcase of what’s possible.
**bold** or __bold__*italic* or _italic_***text***~~text~~==text==Inline code using backticks# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
Our theme supports Obsidian-style callouts with proper icons and styling. Each callout type has its own color scheme and matching Lucide icon.
This is a note callout. Use it for general information that readers should be aware of.
This is a tip callout. Perfect for helpful suggestions and best practices.
This is an important callout. Use it to highlight critical information.
This is a warning callout. Use it to alert readers about potential issues.
This is a caution callout. Use it for dangerous or risky situations.
You can customize the title of any callout by adding text after the callout type.
Custom titles help you provide more context for your callouts.
You can make callouts collapsible by adding + (expanded by default) or - (collapsed by default) after the callout type:
This callout starts expanded and can be collapsed by clicking the toggle button or the title.
You can combine collapsible functionality with custom titles for more control over your content organization.
Info callouts provide additional context or details.
Success callouts highlight positive outcomes or achievements.
Question callouts can be used to pose questions or highlight areas of uncertainty.
Example callouts are perfect for showcasing code examples or demonstrations.
Quote callouts can be used to highlight important quotes or references.
You can use markdown syntax in callout content like italics, bolded text, or links.

Photo by Antoine Rault on Unsplash
This theme automatically arranges consecutive images in responsive grid layouts based on the number of images. Images can be placed together without empty lines between them to create these layouts.
Two Images Side by Side


Three Images in a Row



Four Images in a Row




How to Use Multiple Images / Gallery
Simply place multiple images together without empty lines between them:



On mobile devices, all layouts switch to a single column for better readability.
[](https://obsidian.md)
Here’s an external link.
You can create internal links using double brackets (wikilinks) or with standard markdown.
For example: Getting Started or Astro Suite Obsidian Vault Guide (Astro Modular).
For example: [[getting-started|Getting Started]] or [Obsidian Embeds Demo](obsidian-embeds-demo).
Here’s an internal link with an anchor: Benefits of Folder-Based Approach
Here’s the same internal link with an anchor formatted in 4 different ways (both Obsidian and standard Astro syntax work):
Choose Your Workflow
Choose Your Workflow
Choose Your Workflow
Choose Your Workflow
Here’s a relative link: Obsidian Embeds Demo
This is a reference link and this is another reference link.
Use const variable = 'value' for inline code snippets.
function greetUser(name) {
console.log(`Hello, ${name}!`);
return `Welcome to our blog, ${name}`;
}
const user = "Developer";
greetUser(user);
def calculate_fibonacci(n):
"""Calculate the nth Fibonacci number."""
if n <= 1:
return n
return calculate_fibonacci(n-1) + calculate_fibonacci(n-2)
# Example usage
for i in range(10):
print(f"F({i}) = {calculate_fibonacci(i)}")
.button {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border: none;
border-radius: 8px;
color: white;
padding: 12px 24px;
transition: transform 0.2s ease;
}
.button:hover {
transform: translateY(-2px);
}
#!/bin/bash
echo "Setting up development environment..."
# Install dependencies
npm install
# Start development server
npm run dev
echo "Development server started on http://localhost:3000"
| Feature | Supported | Notes |
|---|---|---|
| Markdown | ✅ | Full CommonMark support |
| Wikilinks | ✅ | Obsidian-style double brackets |
| Callouts | ✅ | Multiple types with icons |
| Math | ✅ | LaTeX math with KaTeX rendering |
| Diagrams | ✅ | Mermaid diagram support |
| Language | Use Case | Performance | Learning Curve |
|---|---|---|---|
| JavaScript | Web Development | ⭐⭐⭐⭐ | Easy |
| Python | Data Science | ⭐⭐⭐ | Easy |
| Rust | Systems Programming | ⭐⭐⭐⭐⭐ | Hard |
| Go | Backend Services | ⭐⭐⭐⭐ | Medium |
The best way to predict the future is to invent it.
— Alan Kay
This is a top-level quote.
This is a nested quote within the first quote.
And this is a quote nested even deeper.
Back to the top level.
You can create horizontal rules using three dashes:
Or three asterisks:
Or three underscores:
You can use HTML directly. Here are some examples:
This content is hidden by default and can be expanded by clicking the summary.
Small text for fine print
Superscript
Subscript
Press Ctrl + C to copy and Ctrl + V to paste.
Use Cmd + K to open the command palette.
These buttons use your existing color palette and adapt perfectly to light/dark themes. Wrap them in internal or external links if you prefer:
<div class="btn-group-center my-8">
<a href="https://google.com" class="no-styling no-underline" target="_blank"><button class="btn btn-primary">Primary Action</button></a>
<a href="https://google.com" class="no-styling no-underline" target="_blank"><button class="btn btn-secondary">Secondary</button></a>
<a href="https://google.com" class="no-styling no-underline" target="_blank"><button class="btn btn-outline">Outlined</button></a>
<a href="https://google.com" class="no-styling no-underline" target="_blank"><button class="btn btn-ghost">Subtle</button></a>
</div>
All of these formatting options should also appear in Obsidian, with some differences depending on the theme you use.
**text** or __text__*text* or _text_`code`==text==[text](url) or [[wikilink]]- or 1. for ordered- [ ] and - [x]| to separate columns>> [!TYPE]---Further reading: Obsidian Embeds Demo