Статьи

Создать статический блог-призрак с Buster

Если бы мы были в середине 2000-х годов, единодушным выбором для создания блога был бы WordPress или Blogger . В последние несколько лет количество блоговых платформ возросло, что делает это время прекрасным для тех, кто любит экспериментировать. Одним из таких вариантов, который был выпущен для публики в конце прошлого года, является Ghost .

Лучшая часть о Ghost — это поддержка Markdown, которая позволяет вам сосредоточиться на написании. Однако, если вы все еще скептически относитесь , вы должны посмотреть на сравнение Дэвидом Бланом функций Призрака с большой тройкой .

Если вы согласны с тем, что вам следует попробовать Ghost, то есть небольшой сбой. Если вы хотите использовать Ghost.org для размещения своего блога, базовый план начинается с 5 долларов в месяц , ограничивая вас 10 000 просмотров страниц (что вы можете легко достичь, если у вашего поста будет хороший день в Hacker News). Если вы загружаете исходный код, вам нужно будет разместить его на отдельном сервере, что требует определенных знаний.

Но мы можем преодолеть эти проблемы. В этом посте я покажу вам простой способ использовать Ghost для своего блога, но разместить его бесплатно .

Что такое статические сайты?

Статический сайт — это набор HTML-документов или статических веб-страниц, ни больше, ни меньше. Это означает, что независимо от пользователя, запрашивающего сайт, контент останется прежним. Напротив, для динамического сайта один и тот же URL-адрес может отображать разное содержимое для разных пользователей (например, https://twitter.com покажет мне что-то совершенно иное, чем то, что будет показано при условии, что один из нас вошел в систему. ).

Статический сайт часто дешевый или бесплатный для размещения по сравнению с динамическим сайтом. Но для создания и обновления статического сайта вам понадобятся определенные навыки. Если, конечно, у вас нет Бастера .

Что такое Бастер?

Buster — это «генератор статических сайтов для Ghost» ( понимаете? ). Buster позволяет предварительно просмотреть сгенерированный статический блог и развернуть его на GitHub для размещения вашего сайта. Он написан на Python и его легко установить. Вы можете скачать через pip или клонировать репозиторий и установить.

Процесс, которому мы будем следовать, выглядит примерно так:

  • Генерация статических страниц на сайте Ghost с использованием грубой силы
  • Предварительный просмотр их с помощью Buster (необязательно)
  • Развертывание на нашем сервере (например, на страницах GitHub)

Использование GitHub Pages для размещения вашего статического сайта

GitHub позволяет бесплатно размещать ваши статические страницы через GitHub Pages . Любое хранилище на GitHub можно настроить для предварительного просмотра в Интернете. Все, что вам нужно сделать, это создать ветку с именем gh-pages и ваш репозиторий доступен по адресу username.github.io/repository-name , где вы заменяете username и repository-name их соответствующими значениями.

Существует множество альтернатив GitHub Pages, одной из которых является My.DropPages , неофициальное приложение Dropbox. Хотя Buster настроен для отправки на страницы GitHub, вы всегда можете остановиться только на создании статического сайта и вручную загрузить его в другое место. В этом посте мы продолжим с предположением, что вы собираетесь загрузить свой веб-сайт на GitHub Pages.

Добавление собственного субдомена на страницы GitHub

Если вам нужен домен для указания на ваш репозиторий GitHub Pages, вам нужно добавить запись CNAME в файл DNS вашего домена. Для такого блога вам нужно будет добавить запись CNAME для нужного субдомена со значением username.github.io .

Пример субдомена

Затем вам нужно будет добавить файл с именем CNAME в ваш репозиторий. Содержимое файла — это просто строка my_subdomain.my_domain.com (снова заменяя значения вашими действительными поддоменом и доменом).

Как использовать Buster

Ниже приведены различные команды, которые можно использовать в приблизительно хронологическом порядке:

  • buster setup [--gh-repo=<repo-url>] — создает каталог static/ и инициализирует внутри него Git-репозиторий. У вас должен быть базовый репозиторий, настроенный на GitHub.
  • buster generate [--domain=<local-address>] — генерирует страницы из локального запущенного экземпляра (или перезаписывает существующие страницы). Локальный адрес обычно 127.0.0.1:2368 .
  • buster preview — Предварительный просмотр локального статического сайта на localhost:9000 .
  • buster add-domain [domain-name] — добавляет пользовательский домен или поддомен в CNAME в вашем хранилище.
  • buster deploy — отправляет ваши изменения в GitHub. Это делается по протоколу https , и вам необходимо ввести имя пользователя и пароль GitHub.

Примечание. Эти команды следует запускать только вне static каталога. Если вы запустите их в другом каталоге, управляемом Git, команда generate создаст статическую папку и зафиксирует файлы в вашем существующем хранилище.

Добавление комментариев к вашим статическим страницам

Недостатком статического сайта является невозможность добавления комментариев. Однако сторонние сервисы, такие как Disqus, требуют, чтобы вы только вставляли <script> , который выдает окно для комментариев. Disqus распознает URL-адрес, по которому генерируется запрос, и автоматически сохраняет комментарии в соответствующей теме.

Чтобы вставить систему комментариев Disqus на ваш статический сайт, вам нужно вставить ее в шаблон Ghost, из которого генерируется статический сайт. После регистрации в Disqus вам будет предоставлен фрагмент кода для вставки на ваш сайт.

Найдите файл post.hbs в каталоге темы в Ghost (обычно это /content/themes/[theme_name]/post.hbs ) и вставьте его между {{/post}} и </article> . Для получения дополнительной информации вы можете обратиться к подробной странице справки на Disqus относительно его установки на сайтах Ghost. Если вы сделали это правильно, Disqus должен появиться на вашем локальном сайте, и Buster автоматически извлечет его.

Заключительные слова

Я хотел бы закончить пост демонстрацией, блогом, который я веду, чтобы сообщать о моем еженедельном прогрессе в Google Summer of Code. Статический сайт, созданный Buster , доступен на GitHub .

Что вы думаете о Бастере? Знаете ли вы какие-либо альтернативы? Дайте нам знать в комментариях ниже.