Начальный шаблон для создания молниеносных веб-сайтов с помощью Ghost (в данном случае безголовой CMS) и Gatsby с использованием превосходной темы Simply Ghost. Переписана тема Handlebars на React/Gatsby.
Демо: https://gatsby-ghost-simply.netlify.app/
custom_template
!)custom_template
!)custom_template
!)custom_template
!) # With Gatsby CLI
gatsby new gatsby-starter-ghost https://github.com/anarion80/gatsby-ghost-simply.git
# From Source
git clone https://github.com/anarion80/gatsby-ghost-simply.git
cd gatsby-ghost-simply
Затем установите зависимости
yarn
Запустите сервер разработки. Теперь у вас есть сайт Gatsby, загружающий контент из обезглавленного Ghost. Вам не нужно устанавливать оригинальную тему Simply Ghost в вашем экземпляре Ghost или настраивать там какие-либо дополнительные маршруты.
gatsby develop
По умолчанию программа запуска будет заполнять контент из стандартной установки Ghost, расположенной по адресу https://gatsby.ghost.io.
Чтобы использовать собственную установку, вам необходимо отредактировать файл конфигурации .ghost.json
указав свои учетные данные. Измените значение apiUrl
на URL-адрес вашего сайта-призрака. Для клиентов Ghost(Pro) это URL-адрес Ghost, заканчивающийся на .ghost.io
, а для людей, использующих самостоятельную версию Ghost, это тот же URL-адрес, который используется для доступа к вашему сайту.
Затем обновите значение contentApiKey
, указав ключ, связанный с сайтом-призраком. Ключ можно предоставить путем интеграции с Ghost Admin. Перейдите в «Интеграции» и нажмите «Добавить новую интеграцию». Назовите интеграцию соответствующим образом и нажмите «Создать».
{
"apiUrl" : " https://gatsby.ghost.io " ,
"contentApiKey" : " 9cc5c67c358edfdd81455149d0 "
}
Наконец, настройте желаемый URL-адрес в siteConfig.js
, чтобы ссылки (например, канонические) генерировались правильно. Вам также следует обновить другие значения, необходимые для меню, обмена в социальных сетях и поиска.
{
menuDropdown : [
{
label : `About` ,
url : `/about` ,
} ,
.
.
.
] ,
followSocialMedia : [
{
service : `youtube` ,
title : `YOUR_TITLE` ,
url : `YOUR_URL` ,
} ,
.
.
.
] ,
searchSettings : {
key : `YOUR_GHOST_API_KEY` ,
url : `YOUR_GHOST_URL` ,
/* This is optional */
options : {
keys : [ `title` , `plaintext` ] ,
limit : 10 ,
} ,
/* This is optional to perform filtering of the ghost api */
api : {
resource : `posts` ,
parameters : {
limit : `all` ,
fields : [ `title` , `slug` , `plaintext` ] ,
filter : `` ,
include : `` ,
order : `` ,
formats : `` ,
} ,
} ,
} ,
}
Чтобы использовать собственные шаблоны сообщений, добавьте к сообщению определенный внутренний тег (например, #custom-post-wide
, #custom-kusi-doc
и т. д.).
Демо и репозиторий — это «максимальная версия» со всеми возможными типами вариантов домашней страницы, шаблонов сообщений, портфолио, документов и т. д. При необходимости настройте/удалите.
Стартер содержит три файла конфигурации специально для развертывания с помощью Netlify. Файл netlify.toml
для настроек сборки, файл /static/_headers
с заголовками безопасности по умолчанию, установленными для всех маршрутов, и /static/_redirects
для настройки перенаправлений пользовательского домена Netlify.
Чтобы выполнить развертывание в своей учетной записи Netlify, нажмите кнопку ниже.
Ключи API контента, как правило, не считаются конфиденциальной информацией, они существуют для того, чтобы их можно было изменить в случае злоупотреблений; поэтому большинство людей фиксируют его непосредственно в своем конфигурационном файле .ghost.json
. Если вы предпочитаете хранить эту информацию в своем репозитории, вы можете удалить эту конфигурацию и вместо этого установить переменные Netlify ENV для производственных сборок.
После развертывания вы можете настроить интеграцию Ghost + Netlify, чтобы использовать перехватчики развертывания из Ghost для запуска перестроений Netlify. Таким образом, при каждом изменении данных в Ghost ваш сайт будет перестроен на Netlify.
Вы можете отключить интерфейс темы Ghost Handlebars по умолчанию, включив флажок Make this site private
в настройках Ghost. Это включает защиту паролем перед установкой Ghost и устанавливает <meta name="robots" content="noindex" />
чтобы ваш интерфейс Gatsby стал источником истины для SEO.
# Run a production build, locally
gatsby build
# Serve a production build, locally
gatsby serve
develop
Gatsby использует конфигурацию development
в .ghost.json
, а build
Gatsby использует конфигурацию production
.
Авторские права (c) anarion80, 2021 г. — Выпущено под лицензией GPLv3.