fix: cyrillic fonts, dev certs, page head, and ru-text typography (#67)
🤖 PR generated for branch `fix/cyrillic-fonts-dev-certs-and-page-head`.
### Changes Summary
- **Fonts**: Add Cyrillic glyph subsets for Lato, EB Garamond, and Fira
Code.
- **Dev**: Support remote Root CA and encrypted dev CA key in
`.env.dev`.
- **UI & Kits**: Add size variant to `Breadcrumbs` component and enlarge
`PageHead` breadcrumbs with tuned collapse scroll threshold.
- **ESLint**: Add `no-hanging-particles` i18n & markdown typography rule
with auto-fixer.
- **Content & i18n**: Apply `ru-text` editorial and typography polish
(em dashes, number ranges, «ё» restoration, non-breaking spaces) across
`services/www` and `services/docs`.
This commit is contained in:
1 parent
c6487dc258
commit
b3638f4d63
111 files changed
+2350
-1512
No files matched your search
@@ -9,7 +9,7 @@ weight: 2
|
||||
|
||||
### Объявление модуля (Module Declaration)
|
||||
|
||||
Файл `module.ts` служит манифестом и точкой входа при поиске модулей.
|
||||
Файл `module.ts` служит манифестом и точкой входа при поиске модулей.
|
||||
|
||||
```typescript
|
||||
export const name = 'my-module'; // ID
|
||||
@@ -18,7 +18,7 @@ export const description = '...'; // Документация
|
||||
|
||||
### Регистрация команд (Command Registration)
|
||||
|
||||
Выполняется при наступлении события `ready`:
|
||||
Выполняется при наступлении события `ready`:
|
||||
|
||||
1. Quetza сканирует каталоги `commands/`.
|
||||
2. Формирует структуру `ApplicationCommandData`.
|
||||
@@ -26,7 +26,7 @@ export const description = '...'; // Документация
|
||||
|
||||
### Внедрение контроллера (Controller Injection)
|
||||
|
||||
Экземпляр контроллера передаётся аргументом при вызове (injected), а не импортируется модулем напрямую:
|
||||
Экземпляр контроллера передаётся аргументом при вызове (injected), а не импортируется модулем напрямую:
|
||||
|
||||
```typescript
|
||||
// Фреймворк вызывает это:
|
||||
@@ -37,15 +37,15 @@ execute(client, interaction, controller);
|
||||
|
||||
## Управление состоянием
|
||||
|
||||
### Эфемерность по умолчанию
|
||||
### Эфемерность по умолчанию
|
||||
|
||||
В Quetza **нет встроенной базы данных**.
|
||||
|
||||
- **Память:** контроллеры сохраняют данные в стандартных JavaScript-коллекциях `Map` или `Set`.
|
||||
- **Перезапуск:** при остановке процесса всё состояние в памяти сбрасывается.
|
||||
- **Постоянное хранение:** если данные нужно сохранять между запусками, подключите внешнюю СУБД (например, SQLite или Redis) внутри контроллера.
|
||||
- **Память:** контроллеры сохраняют данные в стандартных JavaScript-коллекциях `Map` или `Set`.
|
||||
- **Перезапуск:** при остановке процесса всё состояние в памяти сбрасывается.
|
||||
- **Постоянное хранение:** если данные нужно сохранять между запусками, подключите внешнюю СУБД (например, SQLite или Redis) внутри контроллера.
|
||||
|
||||
### Область видимости как ключ
|
||||
### Область видимости как ключ
|
||||
|
||||
Ключи состояния должны соответствовать области его видимости:
|
||||
|
||||
@@ -58,7 +58,7 @@ execute(client, interaction, controller);
|
||||
|
||||
- **Валидация:** проверяйте права и входные параметры сразу.
|
||||
- **Сообщения для пользователя:** «У вас нет прав» вместо сухого кода вроде «Ошибка: 403».
|
||||
- **Изоляция:** сбой внутри `/ping` перехватывается локально и не роняет процесс бота.
|
||||
- **Изоляция:** сбой внутри `/ping` перехватывается локально и не роняет процесс бота.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user