6 причин не использовать генераторы статических сайтов


Содержание

Какой генератор статических сайтов лучше выбрать?

Доброго времени суток, ребят!

Вчера нашел в интернете вот этот — staticsitegenerators.net список.

И у меня возник вопрос: в чём разница между ними? Нет, я понимаю, что написаны они на разных языках, но вот в чём преимущество php перед Ruby или Python? Я новичок в этом деле и пытаюсь разобраться во всех тонкостях. Какой проще всего будет использовать, для изучения?

Да и вообще, какими пользуетесь вы? Так будет проще понять, на что обратить внимание и с каким начать экспериментировать!=)

  • Вопрос задан более трёх лет назад
  • 8073 просмотра

но вот в чём преимущество php перед Ruby или Python? Я новичок в этом деле и пытаюсь разобраться во всех тонкостях.

Я испробовал несколько статичных генераторов и остновился на middlemanapp.com

Он наверно единственный генератор что активно развивается (и у него не один контрибьютер), с активной поддержкой на форуме. Набор фнукционала просто впечатляет — я даже перечислять не буду, зайдите почитайте. Гемы опять же много чего позволяют добавить сверху и автотизировать всякой рутины (к примеру, пережатие изображения, генерация фавиконки и т.д). Если что-то нужно самому — не так сложно написать свой гем.

Я даже не статические сайты на нем иногда делаю (с sinatra) %)

чтобы не плодить лишнюю тему.
Бывают ли визуальные простые ген стат сайтов? Для чайника?

У меня задача присобачить псевдоблог на сайт визитку.
Еженедельное пополнение контента.
Неформатный, без возможности посетителям писать отзывы- для этого привязка соцсети — с тем же контентом.
То есть формат простого HTML — это мое.
Задача простая. Разбиратся со сложным генератором — я чайник. Лучше потратить время на контент и его квалити. Базовые навыки сверстать HTML со стилями, что такое фтп, настройки сервера — их есть у меня.

9 генераторов статических сайтов на React в 2020

Статические сайты — это пережиток прошлого, появившийся до того, как CMS захватили интернет. Но сегодня они успешно возрождаются с помощью генераторов статических сайтов и современных фреймворков, таких как React, Vue и Angular.

Используя возможности современных фреймворков с такими инструментами, как Webpack и передовые возможности CSS, генераторы статических сайтов (SSG) позволяют без особых усилий создавать красивые сайты с пользовательским контентом.

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

1. Gatsby

Gatsby был выпущен в 2015 году и является, вероятно, самым популярным в мире генератором статических сайтов для React. Сам сайт ReactJS фактически сделан на Gatsby. Итак, почему Gatsby так популярен?

Во-первых, он прекрасно сочетается с экосистемой React, от компонентов React до технологий Webpack и CSS. Он также имеет богатую экосистему плагинов, которая позволяет легко получать и использовать данные (через GraphQL) от сторонних сервисов и через API.

Gatsby также прост в развертывании и работает очень быстро, с почти нулевым временем загрузки, если был правильно собран и развернут. Gatsby имеет различные стартеры, шаблоны и даже может работать (в некоторой степени) в соответствии с рекомендациями PWA .

2. React static

Столкнувшись с подводными камнями в других генераторах статических сайтов для React, таких как Gatsby и Next.js, группа специалистов из React Static была настроена на создание лучшего, более простого опыта разработки. Это означает более прямую и понятную передачу данных из источника в route, лучшее разделение для шаблонов React и многое другое.

React static отличается более короткой кривой обучения (никакого синтаксиса, только React и JS), более простым пайплайном благодаря управлению всеми данными, запросами и сопоставлением данных в одном месте, без проблем с динамическими данными и их колокацией.

Так же, как в Gatsby и Next, вы получаете PWA-подобный, быстрый, оптимизированный для SEO и очень производительный статический веб-сайт. Несмотря на то, что в настоящее время у React static нет богатой экосистемы Gatsby или резервной копии Zeit, React-static — это простой, прямой и менее затратный способ создать статический сайт на React.


3. Next.js

Создатели Zeit разработали и представили проект Next.js. Это облегченный фреймворк для статических и серверных приложений React, которая также работает как SSG для React.

Команда next export позволяет запускать приложение Next.js как статическое приложение без необходимости использования сервера Node.js. Она предварительно отрендерит все страницы в HTML, основываясь на сопоставлении ключа pathname объекту страницы, который вызыватеся exportPathMap . По умолчанию next export не требует настройки конфигурации, и
по умолчанию сгенерирует exportPathMap, содержащий пути к страницам внутри каталога pages . Это означает, что вы можете разработать приложение, используя возможности Next.js (автоматическое разделение кода и т. д.), а затем экспортировать его практически как статический веб-сайт.

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

4. Cuttlebelle

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

По сути, вы можете создать макет для каждой части страницы, а затем объединить их для создания статической страницы. Создавайте шаблоны с помощью JSX, создавайте макет, извлекайте данные из сторонних API, тестируйте с помощью Jest и размещайте в любом месте.

5. Jekyll и React

Несмотря на то, что Jekyll немного старомоден и не предназначен для React, он по-прежнему остается наиболее широко используемым SSG в мире, в основном для блогов и сайтов электронной коммерции. Частично этот успех можно объяснить очень быстрой миграцией с других платформ в Джекилл с использованием импортеров . Он построен на Ruby и интегрируется в GitHub Pages и имеет очень богатую экосистему тем, шаблонов и плагинов. Он даже предоставляет бесплатный хостинг веб-сайтов на GitHub Pages.

В мире React Jekyll соревнуется с большой тройкой, приведенной выше. Однако союз Jekyll и React действительно возможен.

6. Hugo внутри приложения React

Hugo — это невероятно быстрый фреймворк для создания статических сайтов, очень гибкий и кроссплатформенный. Hugo поддерживает различные типы контента, таксономии, меню, динамический контент на основе API и многое другое без использования сторонних плагинов. Для него доступно более 100 тем.

В отличие от Gatsby, Hugo с React не работает из коробки. Тем не менее, блог Hugo может работать внутри более крупного приложения React. Это означает, что вы можете пользоваться превосходной производительностью (и SEO) Hugo в приложении React. Некоторые даже объединяют Hugo с Gatsby.

7. Phenomic

Phenomic — это фреймворк, созданный для того, чтобы сделать работу SSG похожей на создание полноценного приложения: это модульный компилятор сайта, который позволяет использовать свой собственный рендерер (React), сборщик (Webpack) и др.

Phenomic создан для сайтов с высокой SEO-эффективностью и быстрым UX. В то время как ресурсы в экосистеме ограничены, авторы предоставили шаблон блога create-React-app и набор плагинов . Пользователи React могут использовать методы, поддерживаемые через новый withInitialProps HOC, для использования любых данных ( REST API, GraphQL API для CMS и т. д.) через static async getInitialProps() . Этот API содержит другой новый метод для предварительного рендеринга, который называется static async getAllPossibleUrls() . Пример шаблона для Phenomic с React.

Выбираем генератор статических сайтов

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

Первая публикация в этом цикле будет посвящено сравнительному анализу генераторов статических сайтов.

Критерии сравнения

Генератором статических сайтов называется программный инструмент, превращающий текстовые записи (с разметкой или без) в статичные HTML-страницы. Все инструменты такого рода работают примерно одинаково: берется контент, склеивается с шаблоном, после чего отправляется на хостинг. Количество существующих генераторов статических сайтов исчисляется сотнями, если не тысячами.

Как из всего этого множества выбрать действительно стоящий продукт? Мы решили подготовить свой сравнительный обзор, который. как мы надеемся. поможет кому-то из вас определиться с выбором. Для сравнения мы отобрали генераторы, которые, во-первых, можно «подружить» с нашим облачным хранилищем. Во-вторых, мы учитывали еще и следующие критерии:

  • простоту установки и настройки;
  • наличие дополнительных расширений и плагинов;
  • уровень поддержки (как развивается продукт, как часто он обновляется; имеется ли подробная документация);
  • поддерживаемые способы деплоя.

Обзор генераторов

MiddleMan, Jekyll, Octopress

Все три из перечисленных генераторов написаны на Ruby и во многом схожи по набору функций. Именно поэтому мы решили объединить их в одну группу.


Процедура установки всех этих продуктов сопряжена с некоторыми трудностями: версии Ruby, включенной в официальные репозитории Linux-систем, скорее, всего будет недостаточно — придется обновить ее до самой последней. Также потребуется установить менеджер пакетов RubyGems и менеджер версий Rbenv.

MiddleMan мы активно используем в собственной практике: именно на нем работает промо-сайт облачного хранилища. Несомненным его преимуществом является хорошая и подробная документация, написанная простым и понятным языком. Для Middleman написано немало расширений и плагинов , список которых постоянно обновляется.

Поддерживается деплой с помощью FTP, SFTP, rsync, git (на официальном сайте выложены скрипты для автоматизации процедуры деплоя; еще одно расширение опубликовано на GitHub ). Возможен также деплой на AWS и BitBalloon (имеются соответствующие плагины).

Jekyll (см. также статью на Хабре ) известен в первую очередь тем, что используется в качесте дефолтного движка для статических сайтов на основе GitHub Pages. Очень часто он используется для ведения блогов. Несомненным преимуществом Jekyll является поддержка разметки Liquid: это дает возможность создавать шаблоны, используя конструкции исключительно языка разметки, а не языка программирования.

Расширений и плагинов для Jekyll существует довольно много (см. информацию на официальном сайте , а также здесь и здесь ). Официальные плагины «заточены» в основном на работу с GitHub Pages. Плагины, опубликованные на GitHub, в большинстве своем предназначены для расширения возможностей блоггинга ( добавление облака тэгов , полнотекстовый поиск по блогу и даже специализированный плагин для научных и образовательных блогов ).

Поддерживается деплой по FTP, а также с помощью rsync и git.

В отличие от двух предыдущих продуктов, Octopress является специализированным генератором: он по сути представляет собой надстройку над Jekyll c дополнительными плагинами и responsive-шаблоном, обеспечивающими более удобное ведение блогов.

В качестве формата разметки постов по умолчанию используется Markdown , но можно использовать и обычный HTML. Несомненным плюсом Octopress является поддержка переезда с других площадок: например, все записи из блога на WordPress можно перенести в новый статический блог при помощи специального скрипта (правда, велика вероятность того, что после переноса оформление некоторых текстов может «поломаться», и их потребуется править вручную). «Из коробки» поддерживается и работа с сервисом Disqus, что упрощает перенос комментариев. Блог на основе Octopress можно интегрировать с социальными сетями (Facebook, Twitter, Google Plus и другими).

Существуют плагины, реализующие, например, вставку календарей (похожих на те, что иногда встречаются в блогах на WordPress), списка похожих постов, облака тэгов и так далее.

По умолчанию поддерживается деплой с помощью git (на GitHub Pages или Heroku) или rsync (на любой хостинг, где можно настроить SFTP или можно запустить rsync). Можно настроить и деплой по FTP (о том, как это сделать, можно прочитать, например, здесь ).

Этот генератор статических сайтов изначально замышлялся как полный аналог Jekyll, только написанный на Python — отсюда и название, отсылающее к знаменитой повести Р.Л. Стивенсона «Странная история доктора Джекилла и мистера Хайда».

Следует различать старую и новую версию Hyde. Старая версия основана на Django templates; в настоящее время ее разработка приостановлена (последние коммиты в репозитории на GitHub датируются 2009 — 2010 годом). Новый Hyde (см. также репозиторий на GitHub ) в настоящее время находится в активной разработке.

Цукерберг рекомендует:  Код - Шарюшем в коде просьба прийти на помощь.

По функциональности новый Hyde не отличается от MiddleMan и Jekyll. Мы немного потестировали его, и он произвел на нас вполне приятное впечатление. Из обнаруженных недостатков выделим только один: проект, как уже сказано выше, находится в стадии активной разработки. Именно поэтому документация к нему представлена пока что в очень сжатом и лаконичном виде, а плагинов и расширений существуют очень мало (вот их небольшой список на официальном сайте).
Поддерживается деплой на GitHub Pages и Amazon S3.

Будем надеяться, что в будущем этот инструмент получит дальнейшее развитие и станет более удобным в работе.

Pelican

Pelican также написан на Python. По сравнению со многими генераторами статических сайтов он обладает исключительно широким набором функций: работа с черновиками, интеграция с социальными сетями, добавление изображений, конвертация HTML-страниц в PDF, поддержка многоязычности и многое другое. Он очень хорошо подходит для ведения блогов (существует плагин для переноса блогов на WordPress). Посты можно писать в Markdown, а также в форматах reStructuredText и Asciidoc .

Устанавливается Pelican через pip. При установке пользователю будут заданы несколько вопросов: где хранить файлы сайта, как будет называться сайт, куда и каким способом его нужно деплоить. Поддерживается множество способов деплоя: по FTP, по SSH, на Amazon S3, GitHub Pages, Dropbox и RackSpace Cloud Files.

Grow (см. также официальный репозиторий на GitHub ) — очень интересный и перспективный инструмент, обнаруженный нами совсем недавно. Он написан на Python. Чтобы установить Grow, достаточно скачать скрипт с официального сайта — все необходимые пакеты будут установлены в автоматическом режиме.
В основе Grow лежит подход «конфигурация, а не код». Что это значит? Чтобы создать новый проект (в терминологии Grow проекты называются подами — pods), нужно клонировать на локальную машину тему, которая представляет собой репозиторий на GitHub. Тема включает набор конфигурационных файлов, с помощью которых описывается вся архитектура веб-сайта. Никакого программного кода при этом писать не нужно.

Все настройки проекта хранятся в конфигурационном файле podspec.yaml. В нем указываются следующие параметры:

    • метаданные проекта (имя и т.п.);
    • используемые в проекте инструменты предварительной обработки (например, SASS, Closure Compliler или другие);
    • информация по локализации сайта (в частности, список локалей, в которых сайт будет доступен);
    • информация о статичных файлах и специальных страницах;
    • настройки деплоя.

Как осуществляется в Grow работа с контентом? Весь редактируемый контент (он может быть представлен как в формате Markdown, так и в HTML) хранится в директории /content. Структрура страниц описывается в конфигурационных файлах в формате YAML (см. пример здесь ). Во время сборки сайта Grow генерирует страницы на основе прописанных настроек.

Grow может автоматически переводить текстовые фрагменты — для этого используется библиотека Goslate library , работающая с Google Translate. Чтобы перевести сайт, достаточно просто выполнить команду translate.

В качестве площадки для деплоя можно указать любой веб-сервер. Поддерживается деплой на Dropbox, Google Cloud Storage, Amazon S3, Dropbox, Google AppEngine.


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

Nanoblogger

Этот генератор статических сайтов, ориентированный на создание блогов, примечателен тем, что написан на bash. В качестве основных инструментов для создания статичных HTML-страниц он использует утилиты командной строки cat, grep и sed.
При всей своей простоте Nanoblogger по возможностям не уступаем многим генераторам, написанным на Python или Ruby. Из его полезных функций можно выделить поддержку Atom/RSS, возможность создания на сайте календаря, сортировку постов по категориям, создание архива постов и другие.

Устанавливается Nanoblogger предельно просто: он включен в официальный репозитории большинства популярных дистрибутивов Linux и устанавливается при помощи стандартного менеджера пакетов.

С Nanoblogger удобно работать из командной строки. Все команды подробно описаны в документации , их синтаксис прост и понятен.
Исходный код также написан предельно просто, в случае необходимости его всегда можно модифицировать и «подогнать» под нужды конкретного проекта (см., например, публикацию , в которой автор делится собственным опытом конфигурирования блога на основе Nanoblogger).

Для nanoblogger существуют плагины и расширения. Официальный набор плагинов (nanoblogger extras) также включен в официальные репозитории и устаналивается стандартным способом.

К сожалению, в 2013 году работа по развитию и усовершенствованию Nanoblogger была приостановлена на неопределенный срок (см. информацию на официальном сайте ).

DocPad

DocPad написан на CoffeeScript. Для работы с ним на клиентской машине должен быть установлен NodeJS.

Многими он используется для блогов, но реальные возможности его применения гораздо шире. Этот продукт не представляет собой генератор статических сайтов в чистом виде: его можно использовать и как генератор, и как движок, и как шаблонизатор. DocPad оснащен достаточно удобным API , который позволяет использовать только те функции, которые нужны в данный момент; остальные всегда можно реализовать самостоятельно.

Несомненным преимуществом DocPad является, конечно же, очень подробная документация. Кроме того, на официальном сайте опубликованы так называемые «скелеты» — заготовки, на основе которых пользователи могут создавать собственные сайты.

Для DocPad написано множество разнообразных плагинов . Из наиболее интересных расширений отметим WYSIWYG-редакторы и веб-интерфейсы, облегчающие публикацию постов в статическом блоге.

На официальном сайте опубликованы скрипты, автоматизирующие деплой на различные площадки: Heroku, Appfog, Windows Azure, Docker, GitHub Pages и другие. Имеется и специализированный скрипт для деплоя в облачные хранилища — Amazon S3 и GoogleStorage.

Заключение

Результаты проделанного обзора можно резюмировать в виде следующей таблицы:

Генератор Язык Лицензия Установка Поддержка Расширения Деплой
MiddleMan
3.3.5
Ruby MIT Требуется последняя версия Ruby, RubyGems Имеется подробная документация, обновления выходят регулярно Много плагинов и расширений, регулярно появляются новые FTP, SFTP, rsync, Git, AWS, BitBalloon
Jekyll
2.3.0
Ruby MIT Требуется последняя версия Ruby, RubyGems, Rbenv Имеется подробная документация, обновления выходят регулярно Много плагинов и расширений Git, FTP. SFTP, rsync, Amazon S3, Heroku
Octopress
3.0
Ruby MIT Требуется последняя версия Ruby, RubyGems, Rbenv Имеется подробная документация, обновления выходят регулярно Много плагинов и расширений GitHub Pages, Heroku, FTP, SFTP, rsync
Hyde
0.8.8
Python MIT Устанавливается через pip Минимальная Плагинов очень мало GitHub Pages, Amazon S3, SFTP
Pelican
3.4
Python GNU GPL Устанавливается через pip Подробная документация, активно разрабатывается и поддерживается Большое количество плагинов для блоггинга FTP, SSH, Dropbox, Amazon S3, Rackspace Cloudfiles
Grow SDK
0.0.31
Python MIT Устанавливается через скрипт Подробная документация с видеороликами Плагинов нет. Имеются дополнительные темы и шаблоны Dropbox, Google Cloud Storage, Amazon S3 Dropbox, Google AppEngine
Nanoblogger
3.5
Bash GNU GPL Устанавливается через менеджер пакетов Разработка и поддержка приостановлены Мало расширений rsync, FTP
DocPad
6.69
CoffeeScript MIT Для установки нужны NodeJS и NPM Имеется подробная документация, обновления выходят регулярно Много различных расширений и плагинов Heroku, Appfog, Windows Azure, Docker, GitHub Pages

Все перечисленные генераторы интересны и уникальны, однако самым интересным проектом на сегодняшний день нам показался Grow SDK.

Для желающих углубиться в тему даем пару полезных ссылок:

Какой опыт использования генераторов статических сайтов есть у вас?

6 статистических генераторов сайтов на базе Node.js

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

В разделе систем управления контентом (CMSs) без свякого сомнения самым популярным является WordPress. Это надежная и твердая система с очень активным сообществом пользователей. Это позволяет людям без каких-либо технических навыков создавать любые веб-сайты, включая блоги. Среди статических генераторов сайтов, Jekyll и основанные на базе Jekyll системы были одобрены разработчиками, которые ищут легкое решение для создания блогов или информационных веб-сайтов. В этой статье мы дадим обзор 6 статических генераторов сайтов Node.js для любителей JavaScript.

Wintersmith

Wintersmith заявлен как «гибкий, минималистический, мульти-платформенный генератор сайтов, построенный на вершине Node.js.»

Конечно, «минималистический» здесь ключевое слово. Wintersmith не подойдет для новичков, но для разработчиков среднего и продвинутого уровня самое то. У Wintersmith минималистическим является не только подход.

Этот статистический генератор сайтов хранит API документы на сайте, но использует GitHub в качестве хостинга вики. Информация прямая, но редкая. Однако, достаточно активный тег StackOverflow и IRC канал (#wintersmith) говорят, что помощь близка.


Assemble

Assemble сильный инструмент, который интегрирует Grunt и Yeoman в свой рабочий поток. Assemble пытается «объединить дизайнеров и разработчиков на одной странице». Например, Assemble выходит вместе с Handlebars, одним из наиболее широко используемых и доступных для новичков шаблонных систем.

Несмотря на то, что Assemble действительно идет с системой плагина, в первую очередь, это «расширяет корневую функциональность Assemble» и не является необходимым для добавления фронтенд фреймворков, jQuery плагинов или других JavaScript библиотек, которые Вы хотели бы использовать.

Metalsmith

Metalsmith сразу же привлекает внимание не только благодаря своему красивому и минималистичному дизайну, но еще и следующей фразой: «Супер простой, встраиваемый статистический генератор сайтов» Первоначальная рекламная фраза продолжает пояснять, что “вся логика в Metalsmith обработана плагинами. Вы просто связываете их вместе”. Это делает Metalsmith самой универсальной из всех систем представленных здесь.

Но вместе с этим есть большая ответственность. Metalsmith создан для разработчиков среднего и высшего уровня, которые хотят быть иметь дело с достойным миксом гибкости и контролем над контентом. Их сайт предлагает несколько новых примеров того, с каким типом контента может Вам помочь этот генератор: проект scaffolder, генератор электронной книги, строительный инструмент или техническая документация. Metalsmith создан не только для блогов и простых веб-сайтов!

Hexo

Из всех упомянутых в этой статье представителей Node.js, Hexo является наиболее популярным на GitHub. Документация Hexo четкая, понятная и включает в себя блоки комментариев под каждой страницей. К тому же, на GitHub Вы сможете найти много минималистичных тем.

Hexo – по большей степени является потомком Ghost и уделяет внимание пользовательскому опыту и минимализму. Он также помогает работать быстрее на столько на сколько это возможно. Мы полагаем, что Hexo является наиболее удобной системой для новичков/дизайнеров для создания легких блогов.

Punch

Punch один из двух статистических генераторов на базе Node.js в этой статье, который заявляет, что он с легкостью подойдет как для дизайнеров так и для разработчиков. Установить Punch достаточно просто, но в начале работы он предоставляет Вам совсем немного по сравнению с белым листом бумаги. Доступна стартовая тема, а все остальное зависит от Вас.

В отличие от других подобных генераторов, Punch не предлагает особую систему плагинов. Он полагается на npm для установки альтернативных препроцессоров CSS, библиотек JavaScript, и так далее.

DocPad

Даже при поверхностном рассмотрении веб-сайта DocPad, ясно, что DocPad достаточно амбициозный проект. Если Вы ищете детальную иллюстрацию того, что устанавливает DocPad помимо Jekyll, Вам не придется далеко идти. В конце страницы введения DocPad Вы найдете таблицу сравнения, которая показывает, что может предложить каждая система. Конечно, эти критерии основаны на том, что DocPad считает необходимым для полнофункционального CMS.

Документация DocPad обширная и исчерпывающая; она сделана таковой, чтобы составлять несметное число функций, которые обеспечивают систему. Несмотря на это, сложно сказать, что DocPad подойдет для новичков. Отбрасывая такие термины, как абстракция, можно сказать, что есть возможность разобраться новичку или дизайнеру с минимальным или нулевым опытом кодирования.

Как и другие описанные в этой статье примеры программного обеспечения DocPad идет вместе со своей плагин системой, что упрощает включение системы шаблонов, препроцессора или включать библиотеки JavaScript, если это необходимо. Система плагинов обширна, и маловероятно, что Вы захотите использовать язык, другой язык, а не тот, что предлагает DocPad.

Но ведь есть Spider, новый compile-to-JavaScript язык, который выглядит весьма интересным. Возможно, Вы захотите использовать его в своем следующем любимом проекте. На этот случай, DocPad обеспечивает Вас инструкцией для расширения платформы, включая написание специальных плагинов и начало работы с проектными заготовками.

Вывод

Когда дело доходит до инструментов фронтенда, библиотек, и программного обеспечения в целом, никогда не будет недостачи вариантов. Вы ищете максимальный контроль? Или возможно plug-and-play? Каждый из упомянутых в этой статье статистических генераторов сайтов имеет что-то свое, что он мог бы предложить именно для Вашего проекта!

Генераторы статических сайтов или системы управления контентом

Разберём, что такое генераторы статических сайтов, чем они отличаются от уже ставших привычными систем управления контентом (CMS), а также то, какие плюсы и минусы имеют те и другие.

Генераторы статических сайтов явление сравнительно новое. Как известно, сайт можно писать по-разному. Можно сделать сайт что называется «на коленке», в текстовом редакторе, даже в блокноте. Можно использовать специальные программные средства. Очень часто в основе сайта лежит какая-то система управления контентом (CMS), которая упрощает рутинные действия. Например, на нашем сайте вы найдете статьи по таким CMS, как WordPress и MODX Revolution. Наконец, есть уже упомянутые генераторы статических сайтов.

Цукерберг рекомендует:  Знакомство с knockout.js

По своей сути генераторы статических сайтов относят нас к тому древнему способу написания кода сайта вручную в текстовом редакторе. Но это ещё не всё. Для начала отметим вот что: интернет-страницы бывают статическими и динамическими. Раньше ещё был популярен Flash, но теперь это уже история.

  • Статические интернет-страницы (статические сайты) — это HTML-страницы, находящиеся на веб-сервере, которые сервер показывает при обращении к ним. Каждый раз эти страницы будут показываться в неизменном виде. А если их нужно изменить, нужно редактировать непосредственно код страниц.
  • Динамические интернет-страницы (динамические сайты) — другой подход к отображению страниц, который заключается в том, что сайт (по факту, CMS) содержит своего рода инструкцию, по которой страницы генерируются каждый раз при обращении к ним. Например, показывается меню сайта, самые свежие статьи из базы данных, оформление, заданное соответствующей темой и т.д. Вся эта конструкция формируется каждый раз автоматически, не вынуждая администратора сайта править код при добавлении нового контента.

Статические сайты это прежде всего HTML.

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


Именно упрощение добавления контента и лежит в основе идеи генераторов статических сайтов. Ведь какие преимущества есть у статических сайтов?

  • Низкая по сравнению с динамическими сайтами нагрузка на веб-сервер. Ведь страница генерируется один раз, а дальше только показывается пользователю;
  • Независимость от баз данных и их возможных «падений». Во-первых, статические сайты могут вовсе обходиться без баз данных, представляя из себя лишь набор текстовых, графических и иных файлов. Во-вторых, даже использование базы данных и её «падение» не скажутся на работоспособности сайта, т.к. вся необходимая для отображения пользователю информация всё равно будет находиться в текстовых файлах. А база данных в таком случае только источник, откуда данные берутся в момент генерации;
  • Сравнительно большая безопасность в сравнении с CMS. Не будем утверждать, что статические сайты неуязвимы. Просто атакующие, как правило, настроены на массовый сегмент. Именно поэтому на компьютер с Windows мы в обязательном порядке ставим антивирус, а на компьютер с Linux нет. Здесь такая же логика. Если это Ваш самописный код, вероятность того, что кто-то будет терять время на его изучение мала. Если же это код какого-то используемого плагина, то и тут вероятность атаки ниже по причине пока что невысокой популярности генераторов статических сайтов. Злоумышленнику гораздо интереснее взламывать плагины для WordPress. Кстати, и DDoS против статических сайтов работает хуже, т.к. они создают меньшую нагрузку на сервер.

WordPress слывёт небезопасной CMS, но главную угрозу несут ошибки в плагинах.

Итак, функция генераторов статических сайтов — упростить генерацию и перегенерацию страниц, когда вы размещаете контент. Если рассудить здраво, то генераторы статических сайтов это тоже системы управления контентом, которые используют другой подход к созданию страниц сайта.

При всём при этом нельзя однозначно сказать, что за генераторами статических сайтов будущее. Да, у них много плюсов, но они не настолько зрелые системы, как классические CMS. Они не столь дружелюбны к пользователю, не имеют обилия плагинов. Всё это значит, что порог входа тут несколько выше. Возможно, если у Вас есть время, чтобы неспешно изучать web, генераторы статических сайтов Вам подойдут. Но, если нужно сделать сайт быстро и/или не хочется в дальнейшем вникать в премудрости сайтостроения, дружелюбные CMS вроде WordPress подойдут лучше.

Лучшие генераторы статических сайтов для React в 2020 году

До того, как CMS захватили интернет, на его просторах господствовали статические сайты, и казалось, что они остались в прошлом. Но сегодня статические сайты переживают реинкарнацию, причём довольно успешно, во многом благодаря генераторам и современным фреймворкам вроде React, Vue и Angular.

Используя мощь современных фреймворков и таких инструментов как Webpack и продвинутый CSS, генераторы статических сайтов (далее ГСС) позволяют создавать прекрасные сайты с уникальным контентом, без особых усилий.

Современным ГСС, которые работают с React, уделяют особое внимание в 2020 году, равно как и компонентам, которые используют с ними. Вместе они делают жизнь разработчиков и пользователей лучше.

Я собрал несколько лучших ГСС для React, которые помогут создать привлекательный и содержательный сайт. Надеюсь, этот список поможет вам сделать выбор и сохранить время.

1. Gatsby

Релиз Gatsby состоялся в 2015 году, и вероятно, это наиболее популярный ГСС для React в мире. Даже официальный сайт React создан с помощью Gatsby. Так почему же он так популярен?

Во-первых, он гармонично уживается в экосистеме React, в том числе с компонентами React, Webpack и CSS. Кроме того, Gatsby предлагает богатую систему плагинов, которая позволяет легко извлекать и использовать данные (через GraphQL) из сторонних сервисов и API, так что вы сможете поработать с реальными данными.

Gatsby легко внедрять, и если всё сделать правильно, то он будет работать очень быстро, почти с нулевой задержкой. В сети доступно множество шаблонов для быстрого старта. Gatsby работает в соответствии с рекомендациями PWA. Круто, да?

2. React static

Разработчики react-static, столкнувшись с подводными камнями в таких ГСС, как Gatsby и Next.js, решили создать что-то лучшее и более простое в разработке. Например, более простой и понятный поток данных, удобная организация шаблонов React и другое.

Static-react есть чем похвастаться, например: коротким сроком обучения (ненужно учить синтаксис, только React и JS), более простым процессом разработки, благодаря управлению всеми данными, запросами и назначением свойств из одного места, избегая проблем с динамическими данными и размещением данных.

Static-react, как и Gatsby или Next, поможет создать быстрый, SEO-оптимизированный и производительный сайт, соответствующий требованиям PWA. Хотя в настоящее время у него нет богатой экосистемы, как у Гэтсби, или резервного копирования, как в Zeit, React-static — это простой, понятный и менее замороченный способ выполнить работу.

3. Next.js

Это детище людей, которые стоят за проектом Zeit. Next.js это лёгкий фреймворк для статических и серверных React приложений. Вы можете использовать его как ГСС для React, наслаждаясь возможностями Next.js.

Фича next export позволяет запускать ваше Next.js приложение как статическое, без Node.js сервера. Таким образом, происходит пре-рендер в HTML, на основе привязанного ключа pathname к объекту страницы, который называется exportPathMap . По умолчанию next export не требует настройки, а генерирует стандартный exportPathMap, который содержит путь к странице, находящейся внутри директории pages . Это значит, что вы можете разрабатывать своё приложение пользуясь возможностями Next.js (автоматическое разделение кода и др.), после чего экспортировать его, практически не внося изменений, в качестве статического сайта.

Нужно отметить, что изоморфный подход Next.js не всегда полностью совместим с таким рабочим процессом. Экспорт в статический сайт имеет свои подводные камни, от «раздутых» пакетов до проблем маршрутизации. Но я бы всё равно назвал Next.js отличным выбором.

4. Cuttlebelle

Cuttlebelle менее известный, но очень классный ГСС для React. Его главная идея в том, чтобы отделить процесс редактирования от написания кода. Он позволяет использовать один макет на отдельных частях страницы, и чётко отделяет контент от кода. Вы можете расширить Cuttlebelle компонентами React, что открывает множество возможностей.

Фактически, вы можете сделать отдельный макет для каждой части страницы, а затем создать из этих макетов статическую страницу. Можно создавать шаблоны с помощью JSX, делать макеты, извлекать данные из сторонних API, тестировать с помощью Jest и внедрять, где угодно.

В развивающейся экосистеме компонентов, и благодаря таким библиотекам как React — возможности безграничны. Не бойтесь экспериментировать.


Static site generators (генераторы статических сайтов), обновление блога, «переезд» на Hexo

Как вы могли заметить, блог кардинально обновился — от дизайна до новых категорий. А это значит, что скоро здесь появится много новых интересных постов.

Ну а пока расскажу, что было сделано в процессе обновления блога.

Если кто раньше посещал мой блог, то наверное помнит как он выглядел:

По современным меркам — ужасно. Картину дополняли “кракозябры” под блоком “Новые заметки”. Наверное, тот факт, что мне самому мой блог не нравился, очень сильно отгонял от меня желание писать сюда посты. А на самом деле за всё то время, прошедшее с момента последнего поста (10 февраля 2014 года), можно было написать наверное постов 100 — уж очень много я всего нового узнал. Ну да ладно… Проехали. Теперь остаётся только нагонять упущенное.

Вернёмся к процессу обновления блога. Изначально мой блог работал под управлением CMS WordPress. Это длилось наверное год, а может и больше. Время шло, а посетителей всё не было. Пришлось приступить к анализу причин. В ходе такого анализа нашлось много факторов, отрицательно влиявших на мои позиции в поисковых системах. Как потом выяснилось — это было связанно с WordPress и от части с той темой оформления, что я выбрал для блога: куча дублей страниц, отсутствие семантической разметки. И тогда блог был перенесён на написанную на коленке CMS’ку. Вместе с тем был полностью перевёрстан, но сохранил внешний вид. Дела пошли в гору. Бывало по 100 человек в день, велись обсуждения в комментариях под постами… Но сейчас пришло время опять обновлять блог: по-моему мнению — это единственный вариант хоть как-то вернуться к былой посещаемости.

Первым делом предстояло выбрать технологии. Ну наверное ключевое решение, которое пришлось принять — это отказ от CMS и переход к статическому сайту (целиком и полностью состоящего из кучи HTML, CSS и JS файлов). Как результат:

  • Простота в управлении
  • Простота в обслуживании
  • Широкие возможности по размещению в Интернете
  • Безопасность (просто нечего взламывать)

Как известно, если говорят о статических сайтах (и тем более блогах), то подразумевают генераторы статических сайтов.

Генератором статических сайтов называется программный инструмент, превращающий текстовые записи (с разметкой или без) в статичные HTML-страницы.

– Цитата из поста в блоге компании Селектел на Habrahabr

Собственно это означает, что у вас есть шаблон (включающий в себя элементы дизайна сайта, т.е. шапку, футер и т.д., а также подключающий на страницу скрипты и стили) и есть посты в виде обычных файлов (в моём случае это файлы содержащие в себе текст, размеченный с помощью Markdown). И чтобы получить (сгенерировать) файлы вашего сайта нужно запустить генератор. Таких генераторов существует великое множество (Jekyll, Middleman, Hugo и т.д.). Но я как “адепт” Node.JS выбрал генератор под названием Hexo.

Как выглядел процесс создания новой версии блога:

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

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

Наверное лучшим вариантом будет захостить свой блог на Github Pages — быстро, просто, бесплатно! Но мой блог всегда жил на моём сервере и я решил ничего не менять. Собственно единственное, что мне пришлось сделать помимо доставки сгенерированных файлов на сервер, это — настроить веб-сервер. В моём случае это nginx. Конфиг примерно такой:

Почему статические сайты удобнее динамических?

Рассказываем о том, что такое статические сайты, чем они лучше динамических, как их делать и где хостить за 4 рубля в месяц.

Какие бывают сайты

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

Работу динамических сайтов обеспечивают CMS или движки — WordPress, Joomla, ModX, Битрикс и т. д. Их интерфейс обычно не сложнее, чем у текстового редактора — для публикации контента достаточно самых общих знаний html. Главный минус динамических сайтов — большие затраты системных ресурсов: при каждом обращении пользователя взаимодействуют веб-сервер, приложения для генерации страниц и база данных. Резкий рост количества посетителей или запросов означает, что скорость загрузки сайта падает. Кэширование частично снимает это неудобство, но его можно использовать не всегда и не везде. Потребление системных ресурсов открывает уязвимость для DDoS-атак — большое количество запросов выбивает их из эфира. В большинстве случаев движки — системы c открытым кодом, поэтому найти и использовать уязвимости может любой желающий. Наверняка вы уже слышали о том, как можно сломать комментарием WordPress, а через HTTP-заголовки на Joomla! можно получить доступ к базе данных сайта.

Пакет «MUSTHAVE-2020» для digital-агентств и веб-студий

RUWARD анонсировал главный коммерческий пакет MUSTHAVE-2020 для digital-агентств и веб-студий на весь 2020 год.

Цукерберг рекомендует:  Sublime text 3 - Нужна помощь с Sublime Text 3

В пакет включено сразу 7 различных крутых опций, сервисов и рекламных форматов в рейтингах Руварда на следующий год.

Статические сайты состоят из готовых страниц (HTML, JS, графика, шрифты), загруженных на сервер. Важные достоинства статических сайтов: скоростная загрузка страниц и повышенная устойчивость ко взлому. Кроме того, сайты из статических страниц без проблем выдерживают гораздо большую посещаемость, чем их динамические «коллеги».


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

Сайты-визитки, блоги, каталоги товаров, документацию к программным продуктам и техническим устройствам удобнее делать статическими. Для таких сайтов может потребоваться динамическая часть — комментарии, поиск, личный кабинет пользователя, создание страниц. Динамическую часть помогут реализовать сторонние инструменты или расширения к генераторам.

Обзор генераторов статических сайтов

Генератор — это программный инструмент, превращающий текстовые записи в статичные HTML-страницы. Вы создаёте контент в любом текстовом редакторе, генератор склеивает его с заранее подготовленным шаблоном, а затем отправляет на хостинг. Выбор генераторов исчисляется сотнями, если не тысячами, мы рассмотрим самые популярные.

  • MiddleMan отличается подробной документацией, написанной простым и понятным языком. Для MiddleMan написано немало расширений и плагинов, список которых постоянно обновляется. Поддерживается развертывание с помощью FTP, SFTP, rsync, git.
  • Hugo — простой и популярный генератор с высокой скоростью сборки сайтов. Для Hugo нет расширений и плагинов, но это компенсируется возможностями контентной модели: возможно задавать тип записей, группировать их в каталоги, выводить теги и метки. Форматирование контента происходит с помощью формата Markdown. Результат выгружается с помощью FTP.
  • Jekyll — дефолтный движок для статических сайтов на основе GitHub Pages; часто используется для ведения блогов. Jekyll поддерживает разметку Liquid, используя конструкции исключительно языка разметки, а не языка программирования. Опубликовано много расширений для блогов — добавление облака тегов, полнотекстовый поиск по блогу и даже специализированный плагин для научных и образовательных блогов. Поддерживает FTP, rsync и git.
  • Octopress — по сути, надстройка Jekyll c плагинами и шаблонами для более удобного ведения блогов. В качестве формата разметки постов по умолчанию используется Markdown, но можно использовать и обычный HTML. Octopress поддерживает переезд с других площадок: все записи из блога на WordPress переносятся с помощью 1 скрипта. Блог можно интегрировать с социальными сетями, есть плагины для вставки календарей, списка похожих постов, облака тегов и так далее. Работает с git, rsync, можно настроить деплой по FTP.
  • Hyde — полный аналог Jekyll, только написанный на другом языке — отсюда название, отсылающее к «Странной истории доктора Джекилла и мистера Хайда». По функционалу Hyde не отличается от MiddleMan и Jekyll. Проект находится в стадии активной разработки, поэтому документация представлена лаконично, а плагинов и расширений существуют мало. Поддерживается деплой с помощью FTP, rsync, git.
  • Pelican обладает широким набором функций: работа с черновиками, интеграция с социальными сетями, добавление изображений, конвертация HTML-страниц в PDF, поддержка многоязычности и многое другое. Хорошо подходит для ведения блогов: посты можно писать на Markdown, reStructuredText и Asciidoc. Устанавливается через pip, проект разворачивается по FTP или SSH.
  • В основу Grow лег принцип — «конфигурация, а не код». Для установки генератора нужно скачать скрипт с официального сайта — необходимые пакеты будут установлены в автоматическом режиме. Чтобы создать новый проект, нужно клонировать на локальную машину тему-репозиторий на GitHub. Тема включает набор файлов, которые описывают архитектуру сайта. Никакого программного кода при этом писать не нужно. Контент хранится в формате Markdown или HTML. Поддерживает FTP, rsync и git.
  • DocPad чаще всего используется для блогов, но реальные возможности его применения гораздо шире. DocPad можно использовать и как генератор, и как движок, и как шаблонизатор. Оснащен удобным API, а на официальном сайте опубликованы «скелеты» — заготовки, на основе которых пользователи могут создавать собственные сайты. Для DocPad написано большое количество плагинов и опубликованы скрипты, автоматизирующие деплой через FTP, rsync и git.


Хостинг статических сайтов

После создания сайта встает вопрос его размещения. Динамические сайты из-за требований к ресурсам размещаются на виртуальных или выделенных серверах. Для работы статического сайта нужно гораздо меньше системных ресурсов, поэтому в качестве площадки можно использовать любое виртуальное хранилище, которое позволяет раздавать контент пользователям. Возможности специализированных платформ для хранения статики примерно одинаковы, основное отличие — в стоимости хранения и раздаче контента. Облачное хранилище Selectel стоит от 4 рублей в месяц и, кстати, промосайт хранилища — чистая статика, размещенная в самом хранилище.

Имели дело со статическими сайтами? Расскажите в комментариях, какими вы пользовались генераторами и где размещали сайт.

6 причин не использовать генераторы статических сайтов

БлогNot. 8 причин, по которым статический сайт лучше динамического

8 причин, по которым статический сайт лучше динамического

Бред, который довольно часто приходится слышать — «статические сайты сегодня никому не нужны, они безнадёжно устарели, HTML скоро вообще не будет» и т.п. Компетентность авторов подобных высказываний обычно «высока» настолько, что они искренне думают, будто с появлением JQuery и других JS-фреймворков разметка страницы тегами уже не выполняется :)

Да, сделать бессмысленный и сложный для восприятия «винегрет» из блоков и картинок на статике, скорей всего, не получится. Не выйдет также дорвеев, линкопомоек, поискового спама, автообновляемых сателлитов, SEO-бомжатников и прочих «прелестей» современного инета, из-за которых крохи полезной информации тонут в гигабайтах дерьма.

А вот простой, логичный, быстрый и, главное, надёжный сайт сделать можно. Более того, статика зачастую оказывается самым коротким путём к решению вопроса. Разумеется, это не значит, что нужно писать обязательно в «Блокноте», пренебрегать стилями CSS или чураться яваскриптов. И полно ситуаций, когда даже чисто информационный ресурс нелепо или невозможно сделать на статике. Просто важно помнить, что HTML/XML — это хлеб, а все не-текстовые технологии — сахар, от избытка которого у сайта неизбежно кое-что слипнется. Разберём по пунктам утверждение из заголовка:

  1. Первое и главное — статический сайт всегда надёжнее базы. Для доступа к нему достаточно одного хорошего пароля — на FTP-соединение (а лучше на SFTP). С динамикой, как правило, не так. Как минимум, есть несколько «точек входа» да ещё и куча форм ввода, каждая из которых — потенциальная «дыра» для хакера.
  2. Сайт всегда есть у вас как сайт. Вы можете в любой момент получить его как совокупность файлов, не требующих никакого дополнительного программного обеспечения, кроме того же браузера. С MySQL и PHP сайта как такового у вас нет, есть только программа, база и «не влазящие» в базу медийные файлы, зачастую хранящиеся в трёх разных местах. Покажите мне хоть один статический сайт, который «сдох» из-за проблем с сервером MySQL. И хоть один динамический, который этого не сделал за достаточно долгую «жизнь» :)
  3. С этим связано третье преимущество — статический сайт всегда проще перенести. Что касается трудности модификации — при нормальном шаблоне и автозаменах она делается не намного сложнее, чем для динамического сайта на написанном не вами «движке». Вообще же, стоит продумывать структуру заранее, тогда и множественных модификаций не понадобится.
  4. Статический сайт при прочих равных условиях обычно грузится быстрее. Как вы понимаете, чудес в информационных технологиях не бывает и обратиться к готовому файлу в 20 Кб — это быстрее, чем сформировать 20 Кб сколь угодно оптимизированным кодом.
  5. Статический сайт всегда проще в навигации и не перегружен «блоками». Если всё делать вручную и продуманно, Вы неизбежно придёте к простым и красивым решениям. Да и физически невозможно в той же степени перегрузить сайт ссылками и контентом, в какой это сделает ваш Вордпресс. Морковка с любовно лелеемой грядочки даже при худшей почве будет всё равно вкуснее, чем у агрофирмы «Роснитрат».
  6. Статический сайт всегда лучше индексируется. Как бы не изощрялись создатели гуглояндексов, поисковики эти создавались для индексирования текста, расположенного в HTML (или XML) файлах. Со статическими адресами и простой теговой структурой. Динамика тоже индексируется, конечно, вот только индексируется она как «слепок со статики» и ссылка вроде http://forum.probablo.ru/index.php?topic=31174&page=18 чаще всего приведёт вас на страницу, где уже нет проиндексированного текста — лента-то при пополнении топика 31174 сдвинулась и страница 18 содержит совсем не то, что на ней нашёл 3 недели назад Яндекс.
  7. Седьмая причина — HTML5, новый стандарт разметки, в котором должно появиться всё то, чего не хватало обычному HTML4 — прежде всего, это стандартизованные теги для подключения медийных файлов и новые удобные элементы форм для работы с пользователем. Осталось только дождаться утверждения стандарта и повсеместной поддержки его браузерами.
  8. В качестве последнего аргумента, посмотрите на зарубежный опыт, как это модно делать последние 25 лет. Чаще всего домашняя страница зарубежного пользователя — это очень скромно оформленная, но информативная и полезная «статика», повествующая о вещах, в которых автор отлично разбирается. А для интерактива можно и готовую гостевую прикрутить, ведь это надёжнее и проще, чем писать самому или ставить «движок», в котором ни бельмеса не понимаешь. Как делают у нас — хм, вот мой текст 13-летней давности, технологии изменились, но сам подход отечественного «мастера» — нисколько :)

Увы, всё сказанное не означает, что я призываю вас делать статические сайты. Они были бы хороши для существ, вещающих только абсолютные истины и никогда не нуждающихся в исправлениях текста. А информацию на динамическом сайте обычно быстрее и удобнее исправить, и этот его единственный «плюс» перевешивает в наших глазах все «минусы».

04.06.2013, 17:31; рейтинг: 13093

Посоветуйте простой генератор статический сайтов

  • Поддержка тем
  • Подсветки синтаксиса(можно плагином)
  • html или md форматирование
  • Принцип: Закинул *.html/*.md в каталог с контентом, ввел something update и можно открывать index.html в браузере без всяких web серверов
  • Минимум js в интерфейсе
  • На чем написано в принципе не важно, желательно python3/lua/bash, ни в коем случае не js и компания.

Ты похоже вообще не в курсе что такое генератор статических сайтов или не понимаешь как работают сайты. Половина из того что ты перечислил и не должен уметь такой генератор впринципе.

Если не ошибаюсь gostatic (написан на Go) должен подойти. Только там мне конфиг не понравился, поэтому я запилил свою поделку на Rust, можешь на неё ещё посмотреть. Хотя gostatic гибче и фичастее будет.

И то и другое — простой бинарник. Создал конфиг, «закинул *.html/*.md в каталог с контентом», собрал и готово. Всё остальное сам решаешь как сделать. Подцветку через highlightjs можно организовать.

Впрочем, их полно на любой вкус — https://www.staticgen.com/

hugo — один бинарник на go

Jekyll — работает на гитхабе из коробки, даже хостить не надо.

lektor — на питоне, есть адмника.

Можно вообще без генерации обойтись. Вот, посмотри пример, как устроено внутри :)

(блин, кривой парсер ЛОРа сожрал)

Интересно конечно, но слишком просто. Мне надо что-то вроде микровики для заметок, тоесть нужна как минимум менюшка с деревом записей

Интересное решение — спасибо, полезно.

Кстати, там по ссылке freenom — пишет: «Your internet connection is too slow Your browsing activities are used for ads»

Это явно фейк и спам — просто пишет всем кто зашел.

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

Есть. Можно подключать и другие разметки.

Принцип: Закинул *.html/*.md в каталог с контентом, ввел something update и можно открывать index.html в браузере без всяких web серверов

Есть, конечно. Но это же неудобно. Встроенный сервер удобнее.

Вообще нет. Лишь тот, который ты сам туда напишешь. Ибо зачем генератору статики js?

На чем написано в принципе не важно, желательно python3/lua/bash, ни в коем случае не js и компания.

Ruby. rvm решает — можно одной командой накатить пакет в любую систему, независимо от того, что там натворили мейнтейнеры дистра.

Там была ссылка на ZeroNet-гейт zerogate.tk. Домен проэкспйрился. Я попробовал перехватить — пишет теперь «специальный домен, давайте $20/год». К вопросу о .tk-доменах, который я не так давно поднимал :) Зато анонимно.

Соответственно, нужно открывать или локальном ZeroNet, если он установлен. Или через какой-нибудь другой гейт. Сейчас поищу. Вот, например, так.

Надо взять за правило при публикациях «навечно» не пользоваться гейтами, а только ZeroNet-локалхостом :)

Интересно конечно, но слишком просто. Мне надо что-то вроде микровики для заметок, тоесть нужна как минимум менюшка с деревом записей

Тогда есть вариант в другую крайность, но весьма удобный :)

Страницы хранятся в Markdown в файловой структуре (и могут там правится вручную), а отдаются в динамике через сайт. В плюсах — клёвый редактор в админке, тонны плагинов, очень активное развитие.

Насчет rvm не знал, у debian вместо ruby говно мамонта и jekyll нормально не накатывался, попробую еще разок его.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих