Skip to content

About

Сервис для вывода информации о моделях и о датасетах

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Простой бэкенд на Go для сайта с информацией о нейросетевых моделях и датасетах проекта. Сервер только отдаёт готовые HTML-страницы и их CSS/JS из папки web/.git

Рядом с исполняемым файлом должна лежать папка web/, или укажите путь к ней флагом -dir.

Страницы

URL Файл Содержимое
/ web/index.html обзор проекта
/models web/models.html таблица моделей и их метрик
/datasets web/datasets.html таблица датасетов
любой несуществующий web/404.html страница «не найдено», статус 404

Как работает сервер

Все GET-запросы обрабатывает одна функция, которая превращает URL в путь к файлу в web/:

  1. path.Clean нормализует путь: убирает .., двойные и конечные слэши. Поэтому выйти за пределы web/ нельзя.
  2. / превращается в /index.
  3. Если у пути нет расширения, к нему дописывается .html: /models → web/models.html.
  4. Если файл существует, его отдаёт http.ServeFile. Он сам выставляет Content-Type и заголовки кэширования.
  5. Если файла нет, сервер отдаёт web/404.html со статусом 404.

Запросы с методами, отличными от GET и HEAD, получают 405 Method Not Allowed.

Как добавить или изменить страницу

  1. Положите файл в web/, например web/about.html.
  2. Страница сразу будет доступна по адресу /about. Перезапускать сервер не нужно: файлы читаются с диска при каждом запросе.
  3. При необходимости добавьте ссылку в меню (<nav>) на остальных страницах.

CSS, JS и картинки можно класть в любые подпапки web/. Они отдаются по своему пути, например web/img/logo.png → /img/logo.png.

Подключайте ресурсы по абсолютным путям (/css/style.css), а не по относительным (css/style.css). Иначе на адресах вида /models/ браузер будет искать файлы не в той папке.

About

Сервис для вывода информации о моделях и о датасетах

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages