Что это и зачем?
На протяжении нескольких лет я регулярно читаю, даже ежедневно. За это время мной было прочитано множество хороших, интересных и познавательных книг. Как это бывает, люди показывают свои библиотечные полки, однако в моём случае это так не сработает — более 80% книг мной было прочитано в электронном формате.
Как я хорошо знаю, найти хорошие книги не просто, хотя «отдавая запрос в мир», так или иначе что-то появляется в потенциальном репертуаре, что и успешно происходило у меня многие годы. И все же, поиск информации — достаточно трудоёмкая работа, к которой может быть различный индивидуальный уровень таланта. Хоть и в большинстве своём мной были прочитаны хорошие книги, тем не менее попадались и сомнительного качества, которые не были занесены сюда.
Желание поделиться прочитанной книгой тесно связано с объяснением её ценности, и порой хочется записать отзыв о книге, сформулировав его в изящно-литературной форме, при этом сохранив его с чистой совестью на публичное обозрение.
И конечно, раз уж я потратил некие усилия на поиск книг в современном ореоле фетишизма с авторским правом, возникает искреннее желание помочь в получении текста книги другому человеку, если он того желает.
Функции, фишки и детали сайта
Мой интровертный тип личности вынуждает меня всё делать очень хорошо и соразмерно эстетично, т.к. это типовое преподнесение себя, внешний облик собственной персоны, который должен быть идеален. Это оттягивает процесс привнесения труда в мир, добавляя много мелких деталей и тонких отшлифовок. Опишем их подробнее, чтобы expirience вашего пользования был в наивысшем свете.
Поиск
В середине работы над проектом мне пришло осознание, что главная часть библиотеки — это поиск. Он должен быть эффективен и исчерпывающ. Стандартный поиск CMS системы таким не являлся, и хорошие готовые публично-доступные решения мной найдены не были. По итогу я взялся за это сам.
Поиск состоит из 3-х частей:
- Поиск по таксономиям (Категории, Авторы, Года) — при фокусе на форму загружает список таксономий и по ним осуществляет поиск по строковым совпадениям
- Поиск по книгам и рецензиям — при наборе текста делает запросы на сервер и возвращается список найденных книг
- Расширенный поиск по релевантности запроса — специальная перезагружающаяся страница поиска, где поисковая выдача осуществляется и сортируется по наибольшему число совпадений (с названиями книг, категориями, авторами, тегами); даёт более точный результат при длинном запросе
Первые 2 части реализованы как «живой поиск» при печатании запроса в строку поиска. Последняя часть представляет поисковую выдачу (как в браузере) при нажатии Enter (или кнопки поиска ) и загрузке страницы с выдачей. Так же для поисковой строки есть навигация с помощью стрелочек вверх-вниз (для ПК) и переход по выбранной ссылке по нажатию Enter. (Прим. При навигации стрелочками вверх-вниз выбранная строка поиска означает переход на страницу расширенного поиска (как и по умолчанию, не трогая стрелочки), тогда как все остальные выбранные элементы представляют конкретные ссылки; это немного контр интуитивно в сравнении с классическими поисковыми системами, и проще попробовать самостоятельно.)
Попробовать поиск (и понять, что я написал выше) можно по рабочей форме ниже:
Подробное описания функционирования поиска требуется отдельной статьи по web-разработке, которая пока что не написана.
Категории и Авторы
На страницах категорий и авторов выводятся книги соответственно им принадлежащие (или классифицированные). Потенциально там возможно размещение описания и изображения.
Категории красиво отображаются на Главной странице в виде блоков с превьюшкой и названием, и бесприметно, но понятно отображаются в сайдбаре на страницах вывода книг. Страницы с выводом книг по категориям, авторам и тегам можно найти в меню сайта.
Книга
Для отдельной книги приведена базовая информация о названии, авторах, годах издания. Так же есть параметр Complexity и ссылки на книги, некоторые из которых могут быть доступны не всем. Далее следует краткое описание и отзывы (Reviews). Отзыв можно прочесть как находясь на странице книги, так и перейдя к отдельной странице отзыва, нажав на стрелочку справа (и направленную в право) .
Для некоторых книг могут использоваться дочерне-родительские связи, что внешне отображается как Книги в серии / В серии (Books in series / In series of). Книги так же нумеруются и выводятся в последовательности их серии. [например 1]
Отзыв
Отзывы являются отдельными публикациями, и после они соотносятся с книгами и выводятся там. Так с одной книгой может быть соотнесено несколько отзывов, а с одним отзывом — несколько книг, но последний вариант, вероятно, не крайне редок будет к использованию.
Спойлеры
#1 Нет, не к книгам. Значение спойлера как функционального элемента — скрывать большой объём контента. Они используются для описаний книг, описания таксономий (категорий, авторов), для списка входящих в серию книг [тот же например 1]. Работают спойлеры по нажатию на кнопку Больше…/Меньше…, а так же в некоторых местах по нажатию на слово со стрелочкой (или на саму стрелочку). Также спойлеры адаптивны к разной ширине экрана устройства и даже к непосредственному ресайзу окна.
#2 В описаниях и отзывах спойлеров по смыслу пересказа сюжета тоже не предвидится.
Подсказки
При наведении или нажатии на некоторые элементы интерфейса, как, например, кнопки информации, поделиться и стрелки перехода к отзывам, могут появляться всплывающие окна:
informazione?
Некоторые из них появляются не сразу, потому что кто знает, тот знает — нечего перед глазами мельтешить. Подсказки так же имеют некоторый механизм адаптивности: например, могут менять свои выравнивание и размер при ресайзе.
Futures
Основной набор книг, авторов, категорий был занесён мной, тем не менее остаётся ещё много работы по части внесения контента: добавление превьюшек, описаний книгам, авторам, категориям, добавление ссылок на книги и на писание рецензий…
Улучшать, украшать и править всё можно вечно. Идеал есть недостижимая сущность, но жить же надо сейчас. И моя надежда лежит на том, что даже просто наименования достойных, по моему мнению, книг способны уже помочь с поиском материалов к познанию и совершенствованию себя.
Артюхов Владислав Витальевич.