StaticMatic: Статические сайты на Ruby

После программирования на Ruby on Rails быстро привыкаешь к этой платформе, и многим ее вкусностям. В частности, к часто используемым языкам разметки Haml и Sass.
Но иногда наступают моменты, когда надо сделать статический сайт из нескольких страничек, за которым нету никакой базы данных, да и серверной логики вообще.
Не хочется возвращаться к старым html и css. Но при этом и делать это на ROR неразумно.

Для таких случаев был создан фреймворк staticmatic, позволяющий на основе Haml+Sass+вкусностей на Ruby сгенерировать набор статичных веб-страниц, которые можно разместить на любом хостинге, без поддержки Ruby вообще.

Итак, как использовать staticmatic:

Установка

Для начала, его надо установить, например из гемов:
sudo gem install staticmatic

Создание сайта

Для того, чтобы создать новый сайт, необходимо вызвать в какой-то директории:
staticmatic setup my_site
В результате вызова будет создана следующая структура:
my_site/
  site/
    images/
    stylesheets/
    javascripts/
  src/
    pages/
      index.haml
    layouts/
      application.haml
    stylesheets/
      application.sass
    helpers/
    partials/
В директории site размещаются сгенерированные статические страницы, а также изображения, скрипты и прочие негенерируемые данные. В src находится исходный код сайта:
  • pages - страницы сайта, описанные с помощью языка разметки Haml.
  • layouts - лайоуты сайта, позволяющие оборачивать страницы. Для тех, кто не знаком с ROR: в лайоуте описывается код общий для нескольких страниц, например, заголовк сайта, навигационная панель и футер.
  • stylesheets - таблицы стилей, описанные с использованием Sass.
  • helpers - вспомогательные модули, описываемые на Ruby.
  • partials - участки, переиспользуемые на различных страницах.
Среди вкусностей: возможность использовать в разметке результат выполнения вспомогательных функций, встроенных, или определенных пользователем. Простейшие встроенные вспомогательные функции:
  • img - тэг изображения, параметр - расположение изображения
  • link - формирование ссылки, первый параметр - текст ссылки, второй - адрес
  • current_page - адрес текущей страницы
  • partial - вставить участок страницы, имя которого задано в параметре
Для просмотра сайта в процессе разработки, необходимо вызвать (из директории на уровень выше проекта):
staticmatic preview my_site
В результате на 3000 порту будет поднят сервер, который позволит просмотреть результат работы. Когда работа закончена, его необходимо собрать. Для сборки сайта в директории site, необходимо вызвать (из директории на уровень выше проекта):
staticmatic build my_site
В результате, в директории site будет сгенерирован набор статических страниц сайта.

Ссылки

 Подписаться на RSS

 #  #  #  #  #  #  #  #  #  #

Добавить комментарий