From 6987c3e2569af14e03b31cce0d183f79b69df0de Mon Sep 17 00:00:00 2001 From: erjemin Date: Fri, 27 Mar 2026 18:18:39 +0300 Subject: [PATCH] Add repository docs and editor encoding settings --- .editorconfig | 53 ++++++++++++++++++++ README.md | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 184 insertions(+) create mode 100644 .editorconfig create mode 100644 README.md diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..59ff931 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,53 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 + +# KOI8-R encoded files (legacy 1998 archive) +# Set charset explicitly for IDE/editor to avoid auto-conversion +[*.htm] +charset = koi8-r + +[*.html] +charset = koi8-r + +[*.conf] +charset = koi8-r + +[html/_b/**] +charset = koi8-r + +[html/_co/**] +charset = koi8-r + +[html/_ex/**] +charset = koi8-r + +[html/_fr/**] +charset = koi8-r + +[html/_pb/**] +charset = koi8-r + +[html/_pr/**] +charset = koi8-r + +[html/_sh/**] +charset = koi8-r + +# Git and config files (UTF-8) +[.git*] +charset = utf-8 + +[.editorconfig] +charset = utf-8 + +[README*] +charset = utf-8 + diff --git a/README.md b/README.md new file mode 100644 index 0000000..033b10f --- /dev/null +++ b/README.md @@ -0,0 +1,131 @@ +# Архив сайта cad.ru (1998 год) + +## ВСЕ о САПР (CAD/CAM/CAE Archive) + +Архивная версия исторического русскоязычного сайта о системах автоматизированного проектирования (САПР), созданного в 1998–1999 годах. Развернуто, для обозрения по адресу: [1998.cadpoint.ru/](https://1998.cadpoint.ru/). + +**Осторожно:** +- фреймы (frameset) и meta-refresh; +- оптимизировано под разрешение 480х680; +- кодировка KOI8-R (не UTF-8); +- куча "битых ссылок" на внешние ресурсы. + +### ⚠️ Важно: Кодировка KOI8-R + +Этот архив хранится в кодировке **KOI8-R** (устаревший стандарт для русского текста в интернете конца 90-х). + +#### Отображение в Gitea (веб-интерфейс) + +Если в веб-интерфейсе Gitea видишь "кракозябры" или иероглифы вместо русского текста — **это не ошибка, файлы хранятся корректно**. Веб-интерфейс Git/Gitea обычно ожидает UTF-8 и не умеет надёжно показывать KOI8-R как есть. Содержимое в репозитории не повреждено. + +#### Правильное отображение и работа + +##### 1. Локально (клонирование + IDE) + +```bash +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.* # Иконки браузера +├── configs/ # Конфигурация nginx +│ ├── cadpoin-ru_1998.conf +│ └── cadpoin-ru_1998_w_ssl.conf +├── .gitignore # Исключение из репозитория +├── .gitattributes # Правила кодировки и обработки файлов +├── .editorconfig # Рекомендации для редакторов +└── README.md # Этот файл +``` + +### Важные замечания + +#### ❌ НЕ делай + +- ❌ Не переводи файлы в UTF-8 без планомерного миграционного процесса +- ❌ Не пересохраняй файлы в редакторе без явного указания `Keep KOI8-R` +- ❌ Не игнорируй предупреждения IDE о кодировке + +#### ✅ Делай + +- ✅ Явно указывай кодировку KOI8-R при открытии файлов +- ✅ Используй `.editorconfig` (IDE будут читать автоматически) +- ✅ Проверяй git diff перед коммитом, чтобы убедиться, что файлы не перекодированы +- ✅ При внесении изменений убеждайся, что IDE сохраняет KOI8-R + +### Технический контекст + +#### Фреймовая структура (HTML 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 + - Возможно что-то еще (пока не знаю) + +## Контакты и лицензия + +Автор: *Sergei Erjemin* (это я) +Контакт: `erjemin@gmail.com` + +Архив сохранён и перенесён в современную инфраструктуру в 2026 году. + +--- +**Последнее обновление:** March 27, 2026