Можно ли импортировать файл HAML в другой файл HAML?

#haml

Вопрос:

У меня есть несколько haml файлов, многие из которых имеют одну и ту же переменную, объявленную/установленную. Я хотел бы иметь возможность изменять значение этой переменной в одном месте. Я хотел бы иметь один haml файл, в котором я объявляю и устанавливаю все переменные, а затем иметь N haml файлов, которые импортируют файл с общими переменными, чтобы фактически использовать значения. Я не использую никакой фреймворк и не хочу преобразовывать приложение для использования другого фреймворка. Можно ли импортировать haml файлы в другие haml файлы, как я пытаюсь сделать, без дополнительных фреймворков?

Команда установки Gem:

 sudo gem install haml
 

Команда сборки терминала:

 haml index.haml index.html
 

Структура Целей:

общие переменные.haml

 - country = "United States"
 

индекс.хамл

 import shared-variables.haml # does not work - just illustrating what I'd like to do
!!!
%html{
    lang: "en"
}
    %head
        %title #{country}
 

Ответ №1:

Я смог найти решение, которое работает, но мне все еще интересно узнать, есть ли какие-либо лучшие практики. Вот решение, которое я придумал:

  1. Создайте рубиновый файл с общими переменными
  2. Создайте модуль общедоступных ДАННЫХ
  3. Определите переменные, которые я хочу, в модуле ДАННЫХ
  4. В шаблоне haml импортируйте файл ruby
  5. Обратитесь к модулю ДАННЫХ в файле haml, чтобы получить значения переменных

общие переменные.rb

 module DATA
    COUNTRY = "2021-09-11"
end
 

индекс.хамл

 :ruby
    require_relative "shared-variables"

!!!
%html
    %head
        %title #{DATA::COUNTRY}