Выберите вариант реализации блога

На основе сервиса gorest.co.in был создан Блог, который состоит из 2-х видов страниц (2-х html файлов): списка статей и детальной страницы статьи

На странице списка статей каждый элемент должен быть ссылкой на статью вида post.html?id=10 (вместо 10 - id соответствующей статьи). Так же на этой странице должна быть постраничная навигация, построенная на основе свойства из ответа на список статей с информацией о количестве статей и страниц. Каждая ссылка должна вести на index.html?page=10 (вместо 10 - номер соответствующей страницы). При этом ссылка на первую страницу не должна иметь параметров, то есть должна просто вести на страницу index.html.

Открыть

На основе сервиса swapi.dev был создан каталог эпизодов Star Wars с выводом детальной информации о каждом фильме. Данное приложение имеет 2 вида страниц:

  • главная страница. На ней загружается и показывается список эпизодов с указанием номера и названия в каждом элементе. Элементы должны быть ссылками на детальную страницу эпизода.
  • детальная страница эпизода, на которой отображается информация об эпизоде, номер которого передан в URL страницы.

На детальной странице присутствуют следующие элементы:

  • заголовок с названием эпизода и его номером;
  • кнопка со ссылкой на список эпизодов;
  • описание данного эпизода;
  • список планет, встречающихся в эпизоде, с их названиями;
  • список рас, встречающихся в эпизоде, с их названиями;
  • плюс персонажей, встречающихся в эпизоде.

Все запросы, которые можно запустить параллельно, отправляются с помощью Promise.all не обрабатываются последовательно.

Код для соответствующей страницы загружается с помощью динамического импрота, то есть только если он нужен на текущей странице. При этом разделяется код отрисовки DOM-дерева и код получения данных из API.

Стили тоже загружаются асинхронно из кода. Страница показывается до тех пор, пока все необходимые ресурсы для её отображения не загрузились.

Переходы по ссылкам и по кнопкам "Назад" и "Вперёд" не приводят к перезагрузке страницы.

ДИСКЛЕЙМЕР:

  • Список эпизодов на главной странице подгружается не сразу. Надо немного подождать. Это особенность сервиса swapi.dev.
  • При переходе по ссылкам со страницы списка эпизодов отображается информация не о том эпизоде. Это баг API сервиса swapi.dev. Я писал им по этому поводу, но ответа не получил.
Открыть