Рубрики
Без рубрики

Строительство и проектирование сайта портфолио с использованием GATSBY JS и Cosmic JS

Создайте статическую веб-страницу для вашей компании или личного портфолио, используя GATSBY Статический генератор сайта и платформу управления контентом Cosmic JS.

Автор оригинала: Jacob K..

Создание/обновление наших портфолио – это необходимое зло в наши дни. Места меняются, люди меняются, и, следовательно, цикл создания контента и управление непрерывному оттуда. Когда вы оказываете нуждающийся в портфолио редизайн, следует учитывать тонны инструментов и услуг. Тот, который должен в настоящее время должен получить ваш интерес, является GATSBY JS Статический генератор сайта вместе с безголовым CMS, как Космические JS Отказ Сегодня, с этими двумя инструментами, мы создадим рабочий портфель, готов к постоянному развертыванию, при этом питание будет восстановлено при изменении контента.

TLDR: Демо демонстрации портфолио GATSBY

Загрузите кодовую базу

0.0, прежде чем мы начнем

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

0.1 Инструменты мы используем

  • GATSBY JS – Это статический генератор сайта, который автоматически приведет к новым данным и восстановить наши сайты, когда изменения сделаны в наше содержание. Поставляется в комплекте с Data Fishething Graphqcl GraphQl и постоянно реагированным фронтальным концом JS.

  • Космические JS – Наша служба управления контентом, которая будет хранить всю необходимую информацию о нашем сайте. Cosmic JS предлагает очень гибкое определение модели данных, которое позволит нам хранить все типы информации, из портативов до простых текстовых полей и содержимого HTML. ПРИМЕЧАНИЕ! – Для того, чтобы следовать наряду с этим руководством, вам нужно будет создать ведро на Cosmic JS и заполнить его соответствующими объектами данных.

  • Rsuite – Библиотека предварительно стилизованных компонентов, которые работают с реагированием, чтобы дать нам предварительно стилизованные компоненты. Это позволит нам использовать компоненты, которые отлично выглядят из коробки, а также давая нам гибкость для настройки по мере необходимости.

  • NetLify (Необязательно) – служба развертывания, которая позволит нам подключить к репозитории Git. Используя это, мы можем настроить Webooks для восстановления статических файлов, а также сделать автоматическое развертывание, когда происходят изменения исходного кода. Давайте пойдем вперед и начните настроить нашу настройку.

1.0 Установка и настройка

У нас есть только несколько требований к программному обеспечению, необходимые для начала строительства. В основном нам нужен Узел js Либо NPM, либо пряжа, и мы будем использовать Git, чтобы сделать некоторые развертывания в NetLify, если вы так выберете.

1.1 Инициализация нашего проекта

Как только вы получите эти установленные, мы можем начать создание нашей среды разработки. GATSBY использует очень удобную Dandy CLI, чтобы позволить нам загрузить наш проект с помощью каталога проекта, готов к созданию и обслуживанию среды узла.

Если у вас нет CLI, вы можете установить его с помощью простой команды терминала NPM:

$npm install -g gatsby-cli

Это займет момент для установки, но через несколько секунд у вас будет доступ к команде Terminal Terminal GATSBY, которую мы можем использовать для инициализации нашего проекта:

$gatsby new gatsby-portfolio

Теперь у нас есть каталог, называемый GATSBY-портфолио в месте, которое вы запустили команду GATSBY, измените в этот каталог и перечислите его содержимое:

$cd gatsby-portfolio/ && ls -la

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

Отказ ├── Node_Modules ├── SRC ├──.Pitignore ├── .Prettierrc ├── gatsby-browser.js ├── gatsby-config.js ├── gatsby-node.js ├── gatsby-ssr.js ├── ├── лицензия ├── package-lock.json ├── package.json └── readme.md

Откройте Package.json и увидим, что у нас есть некоторые терминальные сценарии, которые мы можем теперь использовать для создания/обслуживания нашего проекта. Попробуйте запустить сценарий запуска в вашем терминале:

