вики
Как у родительской · видна всем

Шаблон возможностей вики

Создана 12 августа 2026 г. · Админ Гуапович·Изменена 12 августа 2026 г. в 20:18·0 вложенных

#Проверка оформления

Эта страница показывает всё, что понимает разметка вики, и заодно то, чего она
не понимает. Если что-то на ней выглядит не так — сломался рендерер, а не
статья.

#Абзацы и переносы

Обычный абзац. Перевод строки внутри абзаца
превращается в перенос — ровно так, как набрано в редакторе.

А пустая строка начинает новый абзац.

#Заголовки

Все шесть уровней собираются в оглавление, и у каждого есть якорь — наведите на
заголовок и нажмите на решётку, чтобы скопировать ссылку на раздел.

#Уровень третий

#Уровень четвёртый

#Уровень пятый
#Уровень шестой

#Другие способы записи

#Заголовок можно закрыть решётками с обеих сторон

#Первый уровень подчёркиванием

#Второй уровень подчёркиванием

#Заголовок с выделением, кодом и формулой $x^2$

Разметка внутри заголовка работает, а в оглавление он попадает без неё.

#Строчное оформление

#Начертание

Полужирный и тоже полужирный, курсив и тоже курсив,
и то и другое сразу, зачёркнутый и одной тильдой тоже зачёркнутый,
код в строке, выделенный маркером.

Надстрочный текст: 10-9 м, площадь 15 м2, сноска1.

#Ссылки

Обычная ссылка на сайт университета, ссылка с подсказкой
по наведению,
голый адрес https://guap.ru, адрес в угловых скобках https://guap.ru,
адрес без схемы www.guap.ru, адрес с параметрами
https://guap.ru/search?q=вики&page=2, почта ivan@guap.ru и она же
в угловых скобках mailto:ivan@guap.ru.

Ссылка по ярлыку — вот такая; сам ярлык описан внизу страницы и в текст
не попадает.

Картинка может быть ссылкой: значок

#Упоминания

Спроси @petrov, он вёл этот раздел. Упоминание работает в начале строки,
в скобках (@ivanova) и в квадратных [@sidorov].

Почта ivan@guap.ru упоминанием не становится, и адрес после буквы — тоже.

#Сноски

Сноска ставится так1, вторая — так2, а на одну и ту же сноску можно
сослаться дважды1: внизу появятся две стрелки возврата.

#Спецсимволы и экранирование

HTML-сущности разворачиваются: © 2026, тире — вот такое,
кавычки «ёлочкой», амперсанд &.

Обратная косая черта показывает символ как есть: *не курсив*,
==не выделение==, $100 и $200, # не заголовок, @не упоминание.

Разметку внутри обратных кавычек тоже видно буквально: **звёздочки**,
> [!note], $x^2$, ==маркер==.

#Списки

Маркированный, с вложенностью:

  • первый пункт
  • второй пункт
    • вложенный
    • ещё вложенный
      • третий уровень
  • третий пункт

Нумерованный:

  1. первый
  2. второй
    1. вложенный
    2. ещё вложенный
  3. третий

Скобка вместо точки тоже считается нумерацией:

  1. первый
  2. второй

Нумерация может начинаться не с единицы:

  1. пятый
  2. шестой
  3. седьмой

Пункт может состоять из нескольких абзацев и содержать блоки — отступ в три
пробела держит их внутри пункта:

  1. Первый шаг. У него есть продолжение отдельным абзацем.

    Второй абзац того же пункта.

    bash
    1docker compose up -d
  2. Второй шаг, уже после блока кода.

Чек-лист:

  • ✓сделано
  • ✓тоже сделано
  • ещё нет
    • вложенный пункт
    • ✓вложенный и сделанный

#Цитаты

Обычная цитата. Внутри работает разметка, код и ссылки.

Вложенная цитата — вторым уровнем.

#Плашки-замечания

Заметка

Нейтральное примечание к тексту.

Информация

Справка о том, как всё устроено.

