Это шестая и последняя статья в серии о моей попытке найти решение для парковки доменов, которое позволяло бы создавать пользовательский контент, сохраняя при этом низкую стоимость для каждого домена. Я надеялся сохранить стоимость домена на уровне копеек в месяц для сотен доменов, которые все еще складываются.
В конце концов я смог найти решение для хостинга с нулевой стоимостью, с учетом ограничений пропускной способности. Отсутствие фиксированных затрат, кроме платы за регистрацию домена, делает парковку сомнительного имени более привлекательной.
Части головоломки
Проект TachyonCMS предоставляет бесплатные инструменты для создания, управления и обслуживания контента TachyonCMS. Эти инструменты обеспечивают управление контентом часть решения.
Существующие облачные сервисы используются для обеспечения доставки контента. В этом примере я буду использовать GitHub и Netlify. Пока вы остаетесь в пределах бесплатного уровня службы вашего облачного провайдера, за размещение вашего контента не взимается плата. Дополнительным преимуществом является то, что все эти элементы легко масштабируются с использованием хорошо зарекомендовавших себя сетевых технологий.
Ни одна из этих частей не занимает более 15 минут, чтобы закончить с нуля. Если у вас уже настроены некоторые провайдеры, весь процесс займет менее 30 минут.
- Многосайтовое приложение TachyonCMS
- Редактор TachyonCMS
- Git-провайдер — GitHub
- Облачный CDN-провайдер — Netlify
- 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