2011-06-14 7 views
20

Github'da, otomatik olarak oluşturulmuş bazı HTML belgelerini içeren bir dizine sahip bir projem var. Bu belgeleri Github'un proje sayfaları tesislerinde kullanmak istiyorum.Github sayfaları proje belgelerinden nasıl oluşturulur?

Yani, nasıl create the project's gh-pages root branch için yönergeleri okudum. Bu etkili bir boş şube oluşturur.

Yardım isteğim, /docs yolundaki /docs yolundaki html dosyalarını yansıtma, böylece gh-pages dalının kökündedir. Bu yaklaşmanın en iyi yolu nedir?

+2

bakınız [my ilgili cevap] (http://stackoverflow.com/a/29616287/946850) ve alternatif için bir [writeup] (http://krlmlr.github.io/git-subbranch). – krlmlr

+0

Olası kopya [git şubesi: gh-sayfalar] (http://stackoverflow.com/questions/4750520/git-branch-gh-pages) –

+0

Hey @Martijn Pieters, Senden bir kez yazımı siliyorum Soru bir dupe olarak kapalı. Şimdiye kadar, bu değil. –

cevap

16

Ben Git submodules ile istediğini elde ettik.

Temelde detailed in this sake task ne kopyalanmış ama özetle:

  • geçici klasöre docs yolunu taşındı. Değişiklikleri kabul et.
  • düzenlendi yeni gh-pages şube içine geçici klasörden usual instructions
  • taşındı her şeyi gereğince temiz bir gh-pages dalı. Değişiklikleri kabul et. usta dalında
  • Geri, docs klasörde altmodülün olarak uzak gh-pages ekleyin.
  • Değişiklikleri gerçekleştirin. İşte bu kadar!
+6

Daha sonra 'docs' klasörüne 'cd' yapmalı ve her şeyi ayrı ayrı itmeli/itmeli mi yoksa root'dan tek bir komutla bunu yapmanın bir yolu var mı? –

+0

Her bir güncellemeyi bu yaklaşımla 'gh-pages' alt modülünüze çekmek zorunda mısınız? Pratikte iyi çalışır mı? – krlmlr

0

Bu dosyalar için o noktaya bağlantılar oluşturun. Bunları da yapabilmelisin. benim kendi soru ... cevaplama

1

Mhm, Dokümanlarımı zorlamak için bu iki Makefile hedefini yazmayı bitirdim. Ben sadece güncelleme dokümanı yapıyorum ve genelde işe yarıyor.

TMP_PATH="/tmp/some_path" 

## the dir containing HTML docs to push to gh-pages 
HTML_DIR="html" 

## arbitrary dirs created by the doc build system that should be removed 
TRASH=latex 

update-doc: doc 
     rm -rf ${TMP_PATH} && cp ${HTML_DIR} ${TMP_PATH} -R && rm -rf ${HTML_DIR} 
     git fetch 
     git checkout gh-pages 
     cp ${TMP_PATH}/* . -R 
     rm -rf ${TRASH} 
     git add . 
     git commit -m "Update documentation" 
     git push -u origin gh-pages 
     rm -rf ${TMP_PATH} 
     git checkout master 

# command to build documentation; can be customised but 
# remember to also change the HTML_DIR and TRASH variables 
doc: 
     doxygen docs/doxygen.conf 

.PHONY: doc update-doc 

Ben doxygen kullanmak ama ne olursa olsun diğer belgeler sistemine bu değişebilir.

Bu, uzaktaki gh-pages dalının var olduğunu ve açıklandığı gibi oluşturulduğunu varsayar. here.