daily update 2026-03-31
This commit is contained in:
@@ -0,0 +1,50 @@
|
|||||||
|
---
|
||||||
|
title: "31 марта 2026"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["system-utils", "opencode", "leadera", "gantt", "canvas", "github", "roadmap"]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Timeline
|
||||||
|
|
||||||
|
- **Утро** — Обсуждали аналоги htop: порекомендовал btm, btop, glances. Создан конфиг `~/.config/bottom/bottom.toml`
|
||||||
|
- **День** — Разбирались со скиллами OpenCode: как работают, автоматический подбор по description
|
||||||
|
- **День** — Созданы скиллы для Leadera проектов (Go: build-and-fix, restart-api; Angular: build-and-fix)
|
||||||
|
- **День** — Обсудили миграцию Ганта с DOM на Canvas 2D (Konva.js) — real-time коллаборация, экспорт PDF/PNG, 500+ задач
|
||||||
|
- **Вечер** — Установлен gh CLI, авторизован как agaltsovav
|
||||||
|
- **Вечер** — Созданы GitHub Projects: Leadera Roadmap (21 задача, P0–P3), agaltsovav.ru Roadmap (7 задач)
|
||||||
|
|
||||||
|
## Системные утилиты
|
||||||
|
|
||||||
|
- **bottom** (btm) — выбранный мониторинг, конфиг в `~/.config/bottom/bottom.toml`
|
||||||
|
- Альтернативы: btop, glances
|
||||||
|
|
||||||
|
## OpenCode Skills
|
||||||
|
|
||||||
|
Созданы скиллы:
|
||||||
|
- `app-leadera-api/.opencode/skills/build-and-fix/` — сборка Go проекта + автофикс ошибок (до 10 итераций)
|
||||||
|
- `app-leadera-api/.opencode/skills/restart-api/` — swagger генерация + pm2 restart
|
||||||
|
- `app-leadera-fe/.opencode/skills/build-and-fix/` — сборка Angular + автофикс
|
||||||
|
|
||||||
|
## Gantt Canvas миграция
|
||||||
|
|
||||||
|
- Переход с DOM на Canvas 2D через **Konva.js**
|
||||||
|
- Цели: real-time коллаборация, экспорт PDF/PNG, 500+ задач
|
||||||
|
- Промт: `GANTT_CANVAS_MIGRATION_PROMPT.md` в app-leadera-fe
|
||||||
|
|
||||||
|
## GitHub
|
||||||
|
|
||||||
|
- CLI: `gh` авторизован (agaltsovav)
|
||||||
|
- Репо: app-leadera-fe, app-leadera-api, agaltsovav.ru
|
||||||
|
- Старые: leadera-fe/leadera-api (на VPS, leadera.ru)
|
||||||
|
- modece.ru — заброшен, планируется возвращение
|
||||||
|
|
||||||
|
## GitHub Projects — Roadmaps
|
||||||
|
|
||||||
|
### Leadera Roadmap (project #2) — 21 задача
|
||||||
|
- **P0:** JWT secret, CORS, bcrypt, ContextRole fallback, RegisterProtectedRoutes
|
||||||
|
- **P1:** Rate limiting, editor role check, MembersModal rewrite
|
||||||
|
- **P2:** HttpOnly cookies, CSRF, CSP, password policy, audit log, health-check, CI/CD, Canvas миграция, DnD
|
||||||
|
- **P3:** Code cleanup, тесты, email verification, поиск
|
||||||
|
|
||||||
|
### agaltsovav.ru Roadmap (project #1) — 7 задач
|
||||||
|
- Редизайн, мобильная версия, мультиязычность, блог, CI/CD, тёмная тема, форма обратной связи
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
title: "Личный сайт (agaltsovav.ru)"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["personal-site", "hugo", "audit"]
|
||||||
|
weight: 90
|
||||||
|
---
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
title: "Бинарный файл в репозитории"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["audit", "personal-site"]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
В корне репозитория лежат два файла, которые не должны быть в git:
|
||||||
|
|
||||||
|
- **`Шаблоны для сайта.key`** — Apple Keynote файл (бинарный)
|
||||||
|
- **`logo.psd`** — Photoshop файл (бинарный)
|
||||||
|
|
||||||
|
### Что не так
|
||||||
|
|
||||||
|
- Увеличивают размер репозитория
|
||||||
|
- Git неэффективно хранит бинарные файлы (каждая версия — полностью)
|
||||||
|
- `.key` файлы могут содержать конфиденциальные данные шаблонов
|
||||||
|
|
||||||
|
### Рекомендация
|
||||||
|
|
||||||
|
1. Перенести в отдельное хранилище (Google Drive, облако)
|
||||||
|
2. Удалить из git-истории через `git filter-repo`
|
||||||
|
3. Добавить в `.gitignore`: `*.key`, `*.psd`, `*.sketch`
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
title: "Copyright без 2026 года"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["audit", "personal-site"]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
В `params.toml`:
|
||||||
|
```
|
||||||
|
copyRight = "Copyright (c) 2020-2025 Антон Агальцов"
|
||||||
|
```
|
||||||
|
|
||||||
|
Сейчас 2026 год — нужно обновить.
|
||||||
|
|
||||||
|
### Рекомендация
|
||||||
|
|
||||||
|
Обновить на `2020-2026`. Или сделать динамическим через Hugo template:
|
||||||
|
```
|
||||||
|
Copyright (c) 2020-{{ now.Year }} Антон Агальцов
|
||||||
|
```
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
title: "Digest не обновлялся с февраля 2025"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["audit", "personal-site"]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
Последний дайджест — **февраль 2025**. С тех пор 12+ месяцев без новых выпусков.
|
||||||
|
|
||||||
|
### Что есть
|
||||||
|
|
||||||
|
- 27 файлов дайджестов (январь 2023 — февраль 2025)
|
||||||
|
- Автоматизация через `digest.js` — скрипт для генерации
|
||||||
|
- Но скрипт не запускается автоматически
|
||||||
|
|
||||||
|
### Риск
|
||||||
|
|
||||||
|
Low — контент устаревает, SEO-позиции падают для страниц дайджестов.
|
||||||
|
|
||||||
|
### Рекомендация
|
||||||
|
|
||||||
|
1. Настроить cron/CI для ежемесячной генерации дайджеста
|
||||||
|
2. Или интегрировать с OpenClaw — авто-сборка дайджеста на основе новых публикаций
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
title: "Устаревший Node.js 16 в Netlify"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["audit", "personal-site", "infrastructure"]
|
||||||
|
severity: high
|
||||||
|
status: open
|
||||||
|
---
|
||||||
|
|
||||||
|
# Устаревший Node.js 16 в Netlify
|
||||||
|
|
||||||
|
**Файл:** `netlify.toml:5`
|
||||||
|
|
||||||
|
```
|
||||||
|
NODE_VERSION = "16.16.0"
|
||||||
|
```
|
||||||
|
|
||||||
|
Node.js 16 вышел из поддержки (EOL) в сентябре 2023. Сборка на Netlify может начать падать или работать некорректно.
|
||||||
|
|
||||||
|
**Рекомендация:** Обновить до Node.js 20 LTS:
|
||||||
|
```toml
|
||||||
|
NODE_VERSION = "20"
|
||||||
|
```
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: "Yandex Metrika отключена"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["audit", "personal-site"]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
В `params.toml`: `yandexMetrika = false`
|
||||||
|
|
||||||
|
Аналитика с сайта не собирается. Непонятно, есть ли вообще посетители и какие страницы популярны.
|
||||||
|
|
||||||
|
### Рекомендация
|
||||||
|
|
||||||
|
1. Включить Yandex Metrika или перейти на **Plausible** / **Umami** (privacy-friendly)
|
||||||
|
2. Если сайт не нуждается в аналитике — оставить как есть
|
||||||
|
3. Альтернатива: Netlify Analytics (уже встроен в хостинг)
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
title: "Отсутствуют node_modules — нужна установка"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["audit", "personal-site"]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
`node_modules/` отсутствует — проект нельзя собрать без `npm install`.
|
||||||
|
|
||||||
|
### Риск
|
||||||
|
|
||||||
|
Low — стандартная ситуация. Но:
|
||||||
|
|
||||||
|
- `package-lock.json` привязан к Node 16, а на Mac Studio текущий Node v24
|
||||||
|
- Могут быть конфликты зависимостей (canvas, babel, postcss)
|
||||||
|
- Hugo 0.148.2 ставится через `hugo-installer` в npm — может не совпасть с глобальным Hugo
|
||||||
|
|
||||||
|
### Рекомендация
|
||||||
|
|
||||||
|
1. Убедиться что `npm install` проходит без ошибок на текущем Node
|
||||||
|
2. Если нет — обновить зависимости или использовать nvm для Node 16
|
||||||
|
3. Рассмотреть переход на глобальный Hugo вместо `exec-bin`
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
title: "Hugo Doks 0.5 — сильно устарел"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["audit", "personal-site"]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
Проект использует тему **Hyas/Doks v0.5.0** (package.json). Актуальная версия Doks — **1.x** с полной переработкой архитектуры.
|
||||||
|
|
||||||
|
### Что не так
|
||||||
|
|
||||||
|
- Doks 0.5 использует устаревший Bootstrap 5.2.0-beta1
|
||||||
|
- Hugo 0.148.2 в зависимостях — новый, но интеграция с темой старая
|
||||||
|
- Конфигурация через `theme.toml` — в новых версиях перешли на другой формат
|
||||||
|
- `exec-bin` для вызова Hugo — устаревший подход, текущие версии Hugo ставятся глобально
|
||||||
|
|
||||||
|
### Риск
|
||||||
|
|
||||||
|
Medium — работает, но миграция на Doks 1.x потребует значительного рефакторинга layout-ов и конфигурации. Чем дольше откладывать — тем сложнее.
|
||||||
|
|
||||||
|
### Рекомендация
|
||||||
|
|
||||||
|
Запланировать миграцию на Doks 1.x или перейти на чистый Hugo + Bootstrap без зависимости от темы-фреймворка.
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
title: "Twitter handle не соответствует имени"
|
||||||
|
date: 2026-03-31
|
||||||
|
tags: ["audit", "personal-site"]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
В `params.toml` указан Twitter: `@AntonTotoshkin`
|
||||||
|
|
||||||
|
Но владелец сайта — **Антон Агальцов**. Ники не совпадают.
|
||||||
|
|
||||||
|
### Два варианта
|
||||||
|
|
||||||
|
1. Это твой старый/другой аккаунт — тогда ок, но стоит указать актуальный
|
||||||
|
2. Это чужой аккаунт — тогда нужно убрать или исправить
|
||||||
|
|
||||||
|
### Затронутые места
|
||||||
|
|
||||||
|
- `twitterSite = "@AntonTotoshkin"`
|
||||||
|
- `schemaAuthorTwitter = "https://twitter.com/AntonTotoshkin"`
|
||||||
|
- `schemaTwitter = "https://twitter.com/AntonTotoshkin"`
|
||||||
|
|
||||||
|
### Рекомендация
|
||||||
|
|
||||||
|
Указать актуальный Twitter/X или убрать, если соцсеть не используется.
|
||||||
@@ -38,6 +38,10 @@ canonifyURLs = false
|
|||||||
name = "Креды"
|
name = "Креды"
|
||||||
url = "/creds/"
|
url = "/creds/"
|
||||||
weight = 5
|
weight = 5
|
||||||
|
[[menu.main]]
|
||||||
|
name = "Личный сайт"
|
||||||
|
url = "/personal-site/"
|
||||||
|
weight = 6
|
||||||
|
|
||||||
[outputs]
|
[outputs]
|
||||||
home = ["HTML", "JSON"]
|
home = ["HTML", "JSON"]
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../creds/">Креды</a>
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../creds/">Креды</a>
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -105,6 +109,22 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -129,10 +149,22 @@
|
|||||||
<h6 class="mt-3">Теги</h6>
|
<h6 class="mt-3">Теги</h6>
|
||||||
<ul class="nav flex-column">
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../tags/vikunja/">vikunja</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../tags/system-utils/">system-utils</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/opencode/">opencode</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../tags/leadera/">leadera</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../tags/leadera/">leadera</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/gantt/">gantt</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/canvas/">canvas</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/github/">github</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/roadmap/">roadmap</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/vikunja/">vikunja</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../tags/tasktracker/">tasktracker</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../tags/tasktracker/">tasktracker</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../tags/ollama/">ollama</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../tags/ollama/">ollama</a></li>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -105,6 +109,22 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -129,10 +149,22 @@
|
|||||||
<h6 class="mt-3">Теги</h6>
|
<h6 class="mt-3">Теги</h6>
|
||||||
<ul class="nav flex-column">
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../tags/vikunja/">vikunja</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../tags/system-utils/">system-utils</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/opencode/">opencode</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../tags/leadera/">leadera</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../tags/leadera/">leadera</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/gantt/">gantt</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/canvas/">canvas</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/github/">github</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/roadmap/">roadmap</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/vikunja/">vikunja</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../tags/tasktracker/">tasktracker</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../tags/tasktracker/">tasktracker</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../tags/ollama/">ollama</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../tags/ollama/">ollama</a></li>
|
||||||
|
|||||||
@@ -0,0 +1,301 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>31 марта 2026 — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Фильтры</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Все записи</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6 class="mt-3">Теги</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/system-utils/">system-utils</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/opencode/">opencode</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/leadera/">leadera</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/gantt/">gantt</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/canvas/">canvas</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/github/">github</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/roadmap/">roadmap</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/vikunja/">vikunja</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/tasktracker/">tasktracker</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/ollama/">ollama</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/qwen/">qwen</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/mtproxy/">mtproxy</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/infrastructure/">infrastructure</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/angular/">angular</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/go/">go</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/docker/">docker</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/eversolo/">eversolo</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/hugo/">hugo</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/docs/">docs</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/identity/">identity</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../tags/companion/">companion</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>31 марта 2026</h1>
|
||||||
|
<p class="diary-date">31.03.2026</p>
|
||||||
|
|
||||||
|
<h2 id="timeline">Timeline</h2>
|
||||||
|
<ul>
|
||||||
|
<li><strong>Утро</strong> — Обсуждали аналоги htop: порекомендовал btm, btop, glances. Создан конфиг <code>~/.config/bottom/bottom.toml</code></li>
|
||||||
|
<li><strong>День</strong> — Разбирались со скиллами OpenCode: как работают, автоматический подбор по description</li>
|
||||||
|
<li><strong>День</strong> — Созданы скиллы для Leadera проектов (Go: build-and-fix, restart-api; Angular: build-and-fix)</li>
|
||||||
|
<li><strong>День</strong> — Обсудили миграцию Ганта с DOM на Canvas 2D (Konva.js) — real-time коллаборация, экспорт PDF/PNG, 500+ задач</li>
|
||||||
|
<li><strong>Вечер</strong> — Установлен gh CLI, авторизован как agaltsovav</li>
|
||||||
|
<li><strong>Вечер</strong> — Созданы GitHub Projects: Leadera Roadmap (21 задача, P0–P3), agaltsovav.ru Roadmap (7 задач)</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="системные-утилиты">Системные утилиты</h2>
|
||||||
|
<ul>
|
||||||
|
<li><strong>bottom</strong> (btm) — выбранный мониторинг, конфиг в <code>~/.config/bottom/bottom.toml</code></li>
|
||||||
|
<li>Альтернативы: btop, glances</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="opencode-skills">OpenCode Skills</h2>
|
||||||
|
<p>Созданы скиллы:</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>app-leadera-api/.opencode/skills/build-and-fix/</code> — сборка Go проекта + автофикс ошибок (до 10 итераций)</li>
|
||||||
|
<li><code>app-leadera-api/.opencode/skills/restart-api/</code> — swagger генерация + pm2 restart</li>
|
||||||
|
<li><code>app-leadera-fe/.opencode/skills/build-and-fix/</code> — сборка Angular + автофикс</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="gantt-canvas-миграция">Gantt Canvas миграция</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Переход с DOM на Canvas 2D через <strong>Konva.js</strong></li>
|
||||||
|
<li>Цели: real-time коллаборация, экспорт PDF/PNG, 500+ задач</li>
|
||||||
|
<li>Промт: <code>GANTT_CANVAS_MIGRATION_PROMPT.md</code> в app-leadera-fe</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="github">GitHub</h2>
|
||||||
|
<ul>
|
||||||
|
<li>CLI: <code>gh</code> авторизован (agaltsovav)</li>
|
||||||
|
<li>Репо: app-leadera-fe, app-leadera-api, agaltsovav.ru</li>
|
||||||
|
<li>Старые: leadera-fe/leadera-api (на VPS, leadera.ru)</li>
|
||||||
|
<li>modece.ru — заброшен, планируется возвращение</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="github-projects--roadmaps">GitHub Projects — Roadmaps</h2>
|
||||||
|
<h3 id="leadera-roadmap-project-2--21-задача">Leadera Roadmap (project #2) — 21 задача</h3>
|
||||||
|
<ul>
|
||||||
|
<li><strong>P0:</strong> JWT secret, CORS, bcrypt, ContextRole fallback, RegisterProtectedRoutes</li>
|
||||||
|
<li><strong>P1:</strong> Rate limiting, editor role check, MembersModal rewrite</li>
|
||||||
|
<li><strong>P2:</strong> HttpOnly cookies, CSRF, CSP, password policy, audit log, health-check, CI/CD, Canvas миграция, DnD</li>
|
||||||
|
<li><strong>P3:</strong> Code cleanup, тесты, email verification, поиск</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="agaltsovavru-roadmap-project-1--7-задач">agaltsovav.ru Roadmap (project #1) — 7 задач</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Редизайн, мобильная версия, мультиязычность, блог, CI/CD, тёмная тема, форма обратной связи</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tags">
|
||||||
|
|
||||||
|
<a href="../../tags/system-utils/" class="tag">system-utils</a>
|
||||||
|
|
||||||
|
<a href="../../tags/opencode/" class="tag">opencode</a>
|
||||||
|
|
||||||
|
<a href="../../tags/leadera/" class="tag">leadera</a>
|
||||||
|
|
||||||
|
<a href="../../tags/gantt/" class="tag">gantt</a>
|
||||||
|
|
||||||
|
<a href="../../tags/canvas/" class="tag">canvas</a>
|
||||||
|
|
||||||
|
<a href="../../tags/github/" class="tag">github</a>
|
||||||
|
|
||||||
|
<a href="../../tags/roadmap/" class="tag">roadmap</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+57
-1
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../creds/">Креды</a>
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -105,6 +109,22 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -129,10 +149,22 @@
|
|||||||
<h6 class="mt-3">Теги</h6>
|
<h6 class="mt-3">Теги</h6>
|
||||||
<ul class="nav flex-column">
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../tags/vikunja/">vikunja</a></li>
|
<li class="nav-item"><a class="nav-link" href="../tags/system-utils/">system-utils</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../tags/opencode/">opencode</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../tags/leadera/">leadera</a></li>
|
<li class="nav-item"><a class="nav-link" href="../tags/leadera/">leadera</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../tags/gantt/">gantt</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../tags/canvas/">canvas</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../tags/github/">github</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../tags/roadmap/">roadmap</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../tags/vikunja/">vikunja</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../tags/tasktracker/">tasktracker</a></li>
|
<li class="nav-item"><a class="nav-link" href="../tags/tasktracker/">tasktracker</a></li>
|
||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../tags/ollama/">ollama</a></li>
|
<li class="nav-item"><a class="nav-link" href="../tags/ollama/">ollama</a></li>
|
||||||
@@ -176,6 +208,30 @@
|
|||||||
<div class="diary-timeline">
|
<div class="diary-timeline">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="diary-entry">
|
||||||
|
<div class="diary-date">31.03.2026</div>
|
||||||
|
<h3><a href="../diary/2026-03-31/">31 марта 2026</a></h3>
|
||||||
|
|
||||||
|
<div class="tags">
|
||||||
|
|
||||||
|
<a href="../tags/system-utils/" class="tag">system-utils</a>
|
||||||
|
|
||||||
|
<a href="../tags/opencode/" class="tag">opencode</a>
|
||||||
|
|
||||||
|
<a href="../tags/leadera/" class="tag">leadera</a>
|
||||||
|
|
||||||
|
<a href="../tags/gantt/" class="tag">gantt</a>
|
||||||
|
|
||||||
|
<a href="../tags/canvas/" class="tag">canvas</a>
|
||||||
|
|
||||||
|
<a href="../tags/github/" class="tag">github</a>
|
||||||
|
|
||||||
|
<a href="../tags/roadmap/" class="tag">roadmap</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="diary-entry">
|
<div class="diary-entry">
|
||||||
<div class="diary-date">30.03.2026</div>
|
<div class="diary-date">30.03.2026</div>
|
||||||
<h3><a href="../diary/2026-03-30/">30 марта 2026</a></h3>
|
<h3><a href="../diary/2026-03-30/">30 марта 2026</a></h3>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../creds/">Креды</a>
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -47,6 +47,10 @@
|
|||||||
<a class="nav-link" href="./creds/">Креды</a>
|
<a class="nav-link" href="./creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="./personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -95,6 +99,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="./creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="./creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../creds/">Креды</a>
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -0,0 +1,158 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Бинарный файл в репозитории — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Бинарный файл в репозитории</h1>
|
||||||
|
<h2 id="проблема">Проблема</h2>
|
||||||
|
<p>В корне репозитория лежат два файла, которые не должны быть в git:</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong><code>Шаблоны для сайта.key</code></strong> — Apple Keynote файл (бинарный)</li>
|
||||||
|
<li><strong><code>logo.psd</code></strong> — Photoshop файл (бинарный)</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="что-не-так">Что не так</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Увеличивают размер репозитория</li>
|
||||||
|
<li>Git неэффективно хранит бинарные файлы (каждая версия — полностью)</li>
|
||||||
|
<li><code>.key</code> файлы могут содержать конфиденциальные данные шаблонов</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="рекомендация">Рекомендация</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Перенести в отдельное хранилище (Google Drive, облако)</li>
|
||||||
|
<li>Удалить из git-истории через <code>git filter-repo</code></li>
|
||||||
|
<li>Добавить в <code>.gitignore</code>: <code>*.key</code>, <code>*.psd</code>, <code>*.sketch</code></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Copyright без 2026 года — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Copyright без 2026 года</h1>
|
||||||
|
<h2 id="проблема">Проблема</h2>
|
||||||
|
<p>В <code>params.toml</code>:</p>
|
||||||
|
<pre tabindex="0"><code>copyRight = "Copyright (c) 2020-2025 Антон Агальцов"
|
||||||
|
</code></pre><p>Сейчас 2026 год — нужно обновить.</p>
|
||||||
|
<h3 id="рекомендация">Рекомендация</h3>
|
||||||
|
<p>Обновить на <code>2020-2026</code>. Или сделать динамическим через Hugo template:</p>
|
||||||
|
<pre tabindex="0"><code>Copyright (c) 2020-{{ now.Year }} Антон Агальцов
|
||||||
|
</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,155 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Digest не обновлялся с февраля 2025 — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Digest не обновлялся с февраля 2025</h1>
|
||||||
|
<h2 id="проблема">Проблема</h2>
|
||||||
|
<p>Последний дайджест — <strong>февраль 2025</strong>. С тех пор 12+ месяцев без новых выпусков.</p>
|
||||||
|
<h3 id="что-есть">Что есть</h3>
|
||||||
|
<ul>
|
||||||
|
<li>27 файлов дайджестов (январь 2023 — февраль 2025)</li>
|
||||||
|
<li>Автоматизация через <code>digest.js</code> — скрипт для генерации</li>
|
||||||
|
<li>Но скрипт не запускается автоматически</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="риск">Риск</h3>
|
||||||
|
<p>Low — контент устаревает, SEO-позиции падают для страниц дайджестов.</p>
|
||||||
|
<h3 id="рекомендация">Рекомендация</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Настроить cron/CI для ежемесячной генерации дайджеста</li>
|
||||||
|
<li>Или интегрировать с OpenClaw — авто-сборка дайджеста на основе новых публикаций</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Личный сайт (agaltsovav.ru) — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Личный сайт (agaltsovav.ru)</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../personal-site/copyright-outdated/">Copyright без 2026 года</a></li>
|
||||||
|
|
||||||
|
<li><a href="../personal-site/digest-stale/">Digest не обновлялся с февраля 2025</a></li>
|
||||||
|
|
||||||
|
<li><a href="../personal-site/outdated-doks-theme/">Hugo Doks 0.5 — сильно устарел</a></li>
|
||||||
|
|
||||||
|
<li><a href="../personal-site/twitter-handle-mismatch/">Twitter handle не соответствует имени</a></li>
|
||||||
|
|
||||||
|
<li><a href="../personal-site/no-analytics/">Yandex Metrika отключена</a></li>
|
||||||
|
|
||||||
|
<li><a href="../personal-site/binary-files-in-repo/">Бинарный файл в репозитории</a></li>
|
||||||
|
|
||||||
|
<li><a href="../personal-site/no-node-modules/">Отсутствуют node_modules — нужна установка</a></li>
|
||||||
|
|
||||||
|
<li><a href="../personal-site/netlify-node-version/">Устаревший Node.js 16 в Netlify</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../js/search.js"></script>
|
||||||
|
<script src="../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,146 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Устаревший Node.js 16 в Netlify — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Устаревший Node.js 16 в Netlify</h1>
|
||||||
|
<h1 id="устаревший-nodejs-16-в-netlify">Устаревший Node.js 16 в Netlify</h1>
|
||||||
|
<p><strong>Файл:</strong> <code>netlify.toml:5</code></p>
|
||||||
|
<pre tabindex="0"><code>NODE_VERSION = "16.16.0"
|
||||||
|
</code></pre><p>Node.js 16 вышел из поддержки (EOL) в сентябре 2023. Сборка на Netlify может начать падать или работать некорректно.</p>
|
||||||
|
<p><strong>Рекомендация:</strong> Обновить до Node.js 20 LTS:</p>
|
||||||
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">NODE_VERSION</span> = <span style="color:#e6db74">"20"</span>
|
||||||
|
</span></span></code></pre></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Yandex Metrika отключена — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Yandex Metrika отключена</h1>
|
||||||
|
<h2 id="проблема">Проблема</h2>
|
||||||
|
<p>В <code>params.toml</code>: <code>yandexMetrika = false</code></p>
|
||||||
|
<p>Аналитика с сайта не собирается. Непонятно, есть ли вообще посетители и какие страницы популярны.</p>
|
||||||
|
<h3 id="рекомендация">Рекомендация</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Включить Yandex Metrika или перейти на <strong>Plausible</strong> / <strong>Umami</strong> (privacy-friendly)</li>
|
||||||
|
<li>Если сайт не нуждается в аналитике — оставить как есть</li>
|
||||||
|
<li>Альтернатива: Netlify Analytics (уже встроен в хостинг)</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,155 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Отсутствуют node_modules — нужна установка — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Отсутствуют node_modules — нужна установка</h1>
|
||||||
|
<h2 id="проблема">Проблема</h2>
|
||||||
|
<p><code>node_modules/</code> отсутствует — проект нельзя собрать без <code>npm install</code>.</p>
|
||||||
|
<h3 id="риск">Риск</h3>
|
||||||
|
<p>Low — стандартная ситуация. Но:</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>package-lock.json</code> привязан к Node 16, а на Mac Studio текущий Node v24</li>
|
||||||
|
<li>Могут быть конфликты зависимостей (canvas, babel, postcss)</li>
|
||||||
|
<li>Hugo 0.148.2 ставится через <code>hugo-installer</code> в npm — может не совпасть с глобальным Hugo</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="рекомендация">Рекомендация</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Убедиться что <code>npm install</code> проходит без ошибок на текущем Node</li>
|
||||||
|
<li>Если нет — обновить зависимости или использовать nvm для Node 16</li>
|
||||||
|
<li>Рассмотреть переход на глобальный Hugo вместо <code>exec-bin</code></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,153 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Hugo Doks 0.5 — сильно устарел — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Hugo Doks 0.5 — сильно устарел</h1>
|
||||||
|
<h2 id="проблема">Проблема</h2>
|
||||||
|
<p>Проект использует тему <strong>Hyas/Doks v0.5.0</strong> (package.json). Актуальная версия Doks — <strong>1.x</strong> с полной переработкой архитектуры.</p>
|
||||||
|
<h3 id="что-не-так">Что не так</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Doks 0.5 использует устаревший Bootstrap 5.2.0-beta1</li>
|
||||||
|
<li>Hugo 0.148.2 в зависимостях — новый, но интеграция с темой старая</li>
|
||||||
|
<li>Конфигурация через <code>theme.toml</code> — в новых версиях перешли на другой формат</li>
|
||||||
|
<li><code>exec-bin</code> для вызова Hugo — устаревший подход, текущие версии Hugo ставятся глобально</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="риск">Риск</h3>
|
||||||
|
<p>Medium — работает, но миграция на Doks 1.x потребует значительного рефакторинга layout-ов и конфигурации. Чем дольше откладывать — тем сложнее.</p>
|
||||||
|
<h3 id="рекомендация">Рекомендация</h3>
|
||||||
|
<p>Запланировать миграцию на Doks 1.x или перейти на чистый Hugo + Bootstrap без зависимости от темы-фреймворка.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,156 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Twitter handle не соответствует имени — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Twitter handle не соответствует имени</h1>
|
||||||
|
<h2 id="проблема">Проблема</h2>
|
||||||
|
<p>В <code>params.toml</code> указан Twitter: <code>@AntonTotoshkin</code></p>
|
||||||
|
<p>Но владелец сайта — <strong>Антон Агальцов</strong>. Ники не совпадают.</p>
|
||||||
|
<h3 id="два-варианта">Два варианта</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Это твой старый/другой аккаунт — тогда ок, но стоит указать актуальный</li>
|
||||||
|
<li>Это чужой аккаунт — тогда нужно убрать или исправить</li>
|
||||||
|
</ol>
|
||||||
|
<h3 id="затронутые-места">Затронутые места</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code>twitterSite = "@AntonTotoshkin"</code></li>
|
||||||
|
<li><code>schemaAuthorTwitter = "https://twitter.com/AntonTotoshkin"</code></li>
|
||||||
|
<li><code>schemaTwitter = "https://twitter.com/AntonTotoshkin"</code></li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="рекомендация">Рекомендация</h3>
|
||||||
|
<p>Указать актуальный Twitter/X или убрать, если соцсеть не используется.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../creds/">Креды</a>
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
|
|||||||
+72
-24
@@ -2,32 +2,89 @@
|
|||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||||
<url>
|
<url>
|
||||||
|
<loc>/personal-site/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
<loc>/guides/leadera-audit/</loc>
|
<loc>/guides/leadera-audit/</loc>
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/diary/2026-03-31/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/audit/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/canvas/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/personal-site/copyright-outdated/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/diary/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/personal-site/digest-stale/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/gantt/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/github/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/hugo/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/personal-site/outdated-doks-theme/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/infrastructure/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/leadera/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/opencode/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/personal-site/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/roadmap/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/system-utils/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/tags/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/personal-site/twitter-handle-mismatch/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/personal-site/no-analytics/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/personal-site/binary-files-in-repo/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/personal-site/no-node-modules/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>/personal-site/netlify-node-version/</loc>
|
||||||
|
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/diary/2026-03-30/</loc>
|
<loc>/diary/2026-03-30/</loc>
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/tags/architecture/</loc>
|
<loc>/tags/architecture/</loc>
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
|
||||||
<loc>/tags/audit/</loc>
|
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
|
||||||
</url><url>
|
|
||||||
<loc>/diary/</loc>
|
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
|
||||||
</url><url>
|
|
||||||
<loc>/</loc>
|
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/guides/</loc>
|
<loc>/guides/</loc>
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
|
||||||
<loc>/tags/infrastructure/</loc>
|
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
|
||||||
</url><url>
|
|
||||||
<loc>/tags/leadera/</loc>
|
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/tags/mtproxy/</loc>
|
<loc>/tags/mtproxy/</loc>
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
||||||
@@ -40,9 +97,6 @@
|
|||||||
</url><url>
|
</url><url>
|
||||||
<loc>/tags/security/</loc>
|
<loc>/tags/security/</loc>
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
|
||||||
<loc>/tags/</loc>
|
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/tags/tasktracker/</loc>
|
<loc>/tags/tasktracker/</loc>
|
||||||
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
|
||||||
@@ -100,9 +154,6 @@
|
|||||||
</url><url>
|
</url><url>
|
||||||
<loc>/tags/go/</loc>
|
<loc>/tags/go/</loc>
|
||||||
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
|
||||||
<loc>/tags/hugo/</loc>
|
|
||||||
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/tags/identity/</loc>
|
<loc>/tags/identity/</loc>
|
||||||
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
||||||
@@ -127,9 +178,6 @@
|
|||||||
</url><url>
|
</url><url>
|
||||||
<loc>/tags/openclaw/</loc>
|
<loc>/tags/openclaw/</loc>
|
||||||
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
|
||||||
<loc>/tags/opencode/</loc>
|
|
||||||
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>/plans/</loc>
|
<loc>/plans/</loc>
|
||||||
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../creds/">Креды</a>
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -109,8 +115,26 @@
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/">Личный сайт (agaltsovav.ru)</a></li>
|
||||||
|
|
||||||
<li><a href="../../guides/leadera-audit/">Аудит Leadera — полный отчёт</a></li>
|
<li><a href="../../guides/leadera-audit/">Аудит Leadera — полный отчёт</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/copyright-outdated/">Copyright без 2026 года</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/digest-stale/">Digest не обновлялся с февраля 2025</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/outdated-doks-theme/">Hugo Doks 0.5 — сильно устарел</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/twitter-handle-mismatch/">Twitter handle не соответствует имени</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/no-analytics/">Yandex Metrika отключена</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/binary-files-in-repo/">Бинарный файл в репозитории</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/no-node-modules/">Отсутствуют node_modules — нужна установка</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/netlify-node-version/">Устаревший Node.js 16 в Netlify</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,15 @@
|
|||||||
<description>Recent content in Audit on docs.a2v.space</description>
|
<description>Recent content in Audit on docs.a2v.space</description>
|
||||||
<generator>Hugo</generator>
|
<generator>Hugo</generator>
|
||||||
<language>ru-ru</language>
|
<language>ru-ru</language>
|
||||||
<lastBuildDate>Mon, 30 Mar 2026 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="/tags/audit/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="/tags/audit/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Личный сайт (agaltsovav.ru)</title>
|
||||||
|
<link>/personal-site/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>Аудит Leadera — полный отчёт</title>
|
<title>Аудит Leadera — полный отчёт</title>
|
||||||
<link>/guides/leadera-audit/</link>
|
<link>/guides/leadera-audit/</link>
|
||||||
@@ -15,5 +22,61 @@
|
|||||||
<guid>/guides/leadera-audit/</guid>
|
<guid>/guides/leadera-audit/</guid>
|
||||||
<description><h1 id="аудит-проекта-leadera">Аудит проекта Leadera</h1>
<p><strong>Дата:</strong> 30.03.2026<br>
<strong>Версия:</strong> pre-production, миграции 1–5</p>
<hr>
<h2 id="1-обзор-проекта">1. Обзор проекта</h2>
<p>Leadera — SaaS-система управления IT-ландшафтом с диаграммами Ганта.</p>
<h3 id="стек">Стек</h3>
<table>
 <thead>
 <tr>
 <th>Компонент</th>
 <th>Технологии</th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td>Backend</td>
 <td>Go 1.21+, Gin, PostgreSQL 16, pgx/v5 + sqlx, JWT (HMAC-SHA256)</td>
 </tr>
 <tr>
 <td>Frontend</td>
 <td>Angular 21.1, Bootstrap 5, NgBootstrap, RxJS, Signals</td>
 </tr>
 <tr>
 <td>Инфраструктура</td>
 <td>Docker (Colima), pm2, nginx reverse proxy, VPS reg.ru</td>
 </tr>
 </tbody>
</table>
<h3 id="доменная-модель">Доменная модель</h3>
<pre tabindex="0"><code>User ──┬── Space (через space_members с role)
 │
 └── GanttChart (принадлежит Space)
 ├── GanttSection
 └── GanttTask
</code></pre><p><strong>Роли:</strong> admin, editor, viewer — назначаются <strong>на уровне Space</strong> через таблицу <code>space_members</code>.</p></description>
|
<description><h1 id="аудит-проекта-leadera">Аудит проекта Leadera</h1>
<p><strong>Дата:</strong> 30.03.2026<br>
<strong>Версия:</strong> pre-production, миграции 1–5</p>
<hr>
<h2 id="1-обзор-проекта">1. Обзор проекта</h2>
<p>Leadera — SaaS-система управления IT-ландшафтом с диаграммами Ганта.</p>
<h3 id="стек">Стек</h3>
<table>
 <thead>
 <tr>
 <th>Компонент</th>
 <th>Технологии</th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td>Backend</td>
 <td>Go 1.21+, Gin, PostgreSQL 16, pgx/v5 + sqlx, JWT (HMAC-SHA256)</td>
 </tr>
 <tr>
 <td>Frontend</td>
 <td>Angular 21.1, Bootstrap 5, NgBootstrap, RxJS, Signals</td>
 </tr>
 <tr>
 <td>Инфраструктура</td>
 <td>Docker (Colima), pm2, nginx reverse proxy, VPS reg.ru</td>
 </tr>
 </tbody>
</table>
<h3 id="доменная-модель">Доменная модель</h3>
<pre tabindex="0"><code>User ──┬── Space (через space_members с role)
 │
 └── GanttChart (принадлежит Space)
 ├── GanttSection
 └── GanttTask
</code></pre><p><strong>Роли:</strong> admin, editor, viewer — назначаются <strong>на уровне Space</strong> через таблицу <code>space_members</code>.</p></description>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Copyright без 2026 года</title>
|
||||||
|
<link>/personal-site/copyright-outdated/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/copyright-outdated/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>В <code>params.toml</code>:</p>
<pre tabindex="0"><code>copyRight = &#34;Copyright (c) 2020-2025 Антон Агальцов&#34;
</code></pre><p>Сейчас 2026 год — нужно обновить.</p>
<h3 id="рекомендация">Рекомендация</h3>
<p>Обновить на <code>2020-2026</code>. Или сделать динамическим через Hugo template:</p>
<pre tabindex="0"><code>Copyright (c) 2020-{{ now.Year }} Антон Агальцов
</code></pre></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Digest не обновлялся с февраля 2025</title>
|
||||||
|
<link>/personal-site/digest-stale/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/digest-stale/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>Последний дайджест — <strong>февраль 2025</strong>. С тех пор 12+ месяцев без новых выпусков.</p>
<h3 id="что-есть">Что есть</h3>
<ul>
<li>27 файлов дайджестов (январь 2023 — февраль 2025)</li>
<li>Автоматизация через <code>digest.js</code> — скрипт для генерации</li>
<li>Но скрипт не запускается автоматически</li>
</ul>
<h3 id="риск">Риск</h3>
<p>Low — контент устаревает, SEO-позиции падают для страниц дайджестов.</p>
<h3 id="рекомендация">Рекомендация</h3>
<ol>
<li>Настроить cron/CI для ежемесячной генерации дайджеста</li>
<li>Или интегрировать с OpenClaw — авто-сборка дайджеста на основе новых публикаций</li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Hugo Doks 0.5 — сильно устарел</title>
|
||||||
|
<link>/personal-site/outdated-doks-theme/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/outdated-doks-theme/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>Проект использует тему <strong>Hyas/Doks v0.5.0</strong> (package.json). Актуальная версия Doks — <strong>1.x</strong> с полной переработкой архитектуры.</p>
<h3 id="что-не-так">Что не так</h3>
<ul>
<li>Doks 0.5 использует устаревший Bootstrap 5.2.0-beta1</li>
<li>Hugo 0.148.2 в зависимостях — новый, но интеграция с темой старая</li>
<li>Конфигурация через <code>theme.toml</code> — в новых версиях перешли на другой формат</li>
<li><code>exec-bin</code> для вызова Hugo — устаревший подход, текущие версии Hugo ставятся глобально</li>
</ul>
<h3 id="риск">Риск</h3>
<p>Medium — работает, но миграция на Doks 1.x потребует значительного рефакторинга layout-ов и конфигурации. Чем дольше откладывать — тем сложнее.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Twitter handle не соответствует имени</title>
|
||||||
|
<link>/personal-site/twitter-handle-mismatch/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/twitter-handle-mismatch/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>В <code>params.toml</code> указан Twitter: <code>@AntonTotoshkin</code></p>
<p>Но владелец сайта — <strong>Антон Агальцов</strong>. Ники не совпадают.</p>
<h3 id="два-варианта">Два варианта</h3>
<ol>
<li>Это твой старый/другой аккаунт — тогда ок, но стоит указать актуальный</li>
<li>Это чужой аккаунт — тогда нужно убрать или исправить</li>
</ol>
<h3 id="затронутые-места">Затронутые места</h3>
<ul>
<li><code>twitterSite = &quot;@AntonTotoshkin&quot;</code></li>
<li><code>schemaAuthorTwitter = &quot;https://twitter.com/AntonTotoshkin&quot;</code></li>
<li><code>schemaTwitter = &quot;https://twitter.com/AntonTotoshkin&quot;</code></li>
</ul>
<h3 id="рекомендация">Рекомендация</h3>
<p>Указать актуальный Twitter/X или убрать, если соцсеть не используется.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Yandex Metrika отключена</title>
|
||||||
|
<link>/personal-site/no-analytics/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/no-analytics/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>В <code>params.toml</code>: <code>yandexMetrika = false</code></p>
<p>Аналитика с сайта не собирается. Непонятно, есть ли вообще посетители и какие страницы популярны.</p>
<h3 id="рекомендация">Рекомендация</h3>
<ol>
<li>Включить Yandex Metrika или перейти на <strong>Plausible</strong> / <strong>Umami</strong> (privacy-friendly)</li>
<li>Если сайт не нуждается в аналитике — оставить как есть</li>
<li>Альтернатива: Netlify Analytics (уже встроен в хостинг)</li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Бинарный файл в репозитории</title>
|
||||||
|
<link>/personal-site/binary-files-in-repo/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/binary-files-in-repo/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>В корне репозитория лежат два файла, которые не должны быть в git:</p>
<ul>
<li><strong><code>Шаблоны для сайта.key</code></strong> — Apple Keynote файл (бинарный)</li>
<li><strong><code>logo.psd</code></strong> — Photoshop файл (бинарный)</li>
</ul>
<h3 id="что-не-так">Что не так</h3>
<ul>
<li>Увеличивают размер репозитория</li>
<li>Git неэффективно хранит бинарные файлы (каждая версия — полностью)</li>
<li><code>.key</code> файлы могут содержать конфиденциальные данные шаблонов</li>
</ul>
<h3 id="рекомендация">Рекомендация</h3>
<ol>
<li>Перенести в отдельное хранилище (Google Drive, облако)</li>
<li>Удалить из git-истории через <code>git filter-repo</code></li>
<li>Добавить в <code>.gitignore</code>: <code>*.key</code>, <code>*.psd</code>, <code>*.sketch</code></li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Отсутствуют node_modules — нужна установка</title>
|
||||||
|
<link>/personal-site/no-node-modules/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/no-node-modules/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p><code>node_modules/</code> отсутствует — проект нельзя собрать без <code>npm install</code>.</p>
<h3 id="риск">Риск</h3>
<p>Low — стандартная ситуация. Но:</p>
<ul>
<li><code>package-lock.json</code> привязан к Node 16, а на Mac Studio текущий Node v24</li>
<li>Могут быть конфликты зависимостей (canvas, babel, postcss)</li>
<li>Hugo 0.148.2 ставится через <code>hugo-installer</code> в npm — может не совпасть с глобальным Hugo</li>
</ul>
<h3 id="рекомендация">Рекомендация</h3>
<ol>
<li>Убедиться что <code>npm install</code> проходит без ошибок на текущем Node</li>
<li>Если нет — обновить зависимости или использовать nvm для Node 16</li>
<li>Рассмотреть переход на глобальный Hugo вместо <code>exec-bin</code></li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Устаревший Node.js 16 в Netlify</title>
|
||||||
|
<link>/personal-site/netlify-node-version/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/netlify-node-version/</guid>
|
||||||
|
<description><h1 id="устаревший-nodejs-16-в-netlify">Устаревший Node.js 16 в Netlify</h1>
<p><strong>Файл:</strong> <code>netlify.toml:5</code></p>
<pre tabindex="0"><code>NODE_VERSION = &#34;16.16.0&#34;
</code></pre><p>Node.js 16 вышел из поддержки (EOL) в сентябре 2023. Сборка на Netlify может начать падать или работать некорректно.</p>
<p><strong>Рекомендация:</strong> Обновить до Node.js 20 LTS:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">NODE_VERSION</span> = <span style="color:#e6db74">&#34;20&#34;</span>
</span></span></code></pre></div></description>
|
||||||
|
</item>
|
||||||
</channel>
|
</channel>
|
||||||
</rss>
|
</rss>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,146 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Canvas — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Canvas</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../diary/2026-03-31/">31 марта 2026</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Canvas on docs.a2v.space</title>
|
||||||
|
<link>/tags/canvas/</link>
|
||||||
|
<description>Recent content in Canvas on docs.a2v.space</description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>ru-ru</language>
|
||||||
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
|
<atom:link href="/tags/canvas/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>31 марта 2026</title>
|
||||||
|
<link>/diary/2026-03-31/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/diary/2026-03-31/</guid>
|
||||||
|
<description><h2 id="timeline">Timeline</h2>
<ul>
<li><strong>Утро</strong> — Обсуждали аналоги htop: порекомендовал btm, btop, glances. Создан конфиг <code>~/.config/bottom/bottom.toml</code></li>
<li><strong>День</strong> — Разбирались со скиллами OpenCode: как работают, автоматический подбор по description</li>
<li><strong>День</strong> — Созданы скиллы для Leadera проектов (Go: build-and-fix, restart-api; Angular: build-and-fix)</li>
<li><strong>День</strong> — Обсудили миграцию Ганта с DOM на Canvas 2D (Konva.js) — real-time коллаборация, экспорт PDF/PNG, 500+ задач</li>
<li><strong>Вечер</strong> — Установлен gh CLI, авторизован как agaltsovav</li>
<li><strong>Вечер</strong> — Созданы GitHub Projects: Leadera Roadmap (21 задача, P0–P3), agaltsovav.ru Roadmap (7 задач)</li>
</ul>
<h2 id="системные-утилиты">Системные утилиты</h2>
<ul>
<li><strong>bottom</strong> (btm) — выбранный мониторинг, конфиг в <code>~/.config/bottom/bottom.toml</code></li>
<li>Альтернативы: btop, glances</li>
</ul>
<h2 id="opencode-skills">OpenCode Skills</h2>
<p>Созданы скиллы:</p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,146 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Gantt — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Gantt</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../diary/2026-03-31/">31 марта 2026</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Gantt on docs.a2v.space</title>
|
||||||
|
<link>/tags/gantt/</link>
|
||||||
|
<description>Recent content in Gantt on docs.a2v.space</description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>ru-ru</language>
|
||||||
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
|
<atom:link href="/tags/gantt/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>31 марта 2026</title>
|
||||||
|
<link>/diary/2026-03-31/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/diary/2026-03-31/</guid>
|
||||||
|
<description><h2 id="timeline">Timeline</h2>
<ul>
<li><strong>Утро</strong> — Обсуждали аналоги htop: порекомендовал btm, btop, glances. Создан конфиг <code>~/.config/bottom/bottom.toml</code></li>
<li><strong>День</strong> — Разбирались со скиллами OpenCode: как работают, автоматический подбор по description</li>
<li><strong>День</strong> — Созданы скиллы для Leadera проектов (Go: build-and-fix, restart-api; Angular: build-and-fix)</li>
<li><strong>День</strong> — Обсудили миграцию Ганта с DOM на Canvas 2D (Konva.js) — real-time коллаборация, экспорт PDF/PNG, 500+ задач</li>
<li><strong>Вечер</strong> — Установлен gh CLI, авторизован как agaltsovav</li>
<li><strong>Вечер</strong> — Созданы GitHub Projects: Leadera Roadmap (21 задача, P0–P3), agaltsovav.ru Roadmap (7 задач)</li>
</ul>
<h2 id="системные-утилиты">Системные утилиты</h2>
<ul>
<li><strong>bottom</strong> (btm) — выбранный мониторинг, конфиг в <code>~/.config/bottom/bottom.toml</code></li>
<li>Альтернативы: btop, glances</li>
</ul>
<h2 id="opencode-skills">OpenCode Skills</h2>
<p>Созданы скиллы:</p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Github — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Github</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../diary/2026-03-31/">31 марта 2026</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Github on docs.a2v.space</title>
|
||||||
|
<link>/tags/github/</link>
|
||||||
|
<description>Recent content in Github on docs.a2v.space</description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>ru-ru</language>
|
||||||
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
|
<atom:link href="/tags/github/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>31 марта 2026</title>
|
||||||
|
<link>/diary/2026-03-31/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/diary/2026-03-31/</guid>
|
||||||
|
<description><h2 id="timeline">Timeline</h2>
<ul>
<li><strong>Утро</strong> — Обсуждали аналоги htop: порекомендовал btm, btop, glances. Создан конфиг <code>~/.config/bottom/bottom.toml</code></li>
<li><strong>День</strong> — Разбирались со скиллами OpenCode: как работают, автоматический подбор по description</li>
<li><strong>День</strong> — Созданы скиллы для Leadera проектов (Go: build-and-fix, restart-api; Angular: build-and-fix)</li>
<li><strong>День</strong> — Обсудили миграцию Ганта с DOM на Canvas 2D (Konva.js) — real-time коллаборация, экспорт PDF/PNG, 500+ задач</li>
<li><strong>Вечер</strong> — Установлен gh CLI, авторизован как agaltsovav</li>
<li><strong>Вечер</strong> — Созданы GitHub Projects: Leadera Roadmap (21 задача, P0–P3), agaltsovav.ru Roadmap (7 задач)</li>
</ul>
<h2 id="системные-утилиты">Системные утилиты</h2>
<ul>
<li><strong>bottom</strong> (btm) — выбранный мониторинг, конфиг в <code>~/.config/bottom/bottom.toml</code></li>
<li>Альтернативы: btop, glances</li>
</ul>
<h2 id="opencode-skills">OpenCode Skills</h2>
<p>Созданы скиллы:</p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -109,6 +115,8 @@
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/">Личный сайт (agaltsovav.ru)</a></li>
|
||||||
|
|
||||||
<li><a href="../../diary/2026-03-29/">29 марта 2026</a></li>
|
<li><a href="../../diary/2026-03-29/">29 марта 2026</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -6,8 +6,15 @@
|
|||||||
<description>Recent content in Hugo on docs.a2v.space</description>
|
<description>Recent content in Hugo on docs.a2v.space</description>
|
||||||
<generator>Hugo</generator>
|
<generator>Hugo</generator>
|
||||||
<language>ru-ru</language>
|
<language>ru-ru</language>
|
||||||
<lastBuildDate>Sun, 29 Mar 2026 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="/tags/hugo/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="/tags/hugo/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Личный сайт (agaltsovav.ru)</title>
|
||||||
|
<link>/personal-site/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>29 марта 2026</title>
|
<title>29 марта 2026</title>
|
||||||
<link>/diary/2026-03-29/</link>
|
<link>/diary/2026-03-29/</link>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+24
-6
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../creds/">Креды</a>
|
<a class="nav-link" href="../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -109,14 +115,30 @@
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li><a href="../tags/architecture/">Architecture</a></li>
|
|
||||||
|
|
||||||
<li><a href="../tags/audit/">Audit</a></li>
|
<li><a href="../tags/audit/">Audit</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/canvas/">Canvas</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/gantt/">Gantt</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/github/">Github</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/hugo/">Hugo</a></li>
|
||||||
|
|
||||||
<li><a href="../tags/infrastructure/">Infrastructure</a></li>
|
<li><a href="../tags/infrastructure/">Infrastructure</a></li>
|
||||||
|
|
||||||
<li><a href="../tags/leadera/">Leadera</a></li>
|
<li><a href="../tags/leadera/">Leadera</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/opencode/">Opencode</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/personal-site/">Personal-Site</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/roadmap/">Roadmap</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/system-utils/">System-Utils</a></li>
|
||||||
|
|
||||||
|
<li><a href="../tags/architecture/">Architecture</a></li>
|
||||||
|
|
||||||
<li><a href="../tags/mtproxy/">Mtproxy</a></li>
|
<li><a href="../tags/mtproxy/">Mtproxy</a></li>
|
||||||
|
|
||||||
<li><a href="../tags/ollama/">Ollama</a></li>
|
<li><a href="../tags/ollama/">Ollama</a></li>
|
||||||
@@ -153,8 +175,6 @@
|
|||||||
|
|
||||||
<li><a href="../tags/go/">Go</a></li>
|
<li><a href="../tags/go/">Go</a></li>
|
||||||
|
|
||||||
<li><a href="../tags/hugo/">Hugo</a></li>
|
|
||||||
|
|
||||||
<li><a href="../tags/identity/">Identity</a></li>
|
<li><a href="../tags/identity/">Identity</a></li>
|
||||||
|
|
||||||
<li><a href="../tags/llm/">Llm</a></li>
|
<li><a href="../tags/llm/">Llm</a></li>
|
||||||
@@ -165,8 +185,6 @@
|
|||||||
|
|
||||||
<li><a href="../tags/openclaw/">Openclaw</a></li>
|
<li><a href="../tags/openclaw/">Openclaw</a></li>
|
||||||
|
|
||||||
<li><a href="../tags/opencode/">Opencode</a></li>
|
|
||||||
|
|
||||||
<li><a href="../tags/postgresql/">Postgresql</a></li>
|
<li><a href="../tags/postgresql/">Postgresql</a></li>
|
||||||
|
|
||||||
<li><a href="../tags/reg.ru/">Reg.ru</a></li>
|
<li><a href="../tags/reg.ru/">Reg.ru</a></li>
|
||||||
|
|||||||
+67
-25
@@ -6,36 +6,92 @@
|
|||||||
<description>Recent content in Tags on docs.a2v.space</description>
|
<description>Recent content in Tags on docs.a2v.space</description>
|
||||||
<generator>Hugo</generator>
|
<generator>Hugo</generator>
|
||||||
<language>ru-ru</language>
|
<language>ru-ru</language>
|
||||||
<lastBuildDate>Mon, 30 Mar 2026 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||||
<item>
|
|
||||||
<title>Architecture</title>
|
|
||||||
<link>/tags/architecture/</link>
|
|
||||||
<pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
|
|
||||||
<guid>/tags/architecture/</guid>
|
|
||||||
<description></description>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<title>Audit</title>
|
<title>Audit</title>
|
||||||
<link>/tags/audit/</link>
|
<link>/tags/audit/</link>
|
||||||
<pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
<guid>/tags/audit/</guid>
|
<guid>/tags/audit/</guid>
|
||||||
<description></description>
|
<description></description>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Canvas</title>
|
||||||
|
<link>/tags/canvas/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/canvas/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Gantt</title>
|
||||||
|
<link>/tags/gantt/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/gantt/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Github</title>
|
||||||
|
<link>/tags/github/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/github/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Hugo</title>
|
||||||
|
<link>/tags/hugo/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/hugo/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>Infrastructure</title>
|
<title>Infrastructure</title>
|
||||||
<link>/tags/infrastructure/</link>
|
<link>/tags/infrastructure/</link>
|
||||||
<pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
<guid>/tags/infrastructure/</guid>
|
<guid>/tags/infrastructure/</guid>
|
||||||
<description></description>
|
<description></description>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>Leadera</title>
|
<title>Leadera</title>
|
||||||
<link>/tags/leadera/</link>
|
<link>/tags/leadera/</link>
|
||||||
<pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
<guid>/tags/leadera/</guid>
|
<guid>/tags/leadera/</guid>
|
||||||
<description></description>
|
<description></description>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Opencode</title>
|
||||||
|
<link>/tags/opencode/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/opencode/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Personal-Site</title>
|
||||||
|
<link>/tags/personal-site/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/personal-site/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Roadmap</title>
|
||||||
|
<link>/tags/roadmap/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/roadmap/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>System-Utils</title>
|
||||||
|
<link>/tags/system-utils/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/system-utils/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Architecture</title>
|
||||||
|
<link>/tags/architecture/</link>
|
||||||
|
<pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/tags/architecture/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>Mtproxy</title>
|
<title>Mtproxy</title>
|
||||||
<link>/tags/mtproxy/</link>
|
<link>/tags/mtproxy/</link>
|
||||||
@@ -162,13 +218,6 @@
|
|||||||
<guid>/tags/go/</guid>
|
<guid>/tags/go/</guid>
|
||||||
<description></description>
|
<description></description>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<title>Hugo</title>
|
|
||||||
<link>/tags/hugo/</link>
|
|
||||||
<pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
|
|
||||||
<guid>/tags/hugo/</guid>
|
|
||||||
<description></description>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<title>Identity</title>
|
<title>Identity</title>
|
||||||
<link>/tags/identity/</link>
|
<link>/tags/identity/</link>
|
||||||
@@ -204,13 +253,6 @@
|
|||||||
<guid>/tags/openclaw/</guid>
|
<guid>/tags/openclaw/</guid>
|
||||||
<description></description>
|
<description></description>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<title>Opencode</title>
|
|
||||||
<link>/tags/opencode/</link>
|
|
||||||
<pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
|
|
||||||
<guid>/tags/opencode/</guid>
|
|
||||||
<description></description>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<title>Postgresql</title>
|
<title>Postgresql</title>
|
||||||
<link>/tags/postgresql/</link>
|
<link>/tags/postgresql/</link>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -109,6 +115,8 @@
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/netlify-node-version/">Устаревший Node.js 16 в Netlify</a></li>
|
||||||
|
|
||||||
<li><a href="../../diary/2026-03-30/">30 марта 2026</a></li>
|
<li><a href="../../diary/2026-03-30/">30 марта 2026</a></li>
|
||||||
|
|
||||||
<li><a href="../../diary/2026-03-29/">29 марта 2026</a></li>
|
<li><a href="../../diary/2026-03-29/">29 марта 2026</a></li>
|
||||||
|
|||||||
@@ -6,8 +6,15 @@
|
|||||||
<description>Recent content in Infrastructure on docs.a2v.space</description>
|
<description>Recent content in Infrastructure on docs.a2v.space</description>
|
||||||
<generator>Hugo</generator>
|
<generator>Hugo</generator>
|
||||||
<language>ru-ru</language>
|
<language>ru-ru</language>
|
||||||
<lastBuildDate>Mon, 30 Mar 2026 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="/tags/infrastructure/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="/tags/infrastructure/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Устаревший Node.js 16 в Netlify</title>
|
||||||
|
<link>/personal-site/netlify-node-version/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/netlify-node-version/</guid>
|
||||||
|
<description><h1 id="устаревший-nodejs-16-в-netlify">Устаревший Node.js 16 в Netlify</h1>
<p><strong>Файл:</strong> <code>netlify.toml:5</code></p>
<pre tabindex="0"><code>NODE_VERSION = &#34;16.16.0&#34;
</code></pre><p>Node.js 16 вышел из поддержки (EOL) в сентябре 2023. Сборка на Netlify может начать падать или работать некорректно.</p>
<p><strong>Рекомендация:</strong> Обновить до Node.js 20 LTS:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">NODE_VERSION</span> = <span style="color:#e6db74">&#34;20&#34;</span>
</span></span></code></pre></div></description>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>30 марта 2026</title>
|
<title>30 марта 2026</title>
|
||||||
<link>/diary/2026-03-30/</link>
|
<link>/diary/2026-03-30/</link>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -111,6 +117,8 @@
|
|||||||
|
|
||||||
<li><a href="../../guides/leadera-audit/">Аудит Leadera — полный отчёт</a></li>
|
<li><a href="../../guides/leadera-audit/">Аудит Leadera — полный отчёт</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../diary/2026-03-31/">31 марта 2026</a></li>
|
||||||
|
|
||||||
<li><a href="../../diary/2026-03-30/">30 марта 2026</a></li>
|
<li><a href="../../diary/2026-03-30/">30 марта 2026</a></li>
|
||||||
|
|
||||||
<li><a href="../../creds/leadera-db-docker/">Mac Studio — leadera-api БД (docker-compose)</a></li>
|
<li><a href="../../creds/leadera-db-docker/">Mac Studio — leadera-api БД (docker-compose)</a></li>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<description>Recent content in Leadera on docs.a2v.space</description>
|
<description>Recent content in Leadera on docs.a2v.space</description>
|
||||||
<generator>Hugo</generator>
|
<generator>Hugo</generator>
|
||||||
<language>ru-ru</language>
|
<language>ru-ru</language>
|
||||||
<lastBuildDate>Mon, 30 Mar 2026 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="/tags/leadera/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="/tags/leadera/index.xml" rel="self" type="application/rss+xml" />
|
||||||
<item>
|
<item>
|
||||||
<title>Аудит Leadera — полный отчёт</title>
|
<title>Аудит Leadera — полный отчёт</title>
|
||||||
@@ -15,6 +15,13 @@
|
|||||||
<guid>/guides/leadera-audit/</guid>
|
<guid>/guides/leadera-audit/</guid>
|
||||||
<description><h1 id="аудит-проекта-leadera">Аудит проекта Leadera</h1>
<p><strong>Дата:</strong> 30.03.2026<br>
<strong>Версия:</strong> pre-production, миграции 1–5</p>
<hr>
<h2 id="1-обзор-проекта">1. Обзор проекта</h2>
<p>Leadera — SaaS-система управления IT-ландшафтом с диаграммами Ганта.</p>
<h3 id="стек">Стек</h3>
<table>
 <thead>
 <tr>
 <th>Компонент</th>
 <th>Технологии</th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td>Backend</td>
 <td>Go 1.21+, Gin, PostgreSQL 16, pgx/v5 + sqlx, JWT (HMAC-SHA256)</td>
 </tr>
 <tr>
 <td>Frontend</td>
 <td>Angular 21.1, Bootstrap 5, NgBootstrap, RxJS, Signals</td>
 </tr>
 <tr>
 <td>Инфраструктура</td>
 <td>Docker (Colima), pm2, nginx reverse proxy, VPS reg.ru</td>
 </tr>
 </tbody>
</table>
<h3 id="доменная-модель">Доменная модель</h3>
<pre tabindex="0"><code>User ──┬── Space (через space_members с role)
 │
 └── GanttChart (принадлежит Space)
 ├── GanttSection
 └── GanttTask
</code></pre><p><strong>Роли:</strong> admin, editor, viewer — назначаются <strong>на уровне Space</strong> через таблицу <code>space_members</code>.</p></description>
|
<description><h1 id="аудит-проекта-leadera">Аудит проекта Leadera</h1>
<p><strong>Дата:</strong> 30.03.2026<br>
<strong>Версия:</strong> pre-production, миграции 1–5</p>
<hr>
<h2 id="1-обзор-проекта">1. Обзор проекта</h2>
<p>Leadera — SaaS-система управления IT-ландшафтом с диаграммами Ганта.</p>
<h3 id="стек">Стек</h3>
<table>
 <thead>
 <tr>
 <th>Компонент</th>
 <th>Технологии</th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td>Backend</td>
 <td>Go 1.21+, Gin, PostgreSQL 16, pgx/v5 + sqlx, JWT (HMAC-SHA256)</td>
 </tr>
 <tr>
 <td>Frontend</td>
 <td>Angular 21.1, Bootstrap 5, NgBootstrap, RxJS, Signals</td>
 </tr>
 <tr>
 <td>Инфраструктура</td>
 <td>Docker (Colima), pm2, nginx reverse proxy, VPS reg.ru</td>
 </tr>
 </tbody>
</table>
<h3 id="доменная-модель">Доменная модель</h3>
<pre tabindex="0"><code>User ──┬── Space (через space_members с role)
 │
 └── GanttChart (принадлежит Space)
 ├── GanttSection
 └── GanttTask
</code></pre><p><strong>Роли:</strong> admin, editor, viewer — назначаются <strong>на уровне Space</strong> через таблицу <code>space_members</code>.</p></description>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>31 марта 2026</title>
|
||||||
|
<link>/diary/2026-03-31/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/diary/2026-03-31/</guid>
|
||||||
|
<description><h2 id="timeline">Timeline</h2>
<ul>
<li><strong>Утро</strong> — Обсуждали аналоги htop: порекомендовал btm, btop, glances. Создан конфиг <code>~/.config/bottom/bottom.toml</code></li>
<li><strong>День</strong> — Разбирались со скиллами OpenCode: как работают, автоматический подбор по description</li>
<li><strong>День</strong> — Созданы скиллы для Leadera проектов (Go: build-and-fix, restart-api; Angular: build-and-fix)</li>
<li><strong>День</strong> — Обсудили миграцию Ганта с DOM на Canvas 2D (Konva.js) — real-time коллаборация, экспорт PDF/PNG, 500+ задач</li>
<li><strong>Вечер</strong> — Установлен gh CLI, авторизован как agaltsovav</li>
<li><strong>Вечер</strong> — Созданы GitHub Projects: Leadera Roadmap (21 задача, P0–P3), agaltsovav.ru Roadmap (7 задач)</li>
</ul>
<h2 id="системные-утилиты">Системные утилиты</h2>
<ul>
<li><strong>bottom</strong> (btm) — выбранный мониторинг, конфиг в <code>~/.config/bottom/bottom.toml</code></li>
<li>Альтернативы: btop, glances</li>
</ul>
<h2 id="opencode-skills">OpenCode Skills</h2>
<p>Созданы скиллы:</p></description>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>30 марта 2026</title>
|
<title>30 марта 2026</title>
|
||||||
<link>/diary/2026-03-30/</link>
|
<link>/diary/2026-03-30/</link>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -109,6 +115,8 @@
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../diary/2026-03-31/">31 марта 2026</a></li>
|
||||||
|
|
||||||
<li><a href="../../guides/code-a2v-space/">Подключение code.a2v.space (OpenCode)</a></li>
|
<li><a href="../../guides/code-a2v-space/">Подключение code.a2v.space (OpenCode)</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -6,8 +6,15 @@
|
|||||||
<description>Recent content in Opencode on docs.a2v.space</description>
|
<description>Recent content in Opencode on docs.a2v.space</description>
|
||||||
<generator>Hugo</generator>
|
<generator>Hugo</generator>
|
||||||
<language>ru-ru</language>
|
<language>ru-ru</language>
|
||||||
<lastBuildDate>Sun, 29 Mar 2026 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="/tags/opencode/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="/tags/opencode/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>31 марта 2026</title>
|
||||||
|
<link>/diary/2026-03-31/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/diary/2026-03-31/</guid>
|
||||||
|
<description><h2 id="timeline">Timeline</h2>
<ul>
<li><strong>Утро</strong> — Обсуждали аналоги htop: порекомендовал btm, btop, glances. Создан конфиг <code>~/.config/bottom/bottom.toml</code></li>
<li><strong>День</strong> — Разбирались со скиллами OpenCode: как работают, автоматический подбор по description</li>
<li><strong>День</strong> — Созданы скиллы для Leadera проектов (Go: build-and-fix, restart-api; Angular: build-and-fix)</li>
<li><strong>День</strong> — Обсудили миграцию Ганта с DOM на Canvas 2D (Konva.js) — real-time коллаборация, экспорт PDF/PNG, 500+ задач</li>
<li><strong>Вечер</strong> — Установлен gh CLI, авторизован как agaltsovav</li>
<li><strong>Вечер</strong> — Созданы GitHub Projects: Leadera Roadmap (21 задача, P0–P3), agaltsovav.ru Roadmap (7 задач)</li>
</ul>
<h2 id="системные-утилиты">Системные утилиты</h2>
<ul>
<li><strong>bottom</strong> (btm) — выбранный мониторинг, конфиг в <code>~/.config/bottom/bottom.toml</code></li>
<li>Альтернативы: btop, glances</li>
</ul>
<h2 id="opencode-skills">OpenCode Skills</h2>
<p>Созданы скиллы:</p></description>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>Подключение code.a2v.space (OpenCode)</title>
|
<title>Подключение code.a2v.space (OpenCode)</title>
|
||||||
<link>/guides/code-a2v-space/</link>
|
<link>/guides/code-a2v-space/</link>
|
||||||
|
|||||||
@@ -0,0 +1,162 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Personal-Site — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Personal-Site</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/">Личный сайт (agaltsovav.ru)</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/copyright-outdated/">Copyright без 2026 года</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/digest-stale/">Digest не обновлялся с февраля 2025</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/outdated-doks-theme/">Hugo Doks 0.5 — сильно устарел</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/twitter-handle-mismatch/">Twitter handle не соответствует имени</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/no-analytics/">Yandex Metrika отключена</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/binary-files-in-repo/">Бинарный файл в репозитории</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/no-node-modules/">Отсутствуют node_modules — нужна установка</a></li>
|
||||||
|
|
||||||
|
<li><a href="../../personal-site/netlify-node-version/">Устаревший Node.js 16 в Netlify</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Personal-Site on docs.a2v.space</title>
|
||||||
|
<link>/tags/personal-site/</link>
|
||||||
|
<description>Recent content in Personal-Site on docs.a2v.space</description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>ru-ru</language>
|
||||||
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
|
<atom:link href="/tags/personal-site/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Личный сайт (agaltsovav.ru)</title>
|
||||||
|
<link>/personal-site/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Copyright без 2026 года</title>
|
||||||
|
<link>/personal-site/copyright-outdated/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/copyright-outdated/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>В <code>params.toml</code>:</p>
<pre tabindex="0"><code>copyRight = &#34;Copyright (c) 2020-2025 Антон Агальцов&#34;
</code></pre><p>Сейчас 2026 год — нужно обновить.</p>
<h3 id="рекомендация">Рекомендация</h3>
<p>Обновить на <code>2020-2026</code>. Или сделать динамическим через Hugo template:</p>
<pre tabindex="0"><code>Copyright (c) 2020-{{ now.Year }} Антон Агальцов
</code></pre></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Digest не обновлялся с февраля 2025</title>
|
||||||
|
<link>/personal-site/digest-stale/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/digest-stale/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>Последний дайджест — <strong>февраль 2025</strong>. С тех пор 12+ месяцев без новых выпусков.</p>
<h3 id="что-есть">Что есть</h3>
<ul>
<li>27 файлов дайджестов (январь 2023 — февраль 2025)</li>
<li>Автоматизация через <code>digest.js</code> — скрипт для генерации</li>
<li>Но скрипт не запускается автоматически</li>
</ul>
<h3 id="риск">Риск</h3>
<p>Low — контент устаревает, SEO-позиции падают для страниц дайджестов.</p>
<h3 id="рекомендация">Рекомендация</h3>
<ol>
<li>Настроить cron/CI для ежемесячной генерации дайджеста</li>
<li>Или интегрировать с OpenClaw — авто-сборка дайджеста на основе новых публикаций</li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Hugo Doks 0.5 — сильно устарел</title>
|
||||||
|
<link>/personal-site/outdated-doks-theme/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/outdated-doks-theme/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>Проект использует тему <strong>Hyas/Doks v0.5.0</strong> (package.json). Актуальная версия Doks — <strong>1.x</strong> с полной переработкой архитектуры.</p>
<h3 id="что-не-так">Что не так</h3>
<ul>
<li>Doks 0.5 использует устаревший Bootstrap 5.2.0-beta1</li>
<li>Hugo 0.148.2 в зависимостях — новый, но интеграция с темой старая</li>
<li>Конфигурация через <code>theme.toml</code> — в новых версиях перешли на другой формат</li>
<li><code>exec-bin</code> для вызова Hugo — устаревший подход, текущие версии Hugo ставятся глобально</li>
</ul>
<h3 id="риск">Риск</h3>
<p>Medium — работает, но миграция на Doks 1.x потребует значительного рефакторинга layout-ов и конфигурации. Чем дольше откладывать — тем сложнее.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Twitter handle не соответствует имени</title>
|
||||||
|
<link>/personal-site/twitter-handle-mismatch/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/twitter-handle-mismatch/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>В <code>params.toml</code> указан Twitter: <code>@AntonTotoshkin</code></p>
<p>Но владелец сайта — <strong>Антон Агальцов</strong>. Ники не совпадают.</p>
<h3 id="два-варианта">Два варианта</h3>
<ol>
<li>Это твой старый/другой аккаунт — тогда ок, но стоит указать актуальный</li>
<li>Это чужой аккаунт — тогда нужно убрать или исправить</li>
</ol>
<h3 id="затронутые-места">Затронутые места</h3>
<ul>
<li><code>twitterSite = &quot;@AntonTotoshkin&quot;</code></li>
<li><code>schemaAuthorTwitter = &quot;https://twitter.com/AntonTotoshkin&quot;</code></li>
<li><code>schemaTwitter = &quot;https://twitter.com/AntonTotoshkin&quot;</code></li>
</ul>
<h3 id="рекомендация">Рекомендация</h3>
<p>Указать актуальный Twitter/X или убрать, если соцсеть не используется.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Yandex Metrika отключена</title>
|
||||||
|
<link>/personal-site/no-analytics/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/no-analytics/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>В <code>params.toml</code>: <code>yandexMetrika = false</code></p>
<p>Аналитика с сайта не собирается. Непонятно, есть ли вообще посетители и какие страницы популярны.</p>
<h3 id="рекомендация">Рекомендация</h3>
<ol>
<li>Включить Yandex Metrika или перейти на <strong>Plausible</strong> / <strong>Umami</strong> (privacy-friendly)</li>
<li>Если сайт не нуждается в аналитике — оставить как есть</li>
<li>Альтернатива: Netlify Analytics (уже встроен в хостинг)</li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Бинарный файл в репозитории</title>
|
||||||
|
<link>/personal-site/binary-files-in-repo/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/binary-files-in-repo/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p>В корне репозитория лежат два файла, которые не должны быть в git:</p>
<ul>
<li><strong><code>Шаблоны для сайта.key</code></strong> — Apple Keynote файл (бинарный)</li>
<li><strong><code>logo.psd</code></strong> — Photoshop файл (бинарный)</li>
</ul>
<h3 id="что-не-так">Что не так</h3>
<ul>
<li>Увеличивают размер репозитория</li>
<li>Git неэффективно хранит бинарные файлы (каждая версия — полностью)</li>
<li><code>.key</code> файлы могут содержать конфиденциальные данные шаблонов</li>
</ul>
<h3 id="рекомендация">Рекомендация</h3>
<ol>
<li>Перенести в отдельное хранилище (Google Drive, облако)</li>
<li>Удалить из git-истории через <code>git filter-repo</code></li>
<li>Добавить в <code>.gitignore</code>: <code>*.key</code>, <code>*.psd</code>, <code>*.sketch</code></li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Отсутствуют node_modules — нужна установка</title>
|
||||||
|
<link>/personal-site/no-node-modules/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/no-node-modules/</guid>
|
||||||
|
<description><h2 id="проблема">Проблема</h2>
<p><code>node_modules/</code> отсутствует — проект нельзя собрать без <code>npm install</code>.</p>
<h3 id="риск">Риск</h3>
<p>Low — стандартная ситуация. Но:</p>
<ul>
<li><code>package-lock.json</code> привязан к Node 16, а на Mac Studio текущий Node v24</li>
<li>Могут быть конфликты зависимостей (canvas, babel, postcss)</li>
<li>Hugo 0.148.2 ставится через <code>hugo-installer</code> в npm — может не совпасть с глобальным Hugo</li>
</ul>
<h3 id="рекомендация">Рекомендация</h3>
<ol>
<li>Убедиться что <code>npm install</code> проходит без ошибок на текущем Node</li>
<li>Если нет — обновить зависимости или использовать nvm для Node 16</li>
<li>Рассмотреть переход на глобальный Hugo вместо <code>exec-bin</code></li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Устаревший Node.js 16 в Netlify</title>
|
||||||
|
<link>/personal-site/netlify-node-version/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/personal-site/netlify-node-version/</guid>
|
||||||
|
<description><h1 id="устаревший-nodejs-16-в-netlify">Устаревший Node.js 16 в Netlify</h1>
<p><strong>Файл:</strong> <code>netlify.toml:5</code></p>
<pre tabindex="0"><code>NODE_VERSION = &#34;16.16.0&#34;
</code></pre><p>Node.js 16 вышел из поддержки (EOL) в сентябре 2023. Сборка на Netlify может начать падать или работать некорректно.</p>
<p><strong>Рекомендация:</strong> Обновить до Node.js 20 LTS:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">NODE_VERSION</span> = <span style="color:#e6db74">&#34;20&#34;</span>
</span></span></code></pre></div></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,146 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru-ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Roadmap — docs.a2v.space</title>
|
||||||
|
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../css/custom.css">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
<nav class="navbar navbar-expand-lg">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="../../">docs.a2v.space</a>
|
||||||
|
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarMain">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../diary/">Дневник</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../kb/">База знаний</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../plans/">Планы</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../guides/">Инструкции</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<form class="d-flex search-form" role="search">
|
||||||
|
<input class="form-control me-2" type="search" placeholder="Поиск..." aria-label="Search" id="search-input">
|
||||||
|
<button class="btn btn-outline-light" type="submit">Найти</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-light d-md-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="false" aria-controls="sidebar">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="search-results" class="search-results" style="display: none;">
|
||||||
|
<div class="search-results-content">
|
||||||
|
<button type="button" class="btn-close float-end" id="close-search"></button>
|
||||||
|
<h5>Результаты поиска</h5>
|
||||||
|
<ul id="results-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<aside class="col-md-3 col-lg-2 d-md-block sidebar collapse" id="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h6>Разделы</h6>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../diary/">Дневник</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../kb/">База знаний</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../plans/">Планы</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../guides/">Инструкции</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<main class="col-md-9 col-lg-10 main-content">
|
||||||
|
|
||||||
|
<div class="article-content">
|
||||||
|
<h1>Roadmap</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="../../diary/2026-03-31/">31 марта 2026</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-center mb-0">© 2026 docs.a2v.space</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/fuse.js@7.0.0/dist/fuse.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../../js/search.js"></script>
|
||||||
|
<script src="../../js/creds.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Roadmap on docs.a2v.space</title>
|
||||||
|
<link>/tags/roadmap/</link>
|
||||||
|
<description>Recent content in Roadmap on docs.a2v.space</description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>ru-ru</language>
|
||||||
|
<lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate>
|
||||||
|
<atom:link href="/tags/roadmap/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>31 марта 2026</title>
|
||||||
|
<link>/diary/2026-03-31/</link>
|
||||||
|
<pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/diary/2026-03-31/</guid>
|
||||||
|
<description><h2 id="timeline">Timeline</h2>
<ul>
<li><strong>Утро</strong> — Обсуждали аналоги htop: порекомендовал btm, btop, glances. Создан конфиг <code>~/.config/bottom/bottom.toml</code></li>
<li><strong>День</strong> — Разбирались со скиллами OpenCode: как работают, автоматический подбор по description</li>
<li><strong>День</strong> — Созданы скиллы для Leadera проектов (Go: build-and-fix, restart-api; Angular: build-and-fix)</li>
<li><strong>День</strong> — Обсудили миграцию Ганта с DOM на Canvas 2D (Konva.js) — real-time коллаборация, экспорт PDF/PNG, 500+ задач</li>
<li><strong>Вечер</strong> — Установлен gh CLI, авторизован как agaltsovav</li>
<li><strong>Вечер</strong> — Созданы GitHub Projects: Leadera Roadmap (21 задача, P0–P3), agaltsovav.ru Roadmap (7 задач)</li>
</ul>
<h2 id="системные-утилиты">Системные утилиты</h2>
<ul>
<li><strong>bottom</strong> (btm) — выбранный мониторинг, конфиг в <code>~/.config/bottom/bottom.toml</code></li>
<li>Альтернативы: btop, glances</li>
</ul>
<h2 id="opencode-skills">OpenCode Skills</h2>
<p>Созданы скиллы:</p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
<a class="nav-link" href="../../creds/">Креды</a>
|
<a class="nav-link" href="../../creds/">Креды</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="../../personal-site/">Личный сайт</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form class="d-flex search-form" role="search">
|
<form class="d-flex search-form" role="search">
|
||||||
@@ -94,6 +98,8 @@
|
|||||||
|
|
||||||
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
<li class="nav-item"><a class="nav-link" href="../../creds/">Креды</a></li>
|
||||||
|
|
||||||
|
<li class="nav-item"><a class="nav-link" href="../../personal-site/">Личный сайт</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user