Генератор статического сайта
Генераторы статических сайтов (SSG) — это программные механизмы, которые используют файлы текстового ввода (такие как Markdown , reStructuredText , AsciiDoc и JSON ) для создания статических веб-страниц . [1] Статические сайты, созданные генераторами статических сайтов, не требуют серверной части после создания сайта, что делает их первоклассными пользователями в сетях доставки контента (CDN). Некоторые из самых популярных генераторов статических сайтов — Jekyll , Hugo , Next.js ( JavaScript ). [2] [3] SSG обычно предназначены для редко меняющегося информативного контента, такого как страницы продуктов, новостные статьи, документация по программному обеспечению и блоги.
Архитектура
[ редактировать ]SSG обычно состоят из шаблона, написанного на HTML с системой шаблонов, например Liquid (Jekyll) или шаблона Go (Hugo). Одна и та же структура (обычно репозиторий Git ) включает контент в текстовом формате, таком как Markdown или reStructuredText , или в структурном метаформате, таком как JSON или XML . Один простой текстовый файл может соответствовать одной веб-странице. Альтернативно, один файл структурных метаданных может соответствовать всему веб-сайту, если платформа одностраничных приложений, такая как AngularJS используется . Настройки переменных веб-сайта хранятся в текстовом файле конфигурации. _config.yml
( ЯМЛ ), _config.toml
( ТОМЛ ) или _config.json
( JSON ). Файлы страниц обычно также начинаются с преамбулы YAML, TOML или JSON для определения таких переменных, как заголовок, постоянная ссылка или дата. Файлы с именами, начинающимися с подчеркивания ( _
) такой как _index.md
(в отличие от index.md
) считаются шаблонами или архетипами и поэтому не отображаются как сами страницы.
Примеры
[ редактировать ]Задокументировано существование нескольких сотен SSG, причем подавляющее большинство из них написано на языках, которые уже широко распространены в сети, таких как Python, Go, JavaScript и TypeScript. [4]
Метка/имя системы | Язык | Примечания |
---|---|---|
Джекилл | Руби | Использует язык шаблонов Liquid. [4] |
Хьюго | Идти | Использует шаблоны Go, и его основным преимуществом является высокая скорость компиляции. [4] |
Next.js | JavaScript | Использует шаблоны React. [4] |
Пеликан | Питон | Использует шаблоны Jinja2. [4] Компилирует HTML из reStructuredText или Markdown. |
Астро | JavaScript | По умолчанию использует язык синтаксиса .astro (знакомый HTML или JSX). Поддерживает несколько фреймворков: Svelte, React, Preact, Vue, SolidJS, Lit, AlpineJS. Компилирует HTML из Markdown или MDX. [4] |
Докузавр | JavaScript | Компилирует HTML из MDX, Markdown, JavaScript и React. Использует Node.js. Настройка с помощью React . |
Сравнение с серверными системами
[ редактировать ]Многие серверные системы шаблонов имеют возможность публиковать выходные страницы на сервере, где опубликованные страницы являются статическими . Это распространено в системах управления контентом , таких как Vignette , но не считается генерацией на внешнем сервере. В большинстве случаев эта «опция публикации» не мешает системе шаблонов и может быть создана с помощью внешнего программного обеспечения, такого как Wget . [5]
Люди начали использовать серверные динамические страницы , созданные на основе шаблонов с уже существующим программным обеспечением, адаптированным для этой задачи. Это раннее программное обеспечение представляло собой препроцессоры и макроязыки , адаптированные для использования в Интернете и работающие на CGI . Далее простой, но актуальной технологией стало прямое исполнение на модулях расширения, начатое с SSI .
Ссылки
[ редактировать ]- ^ «Что такое генератор статических сайтов? Как мне найти лучший из них?» . Нетлифай . Архивировано из оригинала 18 сентября 2022 г. Проверено 18 сентября 2022 г.
- ^ «Что такое генератор статических сайтов и как он может помочь в процессе создания вашего сайта?» . ТелепортШтаб . 15 декабря 2021 г. Архивировано из оригинала 18 сентября 2022 г. Проверено 18 сентября 2022 г.
- ^ «Что такое генератор статических сайтов?» . 2022-09-18. Архивировано из оригинала 18 сентября 2022 г. Проверено 18 сентября 2022 г.
- ^ Jump up to: а б с д и ж «Генераторы статических сайтов — лучшие SSG с открытым исходным кодом | Jamstack» . Jamstack.org . Архивировано из оригинала 18 сентября 2022 г. Проверено 18 сентября 2022 г.
- ^ «Генератор статических сайтов» . Гэтсби . Архивировано из оригинала 18 сентября 2022 г. Проверено 18 сентября 2022 г.