Техническое задание на создание сайта
Dec. 30th, 2018 06:22 pmДавно хочу заказать себе персональный сайт. Интересно, сколько примерно может стоить такая работа, согласно нижеприведенному ТЗ, и кому её можно заказать?
UPD отредактировано с учётом замечаний
veefore
UPD отредактировано с учётом замечаний
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- Сайт должен строиться полностью на статическом HTML, без «движков» на стороне Web-сервера. Ничего не должно отдаваться из СУБД. Допускается использование СУБД sqlite для сохранения промежуточных результатов.
- Сайт должен быть полностью автономным (не подгружать в браузер стилей и библиотек из Интернет) и работоспособным на локальной машине без доступа в Интернет. Использование JavaScript на стороне браузера допускается.
- Сайт должен быть полностью работоспособен при просмотре браузером с локальной файловой системы без Web-сервера, а также при размещении на Web-сервере, поддерживающем только статический контент.
- Дерево сайта должно быть рассчитано на хранение в системе контроля версий, предпочтительно Mercurial.
- Сайт должен строиться скриптом на распространенном языке (Python, Perl, PHP и т.п.) с использованием интерпретаторов и библиотек, доступных во FreeBSD ports collection.
- Должна быть предусмотрена возможность изменять внешний вид сайта (шрифты, цвета, элементы оформления) с помощью отдельного стилевого (конфигурационного) файла или скина.
- Скрипт должен строить сайт из материалов, опубликованных в блоге https://victor-sudakov.dreamwidth.org/ и https://victor-sudakov.livejournal.com/ .
- Должна быть предусмотрена возможность зеркалирования «подзамочных» записей при задании в скрипте логина/пароля.
- При наличии в блоге embedded изображений, видео и других встроенных объектов, они должны скачиваться на локальную машину и становиться частью статического сайта.
- Внешние ссылки должны оставаться как есть, но их валидность должна проверяться (можно не при каждом запуске скрипта, а предусмотреть отдельный ключ запуска «проверить ссылки»).
- Скрипт должен поддерживать инкрементальное обновление сайта при появлении новых записей и комментариев в блоге.
- Скрипт должен быть неинтерактивным и поддерживать работу из-под cron.
- «Тэги» должны быть преобразованы в тематические разделы. Навигация по сайту должна предусматривать просмотр по темам и по дате публикации материала в прямом и обратном порядке, а также иметь раздел «Карта сайта».
- Для записей без тэгов предусмотреть тематический раздел «Разное». Изменение/добавление/удаление тэгов в уже скопированных статьях должно отслеживаться, статья должна перемещаться по разделам в сооветствии с актуальным набором тэгов.
- Каждая статья должна содержать гиперссылку на соответствующую страницу в DW или LJ, откуда она была импортирована.
- Каждый импортированный комментарий должен содержать гиперссылку на автора комментария.
- Должны быть предусмотрены специальные страницы «Все статьи по данной теме», «Все статьи за выбранный год» и «Все статьи сайта» без ограничения на длину страницы и разбиения на страницы (для поиска нужного заголовка по Ctrl+F в браузере)
- Должно быть предусмотрено представление любой статьи в формате «для печати» и всего сайта в виде книги формата PDF.