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

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

Части головоломки

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

Существующие облачные сервисы используются для обеспечения доставки контента. В этом примере я буду использовать GitHub и Netlify. Пока вы остаетесь в пределах бесплатного уровня службы вашего облачного провайдера, за размещение вашего контента не взимается плата. Дополнительным преимуществом является то, что все эти элементы легко масштабируются с использованием хорошо зарекомендовавших себя сетевых технологий.

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

  1. Многосайтовое приложение TachyonCMS
  2. Редактор TachyonCMS
  3. Git-провайдер — GitHub
  4. Облачный CDN-провайдер — Netlify
  5. DNS-провайдер — регистратор доменов

Многосайтовое приложение TachyonCMS

Многосайтовое приложение — это базовое приложение Quasar 2, использующее Vue3. Он обладает всей мощью и потенциалом платформы Quasar с небольшим добавленным кодом для извлечения и понимания данных TachyonCMS.

  • Поддерживает неограниченное количество доменов с одного развернутого сайта, это отлично подходит для доменщиков, которым нужно легко припарковать свои домены.
  • Обслуживает статический или полустатический контент. Для полностью статического контента каждая страница компилируется в физическую HTML-страницу. Для полустатического контента создается статический сайт, перенаправляющий вызовы на одну страницу, которая динамически загружает контент из статических файлов JSON. Эти файлы JSON можно обновлять без перекомпиляции или перестроения приложения.
  • Полная поддержка Quasar, все, что вы можете сделать с обычным приложением Quasar, можно сделать с этим приложением. Это также означает, что у вас есть доступ к мультимедийным инструментам, разработанным для редактора TachyonCMS.

Разветвить репозиторий многосайтовых приложений

В правом верхнем углу есть возможность Разветвить, используйте ее, чтобы разветвить репозиторий на один из ваших собственных. Это позволит вам настроить сайт так, как вы хотите, и управлять этими изменениями в своем собственном репо. Вы также можете клонировать код, но не сможете так же быстро сохранить изменения обратно на GitHub.

Клонируйте свой репозиторий

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

git clone [email protected]:bwinkers/multi-site-app.git

Установите модули NPM

cd multi-site-app/app
yarn install

Запустите многосайтовое приложение

Это запустит приложение Quasar Multi-Site в режиме горячей перезагрузки. Поскольку файлы TachyonCMS находятся внутри проекта, изменения в файлах CMS приводят к перезагрузке сайта. Нет необходимости в предварительном просмотре сайта или конфигурации.

quasar dev

Редактор TachyonCMS

TachyonCMS поддерживает бесплатное веб-приложение CMS на TachyonCMS.org. Любой может использовать это приложение для управления любым количеством локальных проектов. Данные содержания никогда не передаются на сервер.

Пользователь просто посещает сайт и выбирает локальный каталог, который он хотел бы использовать для контента.

Если каталог не использовался TachyonCMS до того, как приложение создаст три новые папки с именами flows, nuggets и tags. Если приложение находит существующие каталоги с такими именами, оно использует их.

Если вы хотели , вы можете клонировать монорепозиторий TachyonCMS и запускать код editor-ui локально. Если вы не планируете также изменять код редактора, нет причин проверять гораздо более крупный проект.

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

Каталоги контента для многосайтового приложения

Когда редактор используется с многосайтовым приложением TachyonCMS, вы будете работать с тремя каталогами, которые вы можете открыть в разных окнах или вкладках.

app/public/tcms
app/src/tcms
app/src/tcms-config

Полустатические потоки передаются в app/public/tcms, а файлы JSON затем обслуживаются как есть через развернутое приложение как статическое содержимое. Если вы размещаете эти данные где-то, например, на AWS S3, вы можете обновлять или добавлять данные без перекомпиляции приложения. Netlify не предоставляет прямого доступа к файлам, поэтому вы должны использовать минуты сборки для развертывания каждого изменения.

Потоки для предварительно скомпилированных статических HTML-страниц находятся в app/src/tcms. Эти файлы JSON не доступны напрямую после развертывания. Полностью статические страницы лучше всего подходят для SEO.

app/src/tcms-configсодержит специальный поток, используемый для настройки многосайтового приложения. В настоящее время мы используем редактор JSON для изменения объекта конфигурации, так как это довольно простой формат. По мере усложнения мы создадим собственный модуль редактора.

Дополнительные части этой статьи

У Medium были проблемы с большой историей, поэтому мне пришлось ее разбить.
Часть 2 — Создание потоков сайта
Часть 3 — Публикация в CDN с помощью GitHub и Netlify
Часть 4 — Настройка DNS

Предыдущие статьи серии

Часть 1 — Парковка за копейки
Часть 2 — SSL-сертификаты AWS
Часть 3 — Парадигма массового хостинга
Часть 4 — Не довольствоваться Contentful
Часть 5 — Знакомство с TachyonCMS