Динамически генерируйте статические сайты с помощью Hugo - PullRequest
0 голосов
/ 02 июля 2019

Я создаю статический хостинг веб-сайтов и хотел бы создавать веб-страницы по умолчанию для своих пользователей и хотел бы использовать Hugo для этого. Вопрос в том, что будет лучшим способом динамического создания веб-страниц для нескольких пользователей? Это моя мысль до сих пор:

  1. Пользователь заполняет форму для содержания своего веб-сайта, например, фотографий, заголовка, описания продукта и т. Д.
  2. Перейдите к бэкэнду (я использую Perl's Mojolicious) и создайте файлы уценки на основе предоставленной информации и сохраните их в назначенной папке, созданной для этого пользователя
  3. Запустите Hugo для сборки с использованием этих md-файлов и переместите общую папку в корневой каталог пользователя

Мне это не кажется правильным, так как несколько пользователей будут вынуждены запускать Hugo, и я думаю, что будет гораздо проще, если я смогу просто создавать html-файлы непосредственно из бэкэнда вместо создания md-файлов, а затем Запустите Hugo, чтобы создать HTML-файлы. Есть ли способ лучше и умнее?

1 Ответ

1 голос
/ 06 июля 2019

Если я не ошибаюсь, кажется, вы хотите сделать портал WordPress похожим или что-то подобное, начиная с темы Markdown plus и заканчивая содержимым HTMl / CSS / JavaScript. Конечные пользователи редактируют контент в Markdown, выбирают тему, а обо всем остальном позаботятся.

ИМХО, может быть два пути:

(1) Использование Hugo в бэкэнде и забота о целевых папках и сгенерированных артефактах, а также отображение сгенерированных ссылок на интерфейс, соответствующих хостингу вашего конкретного конечного пользователя. Вы можете создать оболочку Hugo, в которой входные данные будут передаваться в Hugo, а созданные страницы будут находиться в папке public. Таким образом, вы должны полагаться на внешний инструмент (читайте Хьюго) и хотите иметь долгосрочную версию поддержки, как и во многих других системах (например, Ubuntu, Java, Windows).

(2) Создание аналогичного генератора, такого как Хьюго или другой (см. StaticGen для большего количества генераторов на разных языках). Вам может понадобиться ядро ​​статического генератора сайтов на основе Markdown, например, анализатор Markdown, трансляторы ссылок и генераторы и т. Д. Прилагая дополнительные усилия, вы можете иметь больший контроль над каждым меньшим компонентом / библиотекой, который вы используете, можете настроить сгенерированный артефакты, их предназначение и т. д.

Дополнительное примечание: Markdown - неплохой выбор для контента. Даже WordPress предлагал поддержку Markdown. Тем не менее, сам по себе Markdown не стандартизирован, а скорее de facto . Есть так много вкусов . Возможно, вы захотите посмотреть или выбрать хороший, например, CommonMark .

...