Шпаргалка по Markdown
Эта статья показывает все поддерживаемые возможности форматирования. Включи оглавление (toc: true) и убедись, что всё работает как надо.
Базовый текст
Обычный абзац. Жирный текст, курсив, зачёркнутый, и inline code.
Можно комбинировать: жирный с кодом внутри или курсив со зачёркнутым внутри.
Горизонтальная черта:
Заголовки разных уровней
Уровень H3
Уровень H4
Уровень H5 (редко используется)
Ссылки и автоссылки
Обычная ссылка на главную.
Автоссылка (GFM): https://astro.build
Списки
Маркированный:
- Первый элемент
- Второй элемент
- Вложенный элемент
- Ещё один
- Третий элемент
Нумерованный:
- Первый шаг
- Второй шаг
- Третий шаг
- Подшаг A
- Подшаг B
Task list
- Написать BRIEF.md
- Создать проект на Astro
- Настроить подсветку кода
- Написать больше статей
- Настроить деплой
Код
Inline code
Функция getCollection() возвращает массив записей. Переменная $MY_VAR — это переменная окружения.
Блок кода — Python
from dataclasses import dataclass
from typing import Optional
@dataclass
class Article:
title: str
slug: str
date: str
draft: bool = False
description: Optional[str] = None
def get_published(articles: list[Article]) -> list[Article]:
return [a for a in articles if not a.draft]
# Пример использования
articles = [
Article("Привет", "hello", "2026-05-17"),
Article("Черновик", "draft", "2026-05-17", draft=True),
]
published = get_published(articles)
print(f"Опубликовано: {len(published)}")
Блок кода — TypeScript
interface Frontmatter {
title: string;
date: Date;
tags?: string[];
draft?: boolean;
}
async function loadArticles(dir: string): Promise<Frontmatter[]> {
const files = await fs.readdir(dir);
return Promise.all(
files
.filter((f) => f.endsWith('.md'))
.map(async (f) => {
const content = await fs.readFile(path.join(dir, f), 'utf-8');
return parseFrontmatter(content);
})
);
}
Блок кода — Rust
use std::collections::HashMap;
#[derive(Debug, Clone)]
struct Article {
title: String,
slug: String,
draft: bool,
}
impl Article {
fn new(title: &str, slug: &str) -> Self {
Self {
title: title.to_string(),
slug: slug.to_string(),
draft: false,
}
}
}
fn main() {
let articles: Vec<Article> = vec![
Article::new("Привет мир", "hello-world"),
Article::new("О Rust", "about-rust"),
];
let published: Vec<&Article> = articles
.iter()
.filter(|a| !a.draft)
.collect();
println!("Опубликовано: {}", published.len());
}
Блок кода — CSS
:root {
--bg: #fafafa;
--text: #222;
--link: #555;
}
[data-theme='dark'] {
--bg: #1a1a1a;
--text: #e6e6e6;
}
body {
font-family: Georgia, serif;
line-height: 1.75;
color: var(--text);
background: var(--bg);
}
Таблицы
| Язык | Парадигма | Типизация | Год создания |
|---|---|---|---|
| Python | Мульти | Динамическая | 1991 |
| TypeScript | Мульти | Статическая | 2012 |
| Rust | Системный | Статическая | 2015 |
| Go | Процедурный | Статическая | 2009 |
| Haskell | Функциональный | Статическая | 1990 |
Таблица с выравниванием:
| Левый | Центр | Правый |
|---|---|---|
| текст | текст | текст |
| длинная строка | x | 42 |
Цитаты
Обычная цитата:
Простота — это высшая степень сложности.
— Леонардо да Винчи
Вложенная цитата:
Внешняя цитата.
Внутренняя вложенная цитата.
Снова внешняя.
Callout-блоки
NOTE
Это информационный блок. Используется для дополнительных сведений, которые полезны, но не критичны.
TIP
Совет: используй
toc: trueв frontmatter для длинных статей — появится оглавление.
WARNING
Внимание: черновики (
draft: true) не отображаются в продакшн-сборке. Не забудь убрать флаг перед публикацией.
IMPORTANT
Важно: все статьи должны иметь поля
titleиdateв frontmatter — иначе сборка упадёт.
CAUTION
Осторожно: не удаляй
.astroдиректорию вручную — это кэш типов. Astro пересоздаст её автоматически.
Математика
Inline math
Формула площади круга: , где — радиус.
Уравнение Эйлера: — одно из красивейших в математике.
Квадратное уравнение имеет корни .
Block math
Интеграл Гаусса:
Формула Байеса:
Разложение Тейлора:
Матрица и определитель:
Изображения
Если alt-текст не пустой, изображение оборачивается в <figure> с <figcaption>:
Изображение без alt-текста (без figcaption):
Сноски
Markdown поддерживает сноски1 в стиле GFM. Их удобно использовать для источников2 или дополнительных пояснений3.
Специальные символы
HTML-сущности: &, <, >, ©, —, –, …
Юникод прямо в тексте: → ← ↑ ↓ • ★ ♦ ✓ ✗
Конец шпаргалки. Все возможности работают!
Footnotes
-
Это первая сноска. Коротко и ясно. ↩
-
Astro Documentation — отличная документация с примерами. ↩
-
Сноски могут быть длинными. Они рендерятся в конце документа в секции
<footer class="footnotes">. Переход туда и обратно работает через якоря. ↩