- Create sitemap.xml with main sections of the archive site - Add Sitemap reference to robots.txt - All URLs marked as never-changing (archive content) - Helps search engines index the legacy frameset site properly
Архив сайта cad.ru (1998 год)
ВСЕ о САПР (CAD/CAM/CAE Archive)
Это архивная версия исторического русскоязычного сайта о системах автоматизированного проектирования (САПР), созданного в 1998–1999 годах для "Русской Промышленной Компании" (РПК). Развернуто по адресу: 1998.cadpoint.ru.
Осторожно:
- фреймы (frameset) и meta-refresh;
- оптимизировано под разрешение 640х480;
- кодировка KOI8-R (не UTF-8);
- куча "битых ссылок" на внешние ресурсы.
⚠️ Важно: Кодировка KOI8-R
Этот архив хранится в кодировке KOI8-R (устаревший стандарт для русского текста в интернете конца 90-х).
Отображение в Gitea (веб-интерфейс)
Если в веб-интерфейсе Gitea видишь "кракозябры" или иероглифы вместо русского текста — это не ошибка, файлы хранятся корректно. Веб-интерфейс Git/Gitea обычно ожидает UTF-8 и не умеет надёжно показывать KOI8-R как есть. Содержимое в репозитории не повреждено.
Правильное отображение и работа
1. Локально (клонирование + IDE)
git clone https://git.cube2.ru/erjemin/1998-cad-cadpoint.git
cd 1998-cad-cadpoint
Откройте файлы в IDE с явным указанием кодировки KOI8-R:
- VS Code: нижняя панель →
UTF-8→ выберитеKOI8-R - JetBrains IDE (PhpStorm, IntelliJ и т.д.): правый клик →
File Encoding→KOI8-R - nano/vim:
:set encoding=koi8-r(vim)
.editorconfig в репозитории подскажет IDE открыть KOI8-R файлы с правильной кодировкой автоматически.
2. Через nginx (контейнер/веб-сервер)
Сайт отдаётся через nginx с заголовком:
Content-Type: text/html; charset=koi8-r
Браузер автоматически декодирует текст корректно. Содержимое отображается правильно для конечного пользователя.
Структура
.
├── html/ # Статические файлы сайта
│ ├── index.htm # Промежуточная страница с meta-refresh
│ ├── index1.htm # Главная (frameset)
│ ├── header.htm # Шапка фреймовой структуры
│ ├── nav.htm # Навигация (левая панель)
│ ├── main.htm # Основной контент
│ ├── _b/ # Графические элементы (GIF)
│ ├── _co/ # Раздел "Компании"
│ ├── _pr/ # Раздел "Программные продукты"
│ ├── _ex/ # Раздел "События и новости"
│ ├── _pb/ # Раздел "Публикации"
│ ├── _fr/ # Раздел "Ссылки"
│ ├── _sh/ # Раздел "Поиск"
│ ├── images/ # Баннеры и логотипы
│ ├── robots.txt # Инструкции для поисковых роботов
│ └── favicon.* # Иконки браузера
├── config/
│ └── nginx/
│ ├── cadpoint1998--internal-nginx.conf # Конфиг внутреннего nginx (в контейнере)
│ └── cadpoint1998--external-nginx.conf # Конфиг внешнего nginx (на хосте, для reverse-proxy)
├── Dockerfile # Контейнеризация архива (nginx + HTML + конфиги)
├── docker-compose.yml # Dev-конфиг (локальное тестирование)
├── docker-compose.prod.yml # Prod-конфиг (продакшен с Watchtower)
├── .gitignore # Исключение из репозитория
├── .gitattributes # Правила кодировки и обработки файлов
├── .editorconfig # Рекомендации для редакторов
├── .env.example # Пример переменных окружения
└── README.md # Этот файл
Важные замечания
❌ НЕ делай
- ❌ Не переводи файлы в UTF-8 без планомерного миграционного процесса
- ❌ Не пересохраняй файлы в редакторе без явного указания
Keep KOI8-R - ❌ Не игнорируй предупреждения IDE о кодировке
✅ Делай
- ✅ Явно указывай кодировку KOI8-R при открытии файлов
- ✅ Используй
.editorconfig(IDE будут читать автоматически) - ✅ Проверяй git diff перед коммитом, чтобы убедиться, что файлы не перекодированы
- ✅ При внесении изменений убеждайся, что IDE сохраняет KOI8-R
Технический контекст
Фреймовая структура (HTML frameset)
Сайт использует устаревший элемент <frameset> для разделения layout:
- Левая колонка:
nav.htm(навигация) - Верхний блок:
header.htm(логотип и заголовок) - Основная область:
main.htm(контент)
Это типично для веб-дизайна конца 90-х, но не поддерживается современными стандартами. При миграции на современный сайт потребуется переделка HTML-структуры. Тем не менее, браузеры показывают сайт корректно.
Meta-refresh редирект
Главная страница (index.htm) использует meta http-equiv="refresh" для редиректа на index1.htm. Это также устаревший подход.
Внешние ресурсы
В коде есть ссылки на старые внешние сервисы (счётчики, баннеры):
counter.rambler.ru(архивная служба рейтингов)mail.ru(счётчик Mail.ru)ir.ru(InterReklama, старая рекламная сеть)
Эти сервисы могут быть недоступны или нестабильны. Они не влияют на функциональность сайта при корректной обработке ошибок.
Дальнейшее развитие
Проект может быть расширен в отдельных ветках:
legacy-1998— архивная версия в оригинальном виде (ветка сохранения истории)main— современная версия с контейнеризацией (текущая ветка):- ✅ Docker контейнеризация (nginx:alpine)
- ✅ docker-compose для dev и prod
- ✅ Watchtower для автоматических обновлений образа
- ✅ Gitea CI/CD пайплайн (автосборка при тегировании)
- ✅ Support для SSL/TLS (через certbot)
- ✅ Reverse-proxy через внешний nginx
Контейнеризация (2026)
Архив полностью перемещён в Docker контейнер с современной инфраструктурой:
Что включено
- Образ:
git.cube2.ru/erjemin/1998-cad-cadpoint:latest(nginx:alpine) - Содержимое образа:
- nginx (web-сервер)
- Конфиг для внутреннего nginx (с поддержкой KOI8-R)
- Весь архив HTML сайта (KOI8-R)
- Конфиг для внешнего nginx (для reverse-proxy на хосте)
Как запустить
Development (локально):
docker-compose up --build
# Сайт доступен на http://127.0.0.1:8030
Production (на сервере):
docker-compose -f docker-compose.prod.yml up -d
# Watchtower автоматически следит за обновлениями образа
# Сайт проксируется через внешний nginx на хосте
Детальная документация
См. DEPLOYMENT.md для полной инструкции по развёртыванию на продакшене.
Контакты и лицензия
Автор: Sergei Erjemin (это я)
Контакт: erjemin@gmail.com
Архив сохранён и перенесён в современную инфраструктуру (Docker) в 2026 году.
Последнее обновление: March 28, 2026 (добавлена контейнеризация)