10

Middlemanを使用して静的サイトを作成しようとしています。git リポジトリmasterにはソース ファイルがあります。buildにあるフォルダに静的ファイルが生成されます.gitignoregh-pagesGithub ページのブランチがあります。のフォルダのgh-pages内容が含まれるように設定するにはどうすればよいですか。buildmaster

ありがとう。

4

4 に答える 4

8

この宝石はエレガントなソリューションを提供するように見えます:

ミドルマン-gh-ページ

于 2013-01-17T03:03:13.457 に答える
6

私はOctopressが 使用するのと同じ手法を使い始めました。これは Middleman に最適です。

基本的に、ルート フォルダー内に 1 つ、ビルド フォルダー内に 1 つの 2 つの git リポジトリを使用します。ルート リポジトリdevelopは、GitHub リモートのブランチにプッシュし、buildディレクトリを除外します。ディレクトリ内のリポジトリは、同じ GitHub リモートの(または) ブランチにbuildプッシュされます。mastergh-pages

新しい静的ページのプッシュを自動化するために、次の Rakefile を使用します。

desc "deploy build directory to github pages"
task :deploy do
  puts "## Deploying branch to Github Pages "
  cp_r ".nojekyll", "build/.nojekyll"
  cd "build" do
    system "git add ."
    system "git add -u"
    puts "\n## Commiting: Site updated at #{Time.now.utc}"
    message = "Site updated at #{Time.now.utc}"
    system "git commit -m \"#{message}\""
    puts "\n## Pushing generated website"
    system "git push origin master"
    puts "\n## Github Pages deploy complete"
  end
end
于 2012-10-13T22:00:20.583 に答える
0

これを行うためのきれいな方法が見つかりませんでした。これは私が使用してきたスクリプトです:

bundle exec middleman build
mv build /tmp/

git checkout gh-pages
git rm -rf .
cp -r /tmp/build/* .
git add .
git commit -m "Update site"

rm -rf /tmp/build

git push
git checkout master
于 2012-08-14T06:38:24.243 に答える