Развертывание пути не работает для Git Развертывание метода в middleman-deploy

Я использую middleman-blog и middleman-deploy.

То, что я хотел бы сделать, находится внутри ветки, к которой я развертываюсь, я хочу, чтобы статические файлы были развернуты во вложенную папку в репо (т.е. не в корневую папку).

Я попытался сделать это в своем config.rb:

activate :deploy do |deploy|
  deploy.build_before = true
  deploy.deploy_method = :git
  deploy.branch = 'gh-pages-2'
  deploy.remote = 'github'
  deploy.path = 'blog'
end

Но это не работает, оно все еще развертывается в корневом каталоге. Фактически, он даже не создает папку /blog, которую я ищу.

Когда я нахожусь в настройках конфигурации локально, это настройки, которые я вижу под :deploy:

:deploy
   :branch = "gh-pages"
   :build_before = true
   :clean = false
   :commit_message = nil
   :deploy_method = :git
   :flags = nil
   :host = nil
   :password = nil
   :path = "blog"
   :port = 22
   :remote = "github"
   :strategy = :force_push
   :user = nil

Это указывает мне, что атрибут path устанавливается правильно.

Я также пробовал сделать deploy.path = '/blog', и это все еще не работает.

Итак, как я могу заставить это развертывать в подпапку \blog\ в моем репозитории, а не в корневом каталоге?

Варианты различных драгоценных камней заключаются в следующем:

middleman (4.1.10)
middleman-blog (4.0.1)
middleman-cli (4.1.10)
middleman-deploy (2.0.0.pre.alpha)

Примечание. Я намеренно использую gh-pages-2, потому что я не хочу перезаписывать текущий gh-pages, не будучи уверенным, что он будет развернут в правильную подпапку.

Ответ 1

Я думаю, что самая простая вещь, которую вы могли бы сделать, это написать расширение с шагом после сборки: https://middlemanapp.com/advanced/custom-extensions/#after_build. Таким образом вы перемещаете файлы во время процесса сборки, а middleman-deploy просто может вытолкнуть всю папку сборки.

Ответ 2

Если корень вашего сайта также развернут на странице Github Pages, вы можете создать другое репо под названием blog и развернуть свой сайт посредника. Затем, включив GitHub Pages для репо в блоге, вы фактически развернете его на yoursite.com/blog.

Это не самое технологичное решение, которое вы ожидаете, но оно хорошо работает для меня.