Middlemanを使用して静的サイトを作成しようとしています。 git repo master
にはソースファイルがあります。静的ファイルは、.gitignore
にあるbuild
フォルダに生成されます。私はGithubページのために支店gh-pages
を持っています。 gh-pages
にbuild
フォルダの内容がmaster
であるように設定するにはどうすればよいですか。MiddlemanとGithubページ
ありがとうございました。
Middlemanを使用して静的サイトを作成しようとしています。 git repo master
にはソースファイルがあります。静的ファイルは、.gitignore
にあるbuild
フォルダに生成されます。私はGithubページのために支店gh-pages
を持っています。 gh-pages
にbuild
フォルダの内容がmaster
であるように設定するにはどうすればよいですか。MiddlemanとGithubページ
ありがとうございました。
はルックス:
私はこれを行うためのきれいな方法を見つけることができませんでした。これは私が使用してきたスクリプトです:
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
私はそれが仲介のために素晴らしい作品、Octopressusesと同じ技術を使用し始めました。
私は基本的に2つのgitリポジトリを使用します.1つはルートフォルダ内、もう1つはビルドフォルダ内です。ルートリポジトリはGitHubリモートのdevelop
ブランチにプッシュし、build
ディレクトリを除外します。 build
ディレクトリ内のリポジトリは、同じGitHubリモートのmaster
(またはgh-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
をもう一つの良い宝石があるmiddleman-deploy 。インストールしてすべてを構成したら、
$ middleman deploy
を実行するだけで、ビルドディレクトリはGitHubページにプッシュされます。設定でどのブランチにプッシュするかを指定することができます。私はまた、ジキルからGitHubページへの切り替えに関するブログ投稿hereを持っており、配備について少し話しています。
ありがとうございました。 –
これまでよりクリーンな方法をご存知ですか? – denis