Перейти к основному содержимому

Ghost CMS vs Docusaurus

· 4 мин. чтения

Почти закончил переезд с Ghost на Docusaurus, что дает целый ряд преимуществ.

к сведению

Docusaurus это ГЕНЕРАТОР статичных сайтов. То, что вы видите (если я снова не сменил cms/фреймворк, что теперь как два пальца обоссать) – это где-то лежащий заранее скомпилированный html файлик. Ghost же "билдил" страничку каждый раз, когда на нее кто-то заходил

Как Это Работает? В двух словах

Я пишу пост в markdown файле. Чтобы его запостить, делаю git push с этим файлом в репозиторий блога , затем Vercel это замечает и выполняет "в репозиторие" npm run build (это создает статические файлики) и "выкидывает" все это добро на docusaurustest-pi.vercel.app. В DNS amd-nick.me прописал CNAME запись blog, которая ссылается на этот домен, чтобы использовать свой.

Преимущества

Чтобы не говнить Ghost напрямую, я просто опишу преимущества перехода на Docusaurus, которые я заметил УЖЕ, хотя тыкаю Docusaurus всего 2 дня

База данных не нужна

Это отнимаем затраты энергии на ее содержание. А поскольку у меня на блог был отдельный сервер и все это крутилось в docker, то например переезд на новый сервер и любое обновление было действительно проблемой

Бесплатно

Для БД и обычной CMS нужен сервер. Для Docusaurus нужен только GitHub (или тот же GitLab) репозиторий. Бесплатный домен может выдать Vercel или Github Pages, а картинки хранит тот же GitHub, Imgur, Amazon S3 или что угодно другое

Бекапы

GitHub хранит всю историю изменений бесплатно. Раньше приходилось платить за Amazon S3 для хранения бекапов и картинок

Отказоустойчивость

Хочешь заддосить сайт – заддось Vercel или GitHub.

Также если раньше у хостинг-провайдеров происходили какие-то технические работы, то сайт, соответственно, не работал. Теперь за это отвечает GitHub и Vercel, а их инфраструктура поприличнее 1 отказного сервера

Скорость сайта

Весь сайт это набор html и js файликов, которые просто отдаются браузеру "как есть". Никакой код ничего не просчитывает каждый раз, когда на сайт кто-то заходит и с БД ничего не дергается.

Редактирование

Страницы сайта можно создавать в разных форматах: .md, .mdx, .js, .jsx. Если не хватает возможностей одного – пиши на React что угодно.

И делать это можно с любой картошки, на которой есть текстовый редактор, хоть с терминала. Сейчас я хочу писать в Obsidian, завтра в VSCode с плагинами, послезавтра просто отредактирую через интерфейс GitHub и т.д.

Картинки и гифки заливаю плагинами просто через Ctrl + V в Obsidian

Чтобы запостить, мне нужно просто сделать git push

Переносимость

Markdown сверх универсальный язык. С md файлами можно переехать на любую другую платформу (в отличии от переезда на markdown формат с Ghost). Также Markdown легко конвертируется в html, png, pdf, docx и другие форматы

У wiki.nikiv.dev тысячи файлов и он за пару часов перешел с GitBook на Docusaurus благодаря переносимости markdown. Мне для переноса с Ghost потребовалось 2 дня на гораздо меньший объем файлов

Поиск по сайту

"С коробки" доступен ElasticSearch поисковик Algolia через Ctrl + K. Для установки достаточно просто подредачить конфиг. Если Algolia не подходит, то есть еще Open Source Typesense.

Работает очень шустро сразу показывая найденные результаты без лишних кликов

Хоть blog, хоть docs, хоть page

Docusaurus это не только для блогов. Еще это фреймворк для написания документации, а также создания других статических страничек, как например у меня about страница

Вот здесь можно посмотреть что еще люди делают на нем: https://docusaurus.io/showcase

Приятные бонусы

  • Все ссылки с прошлого блога остались рабочими
  • Если есть сломанные ссылки на другие посты, то при билде вылезает ошибка, чтобы заметить это
  • Кроме относительных и абсолютных ссылок можно указывать относительный путь к файлу и оно само определит ссылку для этого файла
  • В Ghost нельзя было использовать Emoji 😡