Приклади оформлення
Стенд готових патернів оформлення сторінок. У кожного є назва — пиши «оформи в стилі Назва», і застосуємо саме цей патерн. Усе рендериться і в Obsidian, і на сайті (Quartz v4.5.2).
Дві частини: наші патерни (нижче) і нативні фічі Quartz (callout-и, підсвітка, формули, вставки…). Типи діаграм — окремо у diagram-examples.
| Патерн | Для чого |
|---|---|
| Шапка сторінки | обов’язковий початок будь-якої сторінки |
| Мітки стану | ✅/🟡/⬜ — позначити повноту опису |
| Таблиця покриття | зведення «скільки заповнено» по розділах (root-індекс сервісу) |
| Індекс зі станом | список сторінок папки з колонкою стану |
| Матриця доступів | фіча × роль з ✓/— |
| Тулбар-таблиця | контрол × що робить × ролі |
| Endpoints по Family | deeplink-и на Swagger, колонка на кожну Family |
| Endpoints (single) | deeplink-и одного бекенду під фічею |
| Порівняння по Family | поле/фіча × Family з ✓/— |
| Реєстр сутностей | список колекцій БД одним блоком |
| Підпис-аннотація | дрібний підзаголовок-контекст під H2/H3 |
Нативні фічі Quartz 4 (нижче): Callout · Виділення тексту · Списки-таски · Виноски · Приховані коментарі · Формули (LaTeX) · Вставки сторінок · Посилання на блок · Код: підсвітка і заголовок.
Шапка сторінки
Обов’язковий початок: теги типу (+ стан), backlink, H1, контекстна стрічка. Деталі — Шаблон сторінки.
#Service #golden #reviewed
[[favorites]]
# GoldenFavoritesService
`src/golden/favorites/GoldenFavoritesService.ts` — як RU стають фаворитами TUДля UI замість шляху — (UI-екран Family-меню). Для entity — `шлях` · колекція `golden_lady`.
Мітки стану
Рядок-легенда + мітки в таблицях. ✅ заповнено · 🟡 частково · ⬜ скелет.
Покриття: 4 ✅ · 2 🟡 · 25 ⬜ (з 31). Легенда: ✅ заповнено · 🟡 частково · ⬜ скелет.
**Покриття:** 4 ✅ · 2 🟡 · 25 ⬜ (з 31). Легенда: ✅ заповнено · 🟡 частково · ⬜ скелет.Деталі правила — Мітки покриття в індексах.
Таблиця покриття
Зведення по розділах для root-індексу сервісу. Колонки ✅ / 🟡 / ⬜ / Разом + підсумковий рядок.
| Розділ | ✅ | 🟡 | ⬜ | Разом |
|---|---|---|---|---|
| ui-triggered | 4 | 2 | 25 | 31 |
| workers | 12 | — | — | 12 |
| Разом | 16 | 2 | 25 | 43 |
| Розділ | ✅ | 🟡 | ⬜ | Разом |
|---|--:|--:|--:|--:|
| ui-triggered | 4 | 2 | 25 | 31 |
| workers | 12 | — | — | 12 |
| **Разом** | **16** | **2** | **25** | **43** |--: у роздільнику = вирівнювання чисел праворуч. Живий приклад — Stack Golden.
Індекс зі станом
Список сторінок папки: колонка Стан перша, далі назва-лінк і опис. Для багатьох сторінок — групуємо H2-секціями.
| Стан | Сторінка | Що робить |
|---|---|---|
| ✅ | Favorites | пари TU↔RU з історією, контактами |
| 🟡 | Метрики | KPI операторів / TU з ClickHouse |
| ⬜ | Оператори | CRUD операторів, прив’язки |
| Стан | Сторінка | Що робить |
|---|---|---|
| ✅ | [[ui-triggered/favorites\|Favorites]] | пари TU↔RU з історією, контактами |
| 🟡 | [[ui-triggered/metric\|Метрики]] | KPI операторів / TU з ClickHouse |
| ⬜ | [[ui-triggered/operator\|Оператори]] | CRUD операторів, прив'язки |Усередині wiki-лінку з підписом екрануємо
\|(бек-слеш), бо|— роздільник колонки.
Матриця доступів
Хто що може: рядок = можливість/логіка, колонки = ролі. ✓ доступно, — ні. Без роутів — endpoint-и окремою таблицею нижче.
| # | Можливість | director | top-manager | supervisor | operator |
|---|---|---|---|---|---|
| 1 | Усі оператори | ✓ | — | — | — |
| 2 | По тімліду | ✓ | — | ✓ | — |
| 3 | По оператору | ✓ | — | — | ✓ |
| # | Можливість | `director` | `supervisor` | `operator` |
|---|---|:--:|:--:|:--:|
| 1 | Усі оператори | ✓ | — | — |
| 2 | По оператору | ✓ | — | ✓ |:--: = центрування. Живий приклад — Courses.
Тулбар-таблиця
Контроли екрану: що робить + кому видно.
| Контрол | Що робить | Ролі |
|---|---|---|
| Balance ↔ Online | перемикач режиму клітинок: $ чи час онлайн | усі |
| Month | місяць за який дивимось | усі |
| GNR | застосувати фільтри і перерахувати | усі |
| Контрол | Що робить | Ролі |
|---|---|---|
| **Balance ↔ Online** | перемикач режиму клітинок: $ чи час онлайн | усі |
| **GNR** | застосувати фільтри і перерахувати | усі |Endpoints по Family
Один UI-екран = 4 беки. Рядок = під-фіча, колонка = Family. *TODO* де бек ще не в Swagger.
| Family | Список | Редагування |
|---|---|---|
golden | getFavoritesByLady | updateFavoritById |
prime | TODO | TODO |
udate | TODO | TODO |
chathouse | TODO | TODO |
| Family | Список | Редагування |
|---|---|---|
| `golden` | [getFavoritesByLady](https://...golden/api-docs/v2#/Favorites) | [updateFavoritById](https://...) |
| `prime` | *TODO* | *TODO* |Живий приклад — Favorites. Правило — Канон структури: фічі + ендпоінти.
Endpoints (single)
Для single-backend сторінки (academy, stack): під кожною фічею своя таблиця, одна колонка.
| Endpoint | Що робить |
|---|---|
| course/getAll | список курсів (бек фільтрує за роллю) |
| course/update | створити або оновити курс |
| Endpoint | Що робить |
|---|---|
| [course/getAll](https://...academy/api-docs#/Course) | список курсів |
| [course/update](https://...academy/api-docs#/Course) | створити/оновити курс |Порівняння по Family
Що де є: рядок = поле/фіча, колонка = Family. ✓ є, — нема.
| Колонка | golden | prime | udate | chathouse |
|---|---|---|---|---|
| Gifts | ✓ | — | ✓ | ✓ |
| Black list | — | ✓ | ✓ | ✓ |
| Profit | ✓ | — | — | ✓ |
| Колонка | golden | prime | udate | chathouse |
|---|:--:|:--:|:--:|:--:|
| Gifts | ✓ | — | ✓ | ✓ |
| Black list | — | ✓ | ✓ | ✓ |Реєстр сутностей
Усі колекції/таблиці одним блоком: жирний підпис групи + bullet’и. Назва в `, далі опис, в кінці → [[Name]] або → —.
Lady (TU)
golden_lady— TU, центральна сутність → Ladygolden_lady_event_logs— журнал подій по TU → —
Statistics
golden_statistic— денний бонус-запис → —
**Lady (TU)**
- `golden_lady` — TU, центральна сутність → [[Lady]]
- `golden_lady_event_logs` — журнал подій по TU → —Правило — Реєстр сутностей. Живий приклад — golden entities.
Підпис-аннотація
Дрібний контекст під H2/H3 (метод, тригер, роль) — через <sub>, щоб не роздувати заголовок.
Ручний тригер
convertContacts · роль technical_department
Перебудувати фаворитів вручну. Адмінська дія.
### Ручний тригер
<sub>`convertContacts` · роль `technical_department`</sub>
Перебудувати фаворитів вручну. Адмінська дія.Живий приклад — golden favorites.
Нативні фічі Quartz 4
Не наші патерни, а вбудовані можливості Quartz v4.5.2 (Obsidian- та GitHub-flavored markdown). Працюють «з коробки», нічого підключати не треба.
Callout
Виділений кольоровий блок: > [!тип] Заголовок + тіло з >. Дефіс після типу ([!note]-) робить блок згорнутим (розкривається кліком), плюс ([!note]+) — розгорнутим але згортабельним. Callout можна вкладати.
Заголовок
Текст блоку. Перелік теж можна:
- перший
- другий
Згорнутий за замовчуванням
Зʼявляється по кліку (дефіс після типу).
Зовнішній
Вкладений
Callout усередині callout-а.
> [!important] Заголовок ← статичний
>
> Текст блоку.
> [!warning]- Згорнутий ← дефіс = collapsible, згорнуто
>
> Розкривається по кліку.
> [!tip]+ Розгорнутий ← плюс = collapsible, відкрито
>
> [!tip] Зовнішній
>
> > [!example] Вкладений ← callout у callout-і
> > Вкладений вміст.Типи (з аліасами): note · abstract/summary/tldr · info · todo · tip/hint/important · success/check/done · question/help/faq · warning/attention/caution · failure/missing/fail · danger/error · bug · example · quote/cite. Кожен — свій колір та іконка. Без [!тип] — звичайна цитата.
Виділення тексту
Inline-форматування. Приклад: жовтий маркер, жирний, курсив, закреслений, inline code.
==маркер== · **жирний** · *курсив* · ~~закреслений~~ · `код`Списки-таски
Інтерактивні чекбокси (GFM) — рендеряться як галочки.
- зроблено
- ще ні
- [x] зроблено
- [ ] ще ніВиноски
Маркер у тексті + визначення будь-де — Quartz збере їх донизу сторінки.
Текст із виноскою.1
Текст із виноскою.[^1]
[^1]: Пояснення виноски.Приховані коментарі
“ — нотатка для автора, не рендериться ні на сайті, ні в Obsidian preview. Зручно лишати думки/нагадування прямо в тілі.
Формули (LaTeX)
KaTeX. Inline $...$, блок $$...$$. Inline: . Блок:
Inline: $E = mc^2$
$$ \frac{\text{on-time}}{\text{total}} \times 100\% $$Вставки сторінок (embeds)
Трансклюзія — вставити іншу сторінку/секцію/блок/картинку прямо в поточну.
![[page]] ← уся сторінка
![[page#секція|Секція]] ← конкретна секція
![[page#^block-id|^block-id]] ← конкретний блок
![[image.png|300]] ← картинка шириною 300pxОбережно з повними
![[page]]Дублює контент і роздуває сторінку. Для звʼязків майже завжди краще звичайний
[[page]].
Посилання на блок
Якірець на конкретний абзац: постав ^id в кінці рядка, лінкуй через #^id.
Цей абзац можна зацитувати точково. ^my-anchor
Десь інде: [[page#^my-anchor|^my-anchor]]Код: підсвітка і заголовок
Розширення fenced-блоків (Quartz syntax highlighting):
```ts {2,4-5} title="example.ts" showLineNumbers
const a = 1;
const b = 2; // ← підсвічений рядок 2
const c = 3;
const d = 4; // ← підсвічені 4-5
const e = 5;
```{2,4-5}— підсвітити рядки 2 і 4-5title="..."— заголовок / імʼя файлу над блокомshowLineNumbers(абоshowLineNumbers{50}— почати з 50) — номери рядків/слово/після мови — підсвітити всі входження слова- Вкладений код-блок — обгорни у fence на 1 бек-тік довший за внутрішній
Footnotes
-
Пояснення виноски — зʼявиться внизу сторінки. ↩