Совет

Так делать удобнее.

Важно

Это нельзя пропустить.

Предупреждение

Здесь легко ошибиться.

Ошибка

Так делать нельзя.

Опасно

Приведёт к потере данных.

Устарело

Осталось для старых страниц, в новых не используйте.

Плашка бывает без заголовка и с любой разметкой внутри — списками, кодом,
вложенной цитатой и несколькими абзацами:

Внутри плашки живёт список:

  1. пункт
  2. ещё пункт

и блок кода:

go
1fmt.Println("привет")

и вложенная цитата.

Незнакомый вид плашки остаётся обычной цитатой — так рендерер сообщает, что
такого варианта нет:

[!неизвестно] Заголовок
Видов ровно восемь, они перечислены выше.

#Сворачиваемые блоки

Как это устроено внутри

Скрытый текст открывается по щелчку. Внутри работает вся разметка:

  • список,
  • выделение,
  • код,

и даже таблица:

ключ значение
раз два
Подробнее

Блок без заголовка называется «Подробнее».

Сворачиваемый блок можно положить в пункт списка:

  • обычный пункт

    Подробности пункта

    Отступ в два пробела держит блок внутри пункта.

  • следующий пункт

#Код

Внутри строки — git status, а блоком с подсветкой так:

python
1def факториал(n: int) -> int:
2 """Считает n! в лоб."""
3 if n < 0:
4 raise ValueError("отрицательного факториала не бывает")
5 return 1 if n == 0 else n * факториал(n - 1)
6
7
8print(факториал(10)) # 3628800
go
1package main
2
3import "fmt"
4
5func main() {
6 for i := range 3 {
7 fmt.Printf("шаг %d\n", i+1)
8 }
9}
javascript
1const пары = Object.entries({ раз: 1, два: 2 })
2for (const [имя, число] of пары) console.log(`${имя} = ${число}`)
typescript
1interface Страница {
2 title: string
3 tags: string[]
4 public?: boolean
5}
6
7const пусто: Страница = { title: '', tags: [] }
java
1public class Привет {
2 public static void main(String[] args) {
3 System.out.println("привет");
4 }
5}
cpp
1#include <iostream>
2
3int main() {
4 std::cout << "привет" << std::endl;
5 return 0;
6}
csharp
1using System;
2
3class Программа {
4 static void Main() => Console.WriteLine("привет");
5}
sql
1SELECT p.title, count(*) AS правок
2FROM pages p
3JOIN revisions r ON r.page_id = p.id
4WHERE r.created_at > now() - interval '30 days'
5GROUP BY p.title
6ORDER BY правок DESC
7LIMIT 10;
bash
1docker compose -f docker-compose.prod.yaml up -d --build
json
1{
2 "title": "Проверка оформления",
3 "tags": ["тест", "разметка"],
4 "public": true
5}
yaml
1services:
2 wiki:
3 image: guapwiki/wiki:latest
4 ports:
5 - "8080:8080"
html
1<div class="карточка">
2 <h2>Заголовок</h2>
3 <p>Текст карточки.</p>
4</div>
css
1.карточка {
2 border-radius: 12px;
3 padding: 16px 20px;
4}

Блок без языка — подсветки нет, номера строк и кнопки остаются:

code
1одна строка
2вторая строка
3 строка с табуляцией

Забор из тильд работает так же, как из обратных кавычек:

python
1print("тоже блок кода")

Блок с отступом в четыре пробела — тоже код:

code
1ls -la /var/log
2tail -f /var/log/syslog

Длинная строка проверяет кнопку переноса и горизонтальную прокрутку:

bash
1psql -h postgres -U wiki -d wiki -c "SELECT id, title, slug, created_at, updated_at FROM pages WHERE deleted_at IS NULL ORDER BY updated_at DESC LIMIT 50;"

#Диаграммы

flowchart TD A[Черновик] --> B{Проверка} B -->|принято| C[Опубликовано] B -->|нужны правки| A C --> D[В поиске]

Ширину задают в строке забора — после языка пишут width=520:

sequenceDiagram participant Автор participant Вики participant Читатель Автор->>Вики: сохранил правку Вики->>Вики: собрал HTML Читатель->>Вики: открыл страницу Вики-->>Читатель: готовая статья
stateDiagram-v2 [*] --> Черновик Черновик --> НаПроверке: отправить НаПроверке --> Черновик: вернуть НаПроверке --> Опубликовано: принять Опубликовано --> [*]
pie title Правки за месяц "Статьи" : 45 "Комментарии" : 30 "Вложения" : 25

#Таблицы

Возможность Как пишется Поддержка
Полужирный **текст** есть
Выделение ==текст== есть
Формулы $x^2$ есть
Сырой HTML <b> нет

Выравнивание столбцов задаётся двоеточиями, разметка внутри ячеек работает,
вертикальная черта экранируется как \|, а пустая ячейка остаётся пустой:

По левому краю По центру По правому краю
полужирный выделено 1
код и ссылка раз | два 250
курсив 1000

Широкая таблица проверяет горизонтальную прокрутку:

Год Факультет Кафедра Направление Форма Мест Проходной Куратор
2024 4 41 09.03.04 очная 60 241 @petrov
2025 4 42 09.03.01 очная 75 236 @ivanova
2026 5 51 11.03.03 очная 40 219 @sidorov

#Картинки

Картинка, стоящая в абзаце одна, становится блоком с подписью — подпись берётся
из заголовка в кавычках:

Схема потока правок
Подпись под картинкой

Ширину задают в хвосте адреса — #w=320 или #width=320:

Логотип
Ширина 320 точек

Картинку тоже можно вставить по ярлыку:

Снимок экрана
Подпись к картинке по ярлыку

А картинка среди текста значок остаётся
внутри строки и подписи не получает.

#Формулы

В строке: масса и энергия связаны как $E = mc^2$, сумма ряда — $\sum_{i=1}^{n} i$,
а условие — $\forall \varepsilon > 0\ \exists \delta > 0$.

Отдельным блоком:

$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$
$$\int_{0}^{\infty} e^{-x^2}\,dx = \frac{\sqrt{\pi}}{2}$$

Матрица и определитель:

$$A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}, \qquad \det A = ad - bc$$

Многострочный вывод с выравниванием:

$$\begin{aligned} f(x) &= (x+1)^2 \\ &= x^2 + 2x + 1 \end{aligned}$$

#Разделители

Горизонтальную черту дают три чёрточки, три звёздочки или три подчёркивания на
отдельной строке:




#Чего разметка не делает

Сырой HTML не проходит: теги вырезаются, а их содержимое остаётся обычным
текстом, и ничего не выполняется. Так и задумано — вставлять HTML в статьи
нельзя. Вот что получается на деле:

  • <b>полужирный</b> даёт полужирный
  • <script>alert(1)</script> даёт alert(1)

Чтобы показать тег на странице, оберните его в обратные кавычки — как в левой
части этих строк.

Не поддерживаются и остаются текстом: коды смайликов :smile: (пишите сам
символ — 🎓), сочетания клавиш вида ++Ctrl+C++, списки определений.

Подстрочного текста нет, и запись H2O даёт зачёркивание, а не индекс: одиночная
тильда — это тоже зачёркивание. Индекс пишут формулой: $H_2O$.

Две ловушки при наборе

Сворачиваемые блоки не вкладываются друг в друга: первая же строка из трёх
двоеточий закрывает внешний блок, а остаток текста уезжает наружу.

Формулу $$…$$ в середине абзаца писать не стоит — она всё равно встанет
отдельным блоком и разорвёт абзац. В строке пишут одиночные доллары, блоком —
двойные на своих строках.


  1. Текст первой сноски. Внутри работает разметка и ссылки. ↩︎ ↩︎

  2. Сноски нумеруются по порядку появления в тексте, а не по имени. ↩︎