2012-08-04 8 views
8

Ich versuche, eine statische Website mit Middleman zu erstellen. Der Git Repo master hat die Quelldateien. Die statischen Dateien werden im Ordner build erstellt, der sich in .gitignore befindet. Ich habe einen Zweig gh-pages für Github-Seiten. Wie richte ich Dinge so ein, dass der gh-pages Inhalt des build Ordners von master enthält.Middleman und Github Seiten

Danke.

Antwort

0

Ich konnte keinen sauberen Weg finden, dies zu tun. Dies ist ein Skript, das ich verwendet haben:

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 
+0

kennst du seit damals einen saubereren Weg? – denis

6

begann ich habe die gleiche Technik wie Octopressuses verwenden, es funktioniert gut für Middleman.

Grundsätzlich verwende ich zwei git-Repositories, eines im Stammordner und eines im Build-Ordner. Das Stammrepository wird an den Zweig develop auf der GitHub-Remote gesendet und schließt das Verzeichnis build aus. Das Repository innerhalb des Verzeichnisses build wird an den Zweig master (oder gh-pages) derselben GitHub-Fernbedienung gesendet.

das Schieben der neuen statischen Seiten zu automatisieren, verwende ich die folgende 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 
2

Ein weiteres gutes Juwel ist middleman-deploy . Nachdem Sie es installiert und alles konfiguriert haben, können Sie einfach

$ middleman deploy 

ausführen und Ihr Build-Verzeichnis wird auf GitHub-Seiten verschoben. Sie können angeben, an welchen Zweig Sie in der Konfiguration drücken. Ich habe auch einen Blog-Beitrag here in Bezug auf den Wechsel von Jekyll zu GitHub-Seiten und es spricht ein wenig über die Bereitstellung.

+0

Sehr hilfreich danke. –