Статический сайт это сайт, который состоит из текстовых страниц на языке HTML, заполненных путем подстановки в шаблоны сведений из базы данных пользователя при предварительной генерации сайта. В отличие от динамических сайтов генерация страницы выполняется не каждый раз при обращении к серверу, а в момент сборки ресурса целиком. Чтобы обновить сайт достаточно отправить html файлы, полученные при сборке при помощи встроенного ftp клиента или иного приложения вроде filezilla
В программе не используется доступ из командной строки. Работа с командной строкой является барьером для многих издателей. Поэтому все действия идут внутри графической пользовательского интерфейса и вам не надо думать, с какой папкой или файлом ассоциируются данные или шаблоны.
HtmlBuilder позволяет сгенерировать отсортированные рубрики по заголовку, по дате или способом, который указан в настройках.
Поскольку вы можете настроить выдачу рубрики, можно иллюстрировать публикации
HtmlBuilder НЕ ограничивает вас в применении любых языков программирования общего назначения - вы можете легко расширять функциональность генератора модулями на любом языке программирования общего назначения, способного считывать и записывать файлы. Благодаря простым соглашениям, модули легко написать.
HtmlBuilder сразу поставляется с простым локальным веб-сервером, чтобы вы могли предварительно протестировать собранный сайт, и с FTP клиентом, чтобы вы могли опубликовать сайт в сети. Если вы настроили развертывание сайта из архива, то можно пользоваться командами для архивирования проекта (изменяется в разделе Специальное)
Ваши данные программа хранит в базе SQLite (в файле sqlite.db). Чтобы сделать резервную копию сайта просто скопируйте этот файл
SQLite может работать в минимальном объёме выделяемой для неё оперативной памяти, гораздо меньшем, чем в любых других системах баз данных. Это сделало SQLite популярным решением с доступностью для использования привычных для разработчиков и пользователей возможностей языка запросов SQL. Обращения к базе оптимизированы как за счет особенностей обработки запросов, так и за счет настроек сервера (прагмы, индексы)
Сегодня SQLite практически везде - на любом смартфоне, во многих браузерах есть встроенная база sqlite
Хранить данные в SQLite надежно, поскольку база проходит через ряд автоматических тестов (проводится более 2 млн тестов), а покрытие движка базы тестами 100%
Преимущества SQLite для генератора сайтов
База данных хранится на стороне клиента, а не на сервере. Поскольку серверные языки программирования не используются, статические сайты в целом более устойчивы ко взлому в отличие от сайтов на PHP или другом языке серверного программирования: нет языковых эксплойтов на стороне сервера, нет уязвимостей базы данных и следовательно меньше векторов атак. По сути, пока файлы на вашем хостинге защищены хостером, ваш статический сайт защищен, поскольку не имеет никаких уязвимостей в плане того, что не требует интерпретатор языка программирования на стороне сервера, который обращался бы к серверной базе данных. А если нет серверной базы - то вам не нужно ее арендовать, если вы пользуетесь облачным (cloud) хостингом. Идентичность - контент доставляется 1 в 1 так, как был собран при сборке ресурса, никаких побочных эффектов в интерфейсе при эксплуатации сайта. Таким образом, статичность не означает не обновляемости или неуправляемости контентом. Отметим, что CDN сети доставки контента отлично себя зарекомендовали по ретрансляции статики и вы сможете воспользоваться и этим преимуществом, если решите подключить CDN. Устойчивость — повышается устойчивость к внезапным скачкам трафика. Для веб-сайтов с высокой доступностью количество единичных точек отказа уменьшается. Также за счет того, что нет бутылочного горла при обращении к базам данных и обработке данных интерпретатором языка программирования, удается повысить скорость отдачи контента. Чтобы опубликовать статический сайт в сети, достаточно получить FTP доступ к серверу и перенести сборку с помощью встроенного публикатора на вкладке FTP, либо с помощью любой удобной для вас программы, например, FileZilla. По сути логин и пароль от FTP и IP адрес в сети вашего сервера, это единственная основная настройка, которая нужна для публикации статики. Настройка и обслуживание хостинг—сервера проще и дешевле, поскольку требования к памяти и процессору невелики по сравнению с динамическими сайтами. Переносимость — поскольку сайт не связан со сложной инфраструктурой хостинга, его можно перемещать из одного места в другое и перераспределять более простым способом. Статические сайты не требуют постоянного мониторинга, исправления отсутствующих зависимостей или инфраструктуры. Контроль версий — поскольку собранный сайт основан на файлах, система контроля версий, такая как git, может отслеживать все изменения содержимого. Соответствие требованиям — простая архитектура способствует упрощению соответствия требованиям, особенно при создании чего-либо для крупной компании и размещении в их среде. Обновления и новые версии серверного языка или базы данных не влияют на создаваемые статические страницы. Также нужно отметить, что формат HTML является основным для веба - для вас не составит труда найти готовые шаблоны или начинать верстку, отталкиваясь от популярных фреймворков вроде Bootstrap. Если вы верстаете в Figma, можно экспортировать прототип в HTML, читайте тут, также есть бета Locofy. Если верстаете в Sketch, можно экспортировать прототип в HTML по инструкции
Вы можете использовать на своих страницах javascript код, и тем самым добавлять интерактивность в той степени, которая вам действительно нужна. С помощью сторонних виджетов, работающих на основе Ajax, можно решать разнообразные задачи - встраивать чат, карты, комментарии и так далее.
Healthcare.gov после перехода на статическую генерацию перешел с 32 серверов на 1 и сократил в разы расходы. Платформа для сбора средств Б. Обамы, который делала та же команда, что и сайт Хиллари Клинтон, была построена с использованием статического генератора сайтов. Nest и MailChimp используют генераторы статических сайтов для своих основных веб-сайтов. Корпорация Vox Media построила целую издательскую систему вокруг генератора статических сайтов. Крупное нью-йоркское агентство Carrot и Vice, создают веб-сайты для некоторых крупнейших мировых брендов с помощью собственного генератора с открытым исходным кодом. Некоторые сайты такого гиганта как Google на самом деле являются статическими. Статический сайт портала Smashing Magazine был протестирован на производительность - он в 10 раз быстрее, чем развертывание на WordPress.
HTML template (шаблон HTML) - это пример разметки, которая дорабатывается следующим образом. Макет сайта в формате html разделяется на отдельные части - шаблоны генератора (есть шаблон для страницы, для обших блоков и так далее), чтобы можно было разместить переменные, которые генератор будет брать из базы программы и в шаблон подставлять при сборке. Для этого пример заполнения макета удаляется и в него записывается переменная шаблона. Структурирование позволяет многократно (повторно) переиспользовать разметку
Обычно бывает достаточно выделить из макета стандартные блоки вроде шапки, подвала, меню, сайд-бара и области контента, а также подготовить разметку для представления списка страниц и представления страницы при перечислении. Затем по необходимости можно добавить те или иные виджеты сторонних сервисов
Стилизация элементов. Для изменения оформления элементов следует назначить другие значения для таблиц стилей CSS, идущих с шаблоном, либо переопределять эти значения с помощью тега style.
Если вы используете Apache - достаточно базовой настройки
ServerName somesite.ru
ServerAlias www.somesite.ru
DocumentRoot /path/to/site/public
DirectoryIndex index.htm index.html
<Directory "/path/to/site/public">
AllowOverride All
</Directory>
Если вы используете ngnix - настройка минимум
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/site.ru;
index index.html;
server_name site.ru www.site.ru;
location / {
try_files $uri $uri/ =404;
}
}