Здесь я изложил свой опыт в создании данного сайта. Надеюсь, это улучшит ваше понимание области web-разработки)


Идея

Почему я придумал вообще создать собственный сайт и вообще зачем он мне нужен? Для ответа на этот вопрос немного окунёмся в предысторию)

Поиск

Одной из моих главных целей в Москве была возможность посещения мероприятий по теме предпринимательства, упоминания которых я не мог найти там, где я жил с рождения, — в Ростове-на-Дону.

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

Как я заметил, практический все молодые люди, добившиеся получения высокого дохода, сделали это в IT-сфере: занимаясь интернет-маркетинг или ведя свой онлайн-бизнес.

Действительно, промышленность давно поделена и передаётся из поколения в поколение, из-за чего, собственно, остается поле предпринимательской деятельности только в инновационных сферах.

И, соответственно, мой выбор пал на интернет-маркетинг, так как это сейчас актуально, востребовано, позволяет получать деньги удалённо, а так же знание его потенциально может быть полезно для собственного бизнеса. В нём уже я решил начать с изучения создание сайтов.

Ранее я так же задумывался об управлении собственным web-ресурсом, имея возможность реализовывать собственные идеи, делиться своими проектами, информацией на нём.

Реализация

Вывод и интернет

Обучаться я решил на проекте собственного сайта. Как выглядит верстка сайта, мне было примерно известно, а как вывести её в интернет не знал. Следующие несколько дней были посвящены изучению хостингов и доменов.

Хостинг-провайдеры предоставляют выделенное место на сервере или полностью сервер в аренду.

Домены — имена сайтов в интернете в строке ссылки.

  • Домены 1-го уровня, например «.com», «.ru», «.net» и. др., так же называются доменными пространствами и их регистрация недоступна простым смертным.
  • Домены 2-го уровня регистрируются и предоставляются в аренду на определённый срок за определённую плату. Например, «wikipedia.org», «yandex.ru».
  • Домены >= 3-го уровня, например «ru.wikipedia.org», можно создавать неограниченное количество на базе домена 2-го уровня.

Поняв, как всё устроено, я нашёл выгодные предложения.

И тут у меня появилась идея: делиться поддоменами со своими друзьями, теми, кому это может быть нужно, но не будет знать как это сделать и будет опасаться тратить на что-то деньги. Так же система поддоменов позволила бы элегантно отделять проекты от личного сайта, сохраняя общую связь.

Изучение CMS

Вместе с поиском потенциальных возможностей вывода сайта в интернет я наткнулся на понятие CMS-систем (content managment system), т.е. систем управления контентом. Они призваны значительно облегчить разработку сайтов для обывателей (в отличии от сложных web-ресурсов, как, например, YouTube, VK, Instagram, Discord, и др., где пишутся уникальные алгоритмы управления данными целыми командами разработчиков).

В качестве основы сайта я выбрал WordPress. Эта CMS-система написана на серверном языке программирования PHP, позволяющем динамически генерировать web-страницы. На WordPress достаточно легко менять темы оформления сайтов, добавлять плагины для расширения функционала, сохраняя написанны контент, а главное всё это просто делать пользователям, далёким от web-разработки в целом.

Ранее с PHP и Wordpress я был знаком только понаслышке и даже не представлял что это такое. Однако соответствующие видео и статьи со временем исправили это.

Мне требовалась тонкая кастюмизация и возжможность делать по своему вкусу. Готовые темы предлгают весьма ограниченный функционал или треубуют их покупку, что и укрепило позицию о создании собственной с нуля.

Конечно, это предполагало отсрочку её публикацию контента, ведь я хотел привести сайт в минимальный приличный вид. Однако, желание воплотить всё и сразу увело меня в сферу борьбы за не предусмотренные в WordPress возможности, из-за чего я стал глубже изучать основную структуру (ядро) CMS-системы, SQL-запросы к базе данных, вместо проработки самой визуальной составляющей темы: шаблонов PHP+HTML, стилей CSS, JS-скриптов.

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

Разработка темы

И вот осенью я вновь взялся за сайт, уяснив ошибки в приоритезации сфер деятельности, и начал с нуля разрабатывать тему.

Базовым шаблоном служила генерируемая тема на ресурсе underscores.me, которая включает правильно скомпанованные и удобные для начала разработки файлы.

На основе опыта и собственного чувства стиля у меня было примерное представление внешнего вида и функциональных особенностей.

Мне понравилась идея с ограничено прокручиваемым хедером (header limited scroller), как это, например, было реализовано в мобильном приложении VK. Нормальных примеров я сразу не нашёл, поэтому реализовывал собственноручно. Здесь требовать выстроить логику расчётов отступа элемента при прокрутке страницы.

Касательно элементов меню в хедере и футере, я опирался на сайт expertvagabond.com, работающий на WordPress с установленной темой «Generate Press». В начале я даже думал использовать эту тему у себя, однако её полная версия — платная, и даже в ней я бы не имел бы полного контроля над сайтом. Тем не менее там простой и качественный CSS код, который я повзаимствовал для своего сайта. В свою очередь, JS для адаптивной работы меню я прописывал сам, довольствуясь обрывками информации в интернете.

Дизайн статей пришёлся мне по душе на medium.com — ресурсе со статьями, в котором акцент преимущественно направлен на заголовок, а не на preview.  Это важно, потому что порой я не сразу могу придумать и реализовать качественные медиа к написанному тексту, а откладывать из-за этого публикацию не хочется.

Скрипты с вёрсткой требовалось адаптировать под разные размеры экранов (ноутбуки, планшеты, телефоны) и виды нажатий (клики мышкой и тыки на сенсор пальцами отличаются по передаче событий), что у меня, считаю, получилось достаточно приятно и интуитивно в восприятии.

По итогу около половины времени создания темы я потратил на написание JS скриптов для красивой и удобной работы навигации.

В остальном основную часть занимал HTML+PHP код формирования самой вёрстки. Приятно было оформлять мелкие детали, прописывая для них функции, например подсчёт примерного времени чтения.

Релизнув наконец приличную версию на хостинг, я стал наслаждаться проделанной работой и выискивать баги, а потому обозначил её как ɑ (альфа), что означает её юзабельность, но необходимость доработки.

Futures

Были сделаны куча различных мелких правок, что я, собственно, и продолжаю делать по мере их обнаружения. Теперь задачей стала возможность простой кастомизации темы под другие ресурсы: замена изображений, стилей, добавления нужных шаблонов.. Хочется всё это эргономично объединить с одной стороны, не связывая себе руки по части оформления, с другой — минимизации необходимости лезть в код основной темы.

Для этого существует WordPress Customizer — интуитивно понятный интерфейс настройки темы. С ним тоже случаются проблемы, которые приходится обходить кустарными методами, как, например, загрузка векторных .svg изображений. Всё же, на крайний случай, он полезен просто вставками кусков HTML+CSS вёрстки в нужные места.

Другим вариантом могут служить дочерние темы в WordPress, которые позволяют замещать файлы и добавлять новые без изменений в основной темы. Мне по началу не хотелось к ним прибегать, но я вижу рациональность их использования как минимум для создания уникальных шаблонов вёрстки на различные ресурсы без необходимости их запихивать в основную тему.

Плоды работы

Отвечу на самый любимый вопрос: мой сайт на данный момент не приносит монетизацию, у него не высокая посещаемость. Однако его ключевая роль — быть моим интернет-ресурсом. Там я публикую статьи, в которых запечатляю собственные мысли касательно разных тематик. Часто они сформулированы сложными, хотя и понятными, языковыми конструкциям в соответствии с несомым ими смыслом, а потому я осознаю ограниченность аудитории, спобоной их воспринимать. Мои статьи написаны для людей, желающих мыслить шире, глубже разбираться в вопросах мироздания и развивать изощрённость своей речи.

С другой стороны, сайт выполняет задуманную ему роль хаба, места пересечения моих web-аккаунтов и моей активности в интернете. Его можно найти в поиске, вбив мои имя и фамилию (успешность варируется от индексации разными поисковыми системами).  Я могу легко создавать особые страницы и делиться на них QR-кодами. В профилях соц. сетей лежат ссылки на мой личный сайт, домен которого также содержит моё имя на английском языке.

Возможно, я не внёс ещё все результаты своей деятельности, которые хотел там расположить, не идеальным образом создал навигацию да и в общем оформление темы. Однако в моей жизни существует достаточно много другой активности, которую тоже нужно проявлять. В процессе я так же развиваю свои знания о мире, понимая как и что сделать лучше, формируя новые идеи, которыми я бы хотел поделиться. И порой я уделяю время и концентрирусь на доработке сайте, найдя ряд вещей которых я бы хотел добавить, изменить, исправить. Такая смена деятельности, переменная конценрация на разных задачах позволяет не быть утомлённым однотонной работой, получать удовольствие от реализации собсвтенных идей и в целом жить в каеф.

Добавить комментарий