Posts Обновление моего блога
Post
Cancel

Обновление моего блога

Обновление сайта.

Привет, друг! Я долго думал над тем, как мне вести блог. Есть Вконтакте, есть Инстаграм и куча других платформ, но в инсте писать мануалы очень тяжело, на других платформах надо регистрироваться, а мне лень. Пробовал вести свой блог в Телеграме, но а)Моя тематика спецефичная и среди моих читателей, которые интересуются моими записями от силы 5-6 человек. Вести записи на сайте - самое то. Поэтому после работы, я взял свой мозг, консоль и начал накидывать будущий интерфейс моего бложика. Если быть честным, я взял и тупо скопировал готовый шаблон, мне лень с нуля делать себе шаблон.

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

Хотите такой же сайт или аналогичный? Без проблем. Вбиваем в Google - Jekyll free themes или клонируем репозиторий, который указан ниже

форкаем Chirpy on GitHub, rename the repository to USERNAME.github.io (где USERNAME ваш логин для входа в Github), затем открываем терминал и пишем такую команду:

1
$ git clone https://github.com/USERNAME/USERNAME.github.io.git -b master --single-branch

Первичная настройка на локальной машине

Если вы хотите запустить сборку проекта на вашей локальной машине, пожалуйста прочтите Документацию Jekyll для полноценной установки Ruby, RubyGems and Bundler.

После запуска или сборки, необходимо заврешить установку Jekyll плагинов. Перейдите в вашу склонированную репу на локальной машине и выполните:

1
$ bundle install

bundle автоматически установит все зависимости из Gemfile.

Чтобы сгенерировать некоторые дополнительные файлы (categories, tags и last modified list), нам нужно использовать некоторые скрипты. Они требуют пакета зависимостей yq, который будет установлен. Более того, если ваша машина работает под управлением Debian или mac OS, вам также необходимо установить GNU coreutils.

  • на Debian:

    1
    
    $ sudo apt-get install coreutils
    
  • на macOS:

    1
    
    $ brew install coreutils
    

Настройки для Docker окружения (не обязательно)

Если вы фанат Docker или просто вы слишком ленивый. Вы можете установить пакеты, упомянутые в Настройка на локальной машине. Пожалуйста, убедитесь, что у вас есть Docker Engine , он установлен и запущен, а затем сделайте Docker-образ jekyll/jekyll с помощью такой команды:

1
$ docker pull jekyll/jekyll:latest

Использование

Для запуска Chirpy требуется несколько дополнительных файлов, которые не могут быть сгенерированы с помощью собственных команд Jekyll, поэтому, пожалуйста, строго следуйте приведенным ниже методам запуска или развертывания вашего веб-сайта.

Установка

Перейдите в вашу папку с проектом и выполните:

1
$ bash tools/init.sh

Note: Если вы будете деплоить на свой сервер, введите --no-gh в конце команды.

Что выполняет этот скприт(команда):

  1. Удаляет такие файлы:

    • .travis.yml
    • чужие посты _posts
    • папку docs
  2. Если вы используете --no-gh опцию, директория .github будет удалена. В противном случае настройте рабочий процесс действий GitHub, удалив расширение .hook of .github/workflows/pages-deploy.yml.hook, а затем удалите остальные файлы и каталоги в папке .github.

  3. Автоматическое создание фиксации для сохранения изменений.

Конфигурация

Сделали предыдущие шаги? Отлично, открываем _config.yml и сконфигурируем параемтры, если необходимо. Некоторые из них являются типичными вариантами:

  • url
  • avatar
  • timezone
  • theme_mode

Запуск локально

Возможно, вы захотите просмотреть содержимое сайта перед публикацией, поэтому просто запустите его:

1
$ bash tools/run.sh

Затем откройте браузер по этой ссылке http://localhost:4000.

Через несколько дней вы можете обнаружить, что изменения файла не обновляются в режиме реального времени с помощью run.sh. Не волнуйтесь, расширенный вариант -r (или --realtime) решит эту проблему, но для этого требуется fswatch чтобы быть установлен на вашем компьютере.

Запуск в Docker

Запустите сайт в Docker с помощью следующей команды:

1
2
3
4
$ docker run --rm -it \
    --volume="$PWD:/srv/jekyll" \
    -p 4000:4000 jekyll/jekyll \
    bash tools/run.sh --docker

Обратите внимание, что в контейнерах Docker вы потеряете функцию обновления в реальном времени.

Деплой сайта

Перед началом развертывания проверьте этот файл _config.yml и убедитесь, что url верно сконфигурирован. Кроме того, если вы предпочитаете project site и не используйте пользовательский домен, или вы хотите посетить свой веб-сайт с базовым url-адресом на веб-сервере, отличном от GitHub Pages, не забудьте изменить baseurl к названию вашего проекта, которое начинается с косой черты. Например, /project.

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

Деплой на Github Pages

По соображениям безопасности, на страницах сайта GitHub build выполняется на safe режиме, что ограничивает нас от использования скриптов инструментов для создания дополнительных файлов страниц. Поэтому мы можем использовать GitHub Actions чтобы построить сайт, сохраните файлы построенного сайта в новой ветви и используйте эту ветвь в качестве источника службы страниц.

  1. Нажать любую обязуются origin/master чтобы запустить рабочий процесс действий GitHub. После завершения и успешного выполнения сборки создается новая удаленная ветвь с именем gh-pages появится возможность хранить встроенные файлы сайта.

  2. Перейдите в свой репозиторий на GitHub и выберите ветку gh-pages как-то publishing source через SettingsOptionsGitHub Pages: gh-pages-sources

  3. Посетите свой веб - сайт по адресу, указанному GitHub.

Деплой на другие платформы

На платформах, отличных от GitHub, мы не можем наслаждаться удобством GitHub Actions. Поэтому мы должны построить сайт локально (или на какой-то другой сторонней платформе CI), а затем поместить файлы сайта на сервер.

Перейдите в корень исходного проекта, создайте свой сайт с помощью:

1
$ bash tools/build.sh

Заметка: Выходной путь может быть задан с помощью опции -d.

Или же создайте сайт с помощью Docker:

1
2
3
4
$ docker run --rm -it \
    --volume="$PWD:/srv/jekyll" \
    jekyll/jekyll \
    bash tools/build.sh --docker

Если вы не указали выходной путь, то сгенерированные файлы сайта будут помещены в папку _site корневого каталога проекта. Теперь вы должны загрузить эти файлы на свой веб-сервер.

This post is licensed under CC BY 4.0 by the author.

-

Что такое DevOps

Comments powered by Disqus.

Популярные теги