/htmlbuilder

introduceing to NodeJS

Primary LanguageCSS

Сборка HTML страницы из компонентов и стилей

В файле index.js директории 06-build-page напишите скрипт который:

  1. Создаёт папку project-dist.
  2. Заменяет шаблонные теги в файле template.html с названиями файлов из папки components (пример:{{section}}) на содержимое одноимённых компонентов и сохраняет результат в project-dist/index.html.
  3. Собирает в единый файл стили из папки styles и помещает их в файл project-dist/style.css.
  4. Копирует папку assets в project-dist/assets

Общие правила:

  • Запрещается использование любых сторонних модулей
  • Каждое из заданий должно запускаться командой node <имя папки задания> выполненной в корневой директории
  • Запрещается использование синхронных функций модуля fs такие, как fs.statSync(path[, options]), fs.readFileSync(path[, options]) и другие находящиеся в разделе synchronous API

Требования

  • После завершения работы скрипта должна быть создана папка project-dist
  • В папке project-dist должны находиться файлы index.html и style.css
  • В папке project-dist должна находиться папка assets являющаяся точной копией папки assets находящейся в 06-build-page
  • Запрещается использование fsPromises.cp()
  • Файл index.html должен содержать разметку являющуюся результатом замены шаблонных тегов в файле template.html
  • Файл style.css должен содержать стили собранные из файлов папки styles
  • При добавлении компонента в папку и соответствующего тега в исходный файл template.html повторное выполнение скрипта приведёт файл index.html в папке project-dist в актуальное состояние перезаписав его. Файл style.css и папка assets так же должны поддерживать актуальное состояние
  • Исходный файл template.html не должен быть изменён в ходе выполнения скрипта
  • Запись в шаблон содержимого любых файлов кроме файлов с расширением .html является ошибкой

Цели задания

  • Создание небольшой утилиты позволяющей собрать статичную HTML страницу.
  • Закрепление полученных знаний