$npm start

или же

$yarn start

Через несколько секунд мы должны увидеть сообщение успеха в нашем терминале, и мы должны иметь возможность просматривать наш начальный представление проекта на нашем localhost , вы должны увидеть что-то вроде этого:

Стартер-скриншот

Отлично, теперь нажмите Ctrl + C внутри вашего терминала, чтобы остановить сервер разработки, и теперь мы готовы установить наши узлы библиотек.

1.2 Установка наших библиотек

Нам требуется несколько плагинов от GATSBY, чтобы позволить нашим запросам GraphQL работать, а также несколько дополнений для конфигурации среды и нашей компонентной библиотеки RSUITE. Из в своем каталоге проекта нам необходимо запустить некоторые команды терминалов, чтобы получить наши библиотеки JS:

$yarn add rsuite dotenv gatsby-source-cosmicjs gatsby-plugin-sass gatsby-
plugin-less node-sass less

Давайте пройдемся и поговорим о том, что мы добавляем к нашему проекту здесь:

  • rsuite – наша компонент библиотека, которую я упомянул выше. Установка этого позволяет нам импортировать классы JS и вставьте предварительно встроенные элементы реагирования.
  • Доценв – Позволяет настроить наш исходный код с чувствительными ключами API, токеном, то, что может измениться между разработчиками, но должно присутствовать, когда исходный код построен.
  • GATSBY-Source-Cosmicjs – плагин GATSBY, который позволит нам легко сделать GraphQL-запросы на API Cosmic JS GraphQL.
  • GATSBY-Plugin-Sass/GATSBY-плагин – меньше/узел/меньше – плагины GATSBY и библиотеки укладки, которые позволят нам использовать .sss и беспроводные файлы. Они позволят нам импортировать спецификации rsuite Styling и правильно их связываться на сборку.

1.3 Настройка GATSBY.

Для того чтобы GATSBY иметь возможность создавать наши HTML-файлы, нам нужно получить данные из Cosmic JS и построить каждую страницу, используя GraphQQL GraphQL. Давайте пойдем вперед и откроем gatsby-config.js И добавьте наши установленные пакеты:

gatsby-config.js.

Первое, что вы должны заметить, это наше требование Доценв Отказ Это сделает наши переменные среды доступными в этом файле конфигурации во время выполнения и позволяют GATSBY настроить наши компоненты с нашими учетными данными, необходимыми для создания запросов API.

Мы добавили наши плагины для Sass и меньше , а также добавил наши GATSBY-Source-Cosmicjs плагин. Вы заметите, что мы используем некоторые переменные среды, чтобы настроить этот плагин, поэтому нам нужно добавить скрытый файл, который будет хранить эти переменные.

$touch .env

Теперь добавьте ваши переменные в этот файл и Dotenv позаботятся о том, чтобы определить их, используя строку 1 нашего файла gatsby-config.js. Вы можете найти значение, чтобы назначить эти переменные из вашего ковша COSMIC JS: имя ведра> Настройки> Приборная панель> Настройки> Основные настройки:

.env.env.

Теперь мы готовы построить!

2.0 Создание наших компонентов

Так что мы создаем именно. Ну, в основном мы создадим один большой Страница Компонент, который отображает серию отображения компонентов для обработки каждого участка нашего портфеля. Давайте сломаем это:

SRC/Pages/index.js

  • Это наша домашняя страница и где все наши компоненты будут загружены и использоваться для отображения информации портфеля.

SRC/Компоненты/Projects.js

  • Это будет наши проекты раздел, которые примут данные проекта и отображают информацию о каждом проекте. Это примет пропры состоит из наших проектов портфолио и итерации над ними для отображения данных при необходимости.

SRC/Компоненты/Work.js

  • Это будет раздел, подчеркивающий наши навыки и виды услуг/работ, которые мы предлагаем людям, которые могут создавать наши портфели.

SRC/Компоненты/О.Ойс

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

SRC/Компоненты/Contact.js

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

2.1 Домашняя страница

Это наш основной компонент, который выступает в качестве нашей точки вступления для нашего портфеля. Его работа состоит в том, чтобы сделать несколько запросов API GraphQL для наших портфолио данных из Cosmic JS и передайте эти данные на различные разделы нашего портфеля. Давайте посмотрим на компонент и поговорим о том, что происходит:

index.js.

Единственный дисплейный элемент, который действительно живет здесь, – это всплеск экрана, который дает нам немного копию, которая может отображаться о вашей компании. Но мясо нашего контента будет толкаться в каждый компонент секции.

Теперь давайте обновим заголовок, чтобы мы могли перемещаться по нашей домашней странице.

2.2 Изменить компонент заголовка

По умолчанию GATSBY дает нам компонент макета, который позволяет нам завернуть каждую страницу заголовками и нижним колонтитулом. Мы собираемся добавить некоторую навигацию для нашего портфеля в заголовок, чтобы пользователи могли перейти к различным разделам нашего портфеля, нажав на панель NAV, которую мы импортируем из RSUITE:

Header.js.

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

2.3 Рабочий компонент

Этот компонент принимает наши данные о любых услугах, которые мы предоставляем, специально имя, краткое резюме и более подробное описание глубины, а также Имя значка от rsuite И давайте покажим, что для наших пользователей:

work.js.js.

Это итерации на наших объектах услуг. Для каждой службы, которая существует, мы добавляем New Div в раздел рабочего компонента. Теперь мы можем изменить и добавлять данные в наши услуги на Cosmic JS, и он будет обновляться соответственно.

2.4 Проекты и о компонентах

Эти разделы будут вести себя по сути так же, мы отображаем некоторую информацию от нашего Главная страница Отказ Просто немного текста, чтобы дать пользователю некоторого контекста для каждого раздела, но после того, как мы просто итарившись через наши объекты списка, мы сохранили в нашему ковру Cosmic JS.

Вот наши проекты компонента, которые будут осуществляться через наши проекты и отображать изображения и текст:

Projects.js.

О компании будет вести себя так же. Он перейдет через список людей и отображает некоторые изображения и информацию, хранящиеся в объектах услуг на Cosmic JS:

about.js.

2.5 Контактный компонент

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

Contact.js.

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

3.0 Развертывание (необязательно)

Теперь мы готовы развернуть наше приложение. Наиболее важной частью этого процесса убедится, что наше приложение восстановит себя, когда мы изменяем какие-либо данные на Cosmic JS. Если мы интегрируем непрерывный развертывание, используя GIT NetLify, позволит нам активировать BuildHook, чтобы создать новые статические файлы, используя обновленные данные, которые выделяются из Cosmic JS API.

3.1 Развертывание из Git

Перейти к NetLify И создайте учетную запись, если вы не у вас, не у вас. От приборной панели приложений Нажмите Новый сайт из Git на приложении приборной панели. Оттуда вы будете проходить через процесс авторизации Netflify для доступа к репозитории из службы GIT (GitHub, Gitlab, Bitbucket).

Вам придется добавить вас Cosmic_read_key и ваш Cosmic_bucket_slug как переменные среды. Это можно найти под настройками развертывания после создания приложения в NetLify. В той же области вы можете создать свой buildhook, чтобы позволить космическим js запросить восстановление ваших файлов после выполнения обновления:

NetLify BuildHooks.

Как только BuildHook создан, перейдите к Cosmic JS и добавьте его на вкладку WebHooks под настройками для вашего ведра:

Cosmic JS WebHooks

Следуйте инструкциям по добавлению веб -ook, которая запускает почтовый запрос к этому URL-адресу из NetLify каждый раз, когда объект обновляется, и у вас необходимо непрерывно развернутый сайт Super Fast Repolio, готов к обновлению.

Спасибо, что следуют вместе со мной, и увидимся в следующий раз, когда я решил построить что-то круто