shipyard supports enhanced markdown features that make your documentation richer and more interactive.
Admonitions (also called callouts) are a great way to highlight important information:
This is a note. Use it for general information.
This is a tip. Use it for helpful advice.
This is info. Use it for supplementary information.
This is a warning. Use it when users should be careful.
This is a danger notice. Use it for critical warnings.
You can add custom titles to admonitions:
Custom Title
This note has a custom title instead of the default “Note”.
Important Security Notice
Always validate user input before processing.
Use the HTML <details> element for collapsible content:
This content is hidden by default but can be revealed by clicking the summary.
You can include:
Standard code blocks with syntax highlighting:
function greet(name) {
console.log(`Hello, ${name}!`);
}
greet("shipyard");
Add titles to code blocks to show filenames or descriptions:
export function greet(name) {
console.log(`Hello, ${name}!`);
}
def greet(name):
print(f"Hello, {name}!")
greet("shipyard")
Display line numbers in code blocks:
function calculateSum(numbers) {
let sum = 0;
for (const num of numbers) {
sum += num;
}
return sum;
}
Start from a custom line number:
// This code starts at line 10
const config = {
theme: 'dark',
language: 'en',
};
Highlight specific lines using curly brace syntax:
function processData(data) {
const validated = validate(data); // This line is highlighted
const transformed = transform(validated);
return { // Lines 4-6 are highlighted
success: true,
data: transformed,
};
}
Use comments to highlight lines without showing the comment:
function handleRequest(req, res) {
// highlight-next-line
const userId = req.params.id;
// highlight-start
const user = await db.findUser(userId);
if (!user) {
return res.status(404).json({ error: 'Not found' });
}
// highlight-end
res.json(user);
}
Combine titles, line numbers, and highlighting:
import { db } from './database';
export async function getUser(id: string) {
const user = await db.users.findUnique({
where: { id },
});
if (!user) {
throw new NotFoundError('User not found');
}
return user;
}
.admonition {
border-left: 4px solid var(--primary-color);
padding: 1rem;
margin: 1rem 0;
}
| Feature | Status | Notes |
|---|---|---|
| Admonitions | Supported | All types available |
| Code Blocks | Supported | With syntax highlighting |
| Tables | Supported | With horizontal scroll on mobile |
| Details | Supported | Native HTML element |
inline code for technical termsThis is a blockquote. Use it for quotes or to highlight important passages.
Blockquotes can span multiple paragraphs.
Images can be added with standard markdown syntax:

Use three dashes to create a horizontal rule:
These markdown features help you create rich, interactive documentation that’s easy to read and navigate.