Включение простого партиала HTML в посредника

Я использую посредника с пакетом middleman-slim для создания статического веб-сайта. Если у меня есть партиал в файле с именем _test.erb или _test.slim, я могу просто включить его в строку

== partial 'layouts/test'

Однако, если это обычный файл .html, это не сработает. Я искал вокруг с относительно небольшим успехом. Варианты, о которых я могу думать до сих пор, следующие:

  1. Переименуйте файлы в .erb, это будет работать, но я бы не хотел.
  2. Включите содержимое файла, используя IO.read (например, ==IO.read('source/layouts/_test.html')), что также некрасиво.

Есть ли способ зарегистрировать обработчик для простых файлов .html, чтобы упростить эту работу?


person Troy    schedule 16.07.2014    source источник


Ответы (1)


В настоящее время это открытая проблема с Middleman: https://github.com/middleman/middleman/issues/ 1206

Проверьте ссылку, чтобы получить актуальную информацию и несколько обходных путей.

Мой личный подход состоял бы в том, чтобы создать простой помощник для IO.read или sprockets.find_asset.

UPD: Томас Рейнольдс исправил это для вас! Дождитесь выхода Middleman 3.3.4 или используйте его с Github через Bundler:

gem 'middleman', :git => '[email protected]:middleman/middleman.git', :branch => 'v3-stable'
person Andrey Mikhaylov - lolmaus    schedule 18.07.2014
comment
Спасибо за ваш ответ! Честно говоря, я потерял надежду и написал собственное расширение для текущей ветки по умолчанию. Однако я не могу заставить работать версию Томаса - может быть, это только для файлов .svg? - person Troy; 19.07.2014
comment
НВМ; посмотрел код. Тем не менее, я не уверен, почему, но у меня не регистрируется механизм шаблонов, когда я предоставляю расширение для файла, а без расширения он вообще не находит его. - person Troy; 19.07.2014