2012-08-04 15 views
8

Sto provando a creare un sito statico utilizzando Middleman. Il git repo master ha i file sorgente. I file statici vengono generati nella cartella build che si trova in .gitignore. Ho un ramo gh-pages per le pagine Github. Come faccio a impostare le cose in modo che gh-pages contenga il contenuto della cartella build di master.Middleman e pagine Github

Grazie.

risposta

0

Non sono riuscito a trovare un modo pulito per farlo. Questo è uno script che ho usato:

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

conosci un modo più pulito da allora? – denis

6

ho iniziato ad usare la stessa tecnica Octopressuses, funziona benissimo per Middleman.

Fondamentalmente uso due repository git, uno all'interno della cartella root e uno all'interno della cartella build. Il repository root passa al ramo develop sul telecomando GitHub ed esclude la directory build. Il repository all'interno della directory build passa al ramo master (o gh-pages) dello stesso telecomando GitHub.

per automatizzare la spinta delle nuove pagine statiche, io uso il seguente 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

Un altro buon gioiello è middleman-deploy . Dopo averlo installato e configurato tutto, è possibile eseguire semplicemente

$ middleman deploy 

e la directory di compilazione verrà inviata alle pagine di GitHub. È possibile specificare quale ramo si spinge nella configurazione. Ho anche un post sul blog here riguardante il passaggio da pagine Jekyll a GitHub e parla un po 'di implementazione.

+0

Molto utile grazie. –