Сразу следом за идеей сделать сайт последуют логичные вопросы: “а как? а где? и т.п.” Примем допущение, что ответ на вопрос “зачем и почему?” автор для себя уже нашел, раз думает над этой идеей. Также хотя бы частично уже должен быть решен вопрос с хостингом и доменом, тут особых различий в предлагаемых вариантах немного. Хостинг он и в Африке хостинг, не подойдет один - поменять на другой. Более разнообразный выбор существует в системах по работе с содержимым сайта. Именно то, как будет строится все смысловое содержание интернет-ресурса - этот вопрос мне показался наиболее интересным для более глубокого изучения. Поисковые системы выдадут массу различных вариантов по цвету и по запаху. Грубо все эти способы я бы поделил следующим образом:
- Написать вручную HTML страницу, и при необходимости писать их и далее подобным образом.
- Использовать генератор статических страниц. Что-то вроде полуавтоматического режима)
- Использовать различные framework’и для построения своей системы управления контентом CMS.
- Использовать готовые CMS.
- Заплатить специалисту, чтобы он решил этот вопрос одним из перечисленных способов или комбинацией из них же.
Тут, как правило, выбор производится исходя из располагаемых средств (денег, времени, знаний), а также текущих потребностей и ожиданий от сайта. Конечно, для большинства задач уже есть хорошо зарекомендовавшие себя подходы в их решении. Уже традиционно видеть блоги под управлением WordPress или Joomla, какие-то корпоративные коммерческие сайты на Битрикс и т.д., но также очень много сайтов работают под управлением иных систем. Мой выбор осуществлялся немного по иным критериям. Поскольку мной более всего двигал простой академический интерес к этим технологиям, то я не боялся ошибиться в выборе. Имея немного свободного времени и набор базовых навыков в программировании, я решил потихоньку двигаться в этом направлении.
Далее стоит признаться, что до того как остановить свой выбор на Jekyll, я порядочно времени потратил на проработку и других вариантов. Очень смело и быстро можно делать старт с CMS вроде Joomla и WordPress. Почти весь сложный код скрыт от глаз пользователя, но публиковать и обрабатывать материал зато достаточно просто. Все из коробки выглядит достаточно уютно и привлекательно. Также не сложно обучиться и основным настройкам этих систем. В этом плане даже сложнее установить локальный php сервер, например, для отладки. И все хорошо в этом варианте, но мозг в тот момент мне постоянно гундел, что мы тут ничего не понимаем и обучаться в таких условиях очень трудно.
Действительно, было очень много кода, который был мне просто не нужен, эта избыточность всего и вся не давала сконцентрироваться и я постоянно хотел узнать а зачем же он. Так я постоянно уходил в сторону и терялся. Правда надо признать, что при этом попутно я довольно успешно осваивал азы html css php mysql. Тем не менее я решил остановиться на дальнейшем применении CMS. Я постарался создать для себя пусть не глубокую, но цельную общую картину об использовании подобных систем, чтобы потом вернуться в любой момент к дальнейшему изучению.
Взяв небольшую паузу, углубился в теорию. Проходил популярные онлайн курсы по освоению языков веб-технологий, там же практиковался в приобретенных навыках. После решил двигаться далее и рассмотреть работу framework’ов на php с помощью которых можно создать очень неплохую рабочую CMS. Только при этом раскладе выходило более глубокое понимание системы в целом, более легкое взаимодействие на уровне добавления нового функционала. Что не могло не радовать, и это придавало спокойствие)
Однако, в этом варианте я заметил следующее: меня очень увлекает в теорию и все больше отдаляет от моей практической цели сверстать рабочий прототип сайта. Готов был заниматься чем угодно, и никак не мог настроить себя на получение какого-то видимого результата. Я соглашусь, что тут, возможно, банально подключился перфекционизм, я стремился постоянно что-то улучшить и применить новое, когда не имел по сути ничего толкового. Лучшее - враг хорошего, как говорится. Но думаю, подобный опыт в этой сфере будет мне полезен. Ведь в итоге главное, что принял решение идти дальше, а не растворился в идее постоянного улучшения.
И, таким образом, подобными поступательными движениями я начал присматриваться к генераторам статических страниц. Почитал общую информацию, какие-то сравнительные характеристики посмотрел. Потом зашел на официальный сайт jekyll и за несколько часов постарался разобраться в документации. Удалось все прочитать с первого захода, документация составлена удобно. И тут карты легли на стол, видимо, как мне было и нужно. Уже обладая базовыми знаниями по HTML CSS, немного почитав про систему шаблонов jekyll на liquid, было легко приступить к практическому использованию.
Теперь я действительно нахожу Jekyll как оптимальную отправную точку в научных изысканиях, подобных моему. Тому кто желает поучиться веб-программированию, обязательно больше времени необходимо уделять практике. Обычные практические уроки в этом плане быстро надоедают, так как без содержания и смысловой нагрузки повторение материала будет вызывать больше отвращения, чем интереса. Когда перед тобой абстрактные задачи из учебника, то надо проявлять огромное упорство, чтобы решать их до конца. Речь идет об освоении подобной науки как о хобби, а не как о профессиональной оплачиваемой работе или обучении, где присутствует иной стимул для освоения материала.
Работать с jekyll совершенно не скучно, в этом убеждаюсь с каждым днем взаимодействия! Вскоре подробнее расскажу о своем начале работы с jekyll, возможно получится дать полезные советы. Хотя, на самом деле, достаточно исчерпывающий материал содержится на официальном сайте и еще нескольких источниках.