Василий Половнёв |
В прошлом совете я рассказал о том, что у книжного поиска под капотом. В этом — как мы собираем превьюшки разворотов для результатов поиска и навигации по книге. Превьюшки разворотов генерирует PhantomJS, управляемый браузер без визуального интерфейса. Чаще всего его используют для автоматизации, визуального и интеграционного тестирования (см. PhantomCSS и Poltergeist). Превьюшки генерируются при каждой Чтобы в превьюшках было меньше шума, убираем с них номера разворотов и колонтитулы. Делаем это через инъекцию стилей для превьюшек:
Так как книги самостоятельно управляют загрузкой картинок, дополнительно учим PhantomJS дожидаться их загрузки:
Этот подход применим и для работы с сайтами, асинхронно загружающими содержимое
У PhantomJS есть и проблемы: он не поддерживает видео и отстает в поддержке стандартов. Книжный движок до сих пор использует -webkit- префиксы для флексбоксов только ради него. Поэтому со временем планируем перейти на Headless Chrome. P. S. А ещё мы ищем фронтендера в издательство. |
P. P. S. Это был совет о
|