Comments 33
Итак, требовалось: опубликовать книгу с иллюстрациями онлайн так, чтобы ее можно было дописывать и переписывать, и извещать об этом читателей.
И как же извещаете об этом читателей?
А так — это даже на тестовое задание junior'у тянет с трудом, если честно и по секрету.
Вам не стоит рассматривать предоставленный код как вызов самому себе и обществу, код там прост и ничего принципиально нового не использует. В статье я хотела показать, что решая простую задачу лучше использовать простые решения, а не то, что привыкли/положено/модно.
И нет, мой маленький кодик куда лучше показывает уровень знаний нежели чем крестики-нолики по пять в ряд
Если уж сравнивать с заданием про крестики-нолики, то нет, не показывает
таблица в бд + ckeditor. И править проще, и не надо это вот аяксовые loadPage.(см. ниже в комментариях)
Ну и так, чтобы закрыть тему: я не ищу работу ни джуниором, ни кем ли бы то ни было и не претендую ни на ваши места, ни на ваши заслуги. Можете откинуться на спинку стула и отметить еще одну победу. Считайте, что ваш оппонент позорно бежал. Продолжать сей спор показывает — не показывает без указаний на конкретные огрехи кода считаю бессмысленным.
Вкратце: это книга — блог или, скорее, сериал.
Gitbook замечательно подходит для технической литературы за счет создания четкой структуры страниц.
Я же описывала подход для создания «живой» художественной книги. В моем проекте страницы открываются и рисуется иллюстрация, но никто не мешает добавить любые другие эффекты — будь то музыка, видео, игра на canvas или еще что-то по аналогии.
Здесь я почувствовал себя обманутым и растерянным. Что мне хотели донести?
Поиска / сортировки / массового обновления в этом проекте нет и точно не будет. Автор один, все тексты в файлах, а к базе пришлось бы еще и отдельное кеширование прикручивать. А загрузка по ajax — это не вынужденная мера, это изначальное требование. Во-первых: нужно отследить загрузку страницы, чтобы проиграть анимацию, а во-вторых это сейчас там две с половиной страницы, а когда их 400 будет? Одним махом все грузить из базы/кеша для каждого пользователя?
2. Загрузятся две. Предыдущая и запрошенная.
3. На своем сервере потребовалось бы поднять свой git, к нему делать отрисовку логов, давать возможность watch. По поводу скорости: сайт с большой картинкой на первом экране и svg на странице (суммарно 500кб) + шрифт, пару скриптов в т.ч. с шарилками. Сервер тут вообще не причем — он быстро все отдает.
4. А если вы в книгу человек закладку вложить забудет? Пока сложно сказать, есть ли нужда в карте. Технически — реализуемо и быстро (все есть в конфиге — нужно только вывести по порядку).
5. Да. В данном случае нет задачи поддержать пользователей IE, Edge и старых версий — целевая аудитория продукта не та, да и я лично против поддержки кривого по.
А на мой вопрос вы так и не ответили…
А мне понравилась статья. На мой взгляд она не столько про конкретный код, сколько про то, что не нужно увлекаться оверинженерингом. Задача то на самом деле была нетиповая и получившееся решение выглядит весьма элегантно. Код, конечно, можно ещё подшлифовать, но куда ж без этого.
Плюс я узнал про существование Vivus и Writage. Кстати, интересно, насколько хорошо Writage справляется со своей задачей в плане истории изменений? Т.е. насколько сильно результат отличается от ручного редактирования Markdown, если отличается?
Согласна с вами насчет кода, куда ж без правок.
По-моему, вполне оправданное применение KISS. Но в плане типографики есть недочет, строки растягиваются на всю длину окна, отступы по краям небольшие, для комфортного чтения придется подстраивать ширину окна. Текст из-за этого становится "тягучим", обратите внимание на типографику сайта medium.com, особенно на размер шрифта, высоту строки и отступы.
Одно «но» — в самой готовой книге наблюдается глюк со скроллом (Chrome): если пролистать книгу до самого конца, а потом пытаться отскроллить вверх, то в определенный момент происходит сброс обратно в конец книги.
wintersmith — готовый генератор сайта на основе markdown текстов и jade-шаблонов.
Единственное, что мне нужно было — это преобразовать markdown разметку в html. Showdown это и делает, это и ничего больше.
Онлайн-книга своими руками на JavaScript