vault backup: 2025-08-04 15:46:12

This commit is contained in:
Andrey Epifancev
2025-08-04 15:46:12 +04:00
parent dd7bb0ebfb
commit fa5cb1f907

View File

@@ -58,28 +58,9 @@ Second Mind/
``` ```
**Hugo конфигурация для работы с существующей структурой:** **Hugo конфигурация для работы с существующей структурой:**
```toml - Настройки для работы с существующей структурой
# config.toml - Поддержка Obsidian-специфичных элементов
baseURL = "https://aepif.ru" - Сохранение кириллических имен
languageCode = "ru-ru"
title = "Second Mind"
theme = "custom-theme"
# Настройки для работы с существующей структурой
[params]
preserveStructure = true
useOriginalNames = true
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
# Поддержка Obsidian-специфичных элементов
[markup.highlight]
style = "dracula"
lineNos = true
```
### 2.3 Обработка имен файлов и каталогов ### 2.3 Обработка имен файлов и каталогов
@@ -94,9 +75,61 @@ theme = "custom-theme"
- `/мой-сервер/authelia-authentication/` - `/мой-сервер/authelia-authentication/`
- Сохранение читаемости URL - Сохранение читаемости URL
## 3. Миграция контента ## 3. Граф записей (Graph View)
### 3.1 Основные изменения при миграции ### 3.1 Аналоги Obsidian/Quartz графа
**Доступные решения для Hugo:**
**Встроенные возможности Hugo:**
- Автоматическое создание графа связей между страницами
- Визуализация внутренних ссылок
- Отображение связанных страниц
- Интерактивная карта знаний
**Сторонние библиотеки:**
- D3.js для интерактивной визуализации
- Vis.js для сетевых графов
- Cytoscape.js для сложных графов
- Sigma.js для больших сетей
### 3.2 Функциональность графа
**Визуализация связей:**
- Отображение всех внутренних ссылок между страницами
- Размер узлов в зависимости от количества связей
- Цветовая кодировка по категориям/тегам
- Интерактивная навигация по графу
**Интерактивность:**
- Клик по узлу для перехода к странице
- Зум и панорамирование графа
- Фильтрация по тегам или категориям
- Поиск по названиям страниц
**Аналитика:**
- Центральные страницы (много связей)
- Изолированные страницы (мало связей)
- Кластеры связанных тем
- Пути между страницами
### 3.3 Интеграция с существующей структурой
**Автоматическое создание графа:**
- Анализ всех Markdown файлов
- Извлечение внутренних ссылок
- Создание JSON данных для графа
- Генерация интерактивной визуализации
**Сохранение Obsidian-стиля:**
- Похожий интерфейс на Obsidian Graph View
- Те же принципы навигации
- Совместимость с существующими ссылками
- Поддержка кириллических названий
## 4. Миграция контента
### 4.1 Основные изменения при миграции
**Frontmatter преобразования:** **Frontmatter преобразования:**
- Сохранение существующих полей - Сохранение существующих полей
@@ -115,7 +148,7 @@ theme = "custom-theme"
- Обновление путей в контенте - Обновление путей в контенте
- Оптимизация размера файлов без изменения структуры - Оптимизация размера файлов без изменения структуры
### 3.2 Автоматизация миграции ### 4.2 Автоматизация миграции
**Скрипт миграции:** **Скрипт миграции:**
- Анализ существующей структуры - Анализ существующей структуры
@@ -124,9 +157,9 @@ theme = "custom-theme"
- Обновление внутренних ссылок - Обновление внутренних ссылок
- Сохранение структуры каталогов - Сохранение структуры каталогов
## 4. Docker развертывание ## 5. Docker развертывание
### 4.1 Архитектура контейнеров ### 5.1 Архитектура контейнеров
```mermaid ```mermaid
graph TB graph TB
@@ -142,44 +175,15 @@ graph TB
end end
``` ```
### 4.2 Структура Docker ### 5.2 Структура Docker
**Docker Compose:** **Docker Compose:**
```yaml - Hugo + Webhook контейнер с прямым монтированием существующей структуры
version: '3.8' - Nginx контейнер для раздачи статики
services: - Общие volumes для статических файлов
hugo-webhook: - Настройки для сохранения структуры
build: .
volumes:
- ./Second Mind:/app/content # Прямое монтирование существующей структуры
- ./static:/app/static
- static-files:/var/www/html
environment:
- GIT_REPOSITORY_URL=your-repo
- HUGO_SOURCE_PATH=/app
- HUGO_OUTPUT_PATH=/var/www/html
- PRESERVE_STRUCTURE=true
ports:
- "8080:8080"
restart: unless-stopped
nginx: ### 5.3 Преимущества сохранения структуры
image: nginx:alpine
volumes:
- static-files:/usr/share/nginx/html
- ./nginx.conf:/etc/nginx/nginx.conf
ports:
- "80:80"
- "443:443"
depends_on:
- hugo-webhook
restart: unless-stopped
volumes:
static-files:
```
### 4.3 Преимущества сохранения структуры
**Для пользователя:** **Для пользователя:**
- Знакомая навигация в Obsidian - Знакомая навигация в Obsidian
@@ -193,9 +197,9 @@ volumes:
- Сохранение истории изменений - Сохранение истории изменений
- Совместимость с существующими инструментами - Совместимость с существующими инструментами
## 5. Интеграция с Obsidian ## 6. Интеграция с Obsidian
### 5.1 Рабочий флоу ### 6.1 Рабочий флоу
**Разработка (без изменений):** **Разработка (без изменений):**
1. Редактирование в Obsidian 1. Редактирование в Obsidian
@@ -210,7 +214,7 @@ volumes:
- Hugo Content → Static Site (с сохранением структуры) - Hugo Content → Static Site (с сохранением структуры)
- Static Site → Nginx - Static Site → Nginx
### 5.2 Автоматизация ### 6.2 Автоматизация
**Git Hooks (без изменений):** **Git Hooks (без изменений):**
- Автоматический коммит при изменениях в Obsidian - Автоматический коммит при изменениях в Obsidian
@@ -223,53 +227,17 @@ volumes:
- Сборка Hugo с сохранением структуры - Сборка Hugo с сохранением структуры
- Перезагрузка Nginx - Перезагрузка Nginx
## 6. Конфигурация Hugo ## 7. Конфигурация Hugo
### 6.1 Базовая конфигурация ### 7.1 Базовая конфигурация
```toml **Основные параметры:**
# config.toml - Настройки для сохранения структуры
baseURL = "https://aepif.ru" - Поддержка оригинальных имен файлов
languageCode = "ru-ru" - Включение поиска и навигации
title = "Second Mind" - Настройки для графа записей
theme = "custom-theme"
[params] ### 7.2 Оптимизации для VPS
description = "Персональная база знаний и заметки"
author = "AEP"
# Настройки для сохранения структуры
preserveStructure = true
useOriginalNames = true
enableSearch = true
showBreadcrumb = true
showReadingTime = true
showWordCount = true
[menu]
[[menu.main]]
identifier = "ideas"
name = "Идеи"
url = "/идеи/"
weight = 1
[[menu.main]]
identifier = "server"
name = "Мой сервер"
url = "/мой-сервер/"
weight = 2
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[markup.highlight]
style = "dracula"
lineNos = true
```
### 6.2 Оптимизации для VPS
**Производительность:** **Производительность:**
- Минификация всех ресурсов - Минификация всех ресурсов
@@ -282,23 +250,24 @@ theme = "custom-theme"
- Оптимизация времени сборки - Оптимизация времени сборки
- Эффективное использование диска - Эффективное использование диска
## 7. Преимущества миграции ## 8. Преимущества миграции
### 7.1 Производительность ### 8.1 Производительность
- **Время сборки**: С 30-60 секунд до 5-10 секунд - **Время сборки**: С 30-60 секунд до 5-10 секунд
- **Потребление памяти**: С 512MB до 128MB - **Потребление памяти**: С 512MB до 128MB
- **CPU нагрузка**: Снижение на 70-80% - **CPU нагрузка**: Снижение на 70-80%
- **Время загрузки**: Улучшение на 40-60% - **Время загрузки**: Улучшение на 40-60%
### 7.2 Операционные ### 8.2 Операционные
- **Простота развертывания**: Docker Compose - **Простота развертывания**: Docker Compose
- **Изоляция**: Контейнеры - **Изоляция**: Контейнеры
- **Масштабируемость**: Легкое горизонтальное масштабирование - **Масштабируемость**: Легкое горизонтальное масштабирование
- **Мониторинг**: Встроенные метрики - **Мониторинг**: Встроенные метрики
### 7.3 Интеграция ### 8.3 Интеграция
- **Сохранение рабочего флоу**: Obsidian → Git → Hugo - **Сохранение рабочего флоу**: Obsidian → Git → Hugo
- **Сохранение структуры**: Без изменений в организации файлов - **Сохранение структуры**: Без изменений в организации файлов
- **Граф записей**: Интерактивная визуализация связей
- **Автоматизация**: Webhook → Сборка → Деплой - **Автоматизация**: Webhook → Сборка → Деплой
- **Консистентность**: Один источник истины - **Консистентность**: Один источник истины
- **Простота отладки**: Единый лог и контекст - **Простота отладки**: Единый лог и контекст