Предварительная обработка SCSS с HAML - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть приложение, которое имеет несколько категорий: помидор, апельсин, банан. Каждая категория имеет свой собственный цвет, сохраненный в базе данных: FF0000, FF6600, FFFF00. В приложении также есть сообщения, которые относятся к категории.

Я хочу, чтобы HAML и / или SASS генерировали классы из имен / цветов категорий, например:

.tomato header { background-color: #FF0000; }
.tomato aside  { background-color: lighten(#FF0000, 0.5); }

.orange header { background-color: #FF6600; }
.orange aside  { background-color: lighten(#FF6600, 0.5); }

.banana header { background-color: #FFFF00; }
.banana aside  { background-color: lighten(#FFFF00, 0.5); }

Как видите, я хочу зациклить таблицу categories и использовать перечисленные функции SASS здесь . Вот не рабочий пример / псевдокод:

- @categories.each |category|
  :sass
    .#{category.slug} header { background-color: ##{category.color}; }
    .#{category.slug} aside  { background-color: lighten(##{category.color}, 0.5); }

Какие-нибудь советы, как мне этого добиться?

Что нужно иметь в виду:

  • Мне не нужны встроенные (в постах) таблицы стилей
  • Я использую HAML и SASS (стиль SCSS)
  • Я запускаю Rails 3.1

1 Ответ

0 голосов
/ 23 сентября 2011

Используйте конвейер ресурсов Rails 3.1, чтобы сначала запустить ваш код как ERB, а затем как Sass (так, чтобы имя файла было чем-то вроде application.css.sass.erb) и сделать переменную доступной для ERB, которую вы могли бы перебирать и создать немного Sass. Будет ли это работать в вашей ситуации?

...