Выходной путь посредника

РЕДАКТИРОВАТЬ для ясности:

Мне интересно, можно ли установить выходной путь для файлов в сборке Middleman. В организационных целях я хочу сгруппировать тип страницы в папку, чтобы она не находилась в основном исходном каталоге. Однако при сборке/сервере я бы хотел, чтобы он отображался по другому пути:

/source
    index.html
    /landingpages
        landingpage1.html
        landingpage2.html

У меня включен :directory_indexes в моем конфигурационном файле, и я хочу, чтобы файлы в landingpage выводились в корневой каталог:

/build
    index.html
    /landingpage1
        index.html
    /landingpage2
        index.html

Возможно ли как-то добиться этого с помощью файла config.rb и при этом правильно отображаться в карте сайта? Я бы предпочел не делать это с помощью .htaccess

Спасибо


person SkyOut    schedule 01.08.2013    source источник


Ответы (2)


Техника, которую я использовал в текущем проекте, основана на прокси-серверах и также должна решить ваш случай:

landingpage_templates = Dir['source/landingpages/*.html']

landingpage_templates.map! do |tpl_name|
  tpl_name = File.basename(tpl_name).gsub(/.html$/, '')
  proxy "/#{tpl_name}/index.html", "/landingpages/#{tpl_name}.html", :ignore => true
end
person Volker Rose    schedule 03.08.2013
comment
Это сработало отлично. Я просто взял часть :ignore, потому что хотел, чтобы они были проиндексированы. Огромное спасибо! - person SkyOut; 05.08.2013
comment
Пожалуйста. Рад, что это задокументировано где-то, например. здесь на ТАК :) - person Volker Rose; 05.08.2013

Вы должны быть в состоянии сделать что-то вроде этого:

page "/file1/index.html",  :proxy => "/somefolder/file1.html"
page "/file2/index.html",  :proxy => "/somefolder/file2.html"

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

/source
    index.html
    file1.html
    file2.html

В вашем config.rb

activate :directory_indexes
person jordelver    schedule 01.08.2013
comment
Это не сработало для отдельных файлов, и мне нужно перенаправить целые каталоги. - person SkyOut; 01.08.2013
comment
Вам нужно предоставить больше информации о том, чего вы пытаетесь достичь. Можете ли вы дать больше информации о вашей проблеме? - person jordelver; 02.08.2013
comment
Спасибо за разъяснение, но я думаю, что вы используете неправильный инструмент для работы. - person jordelver; 03.08.2013