GitHub Pages , GitHub'ın bu soruna resmi çözümüdür.
raw.githubusercontent
text/plain
dosya bir CSS veya JavaScript dosyası olsa bile tüm dosyaların MIME türünü kullanmasını sağlar . Bu nedenle https://raw.githubusercontent.com/‹user›/‹repo›/‹branch›/‹filepath›
, doğru MIME türü değil, bir düz metin dosyası olacak ve bu dosya ile bağlantı verilecek <link href="..."/>
veya <script src="..."></script>
çalışmayacak; CSS uygulanmayacak / JS çalışmaz.
GitHub Pages deponuzu özel bir URL'de barındırır, bu nedenle tek yapmanız gereken dosyalarınızı kontrol etmek ve göndermek. Çoğu durumda, GitHub Sayfalarının özel bir şubeye bağlanmanızı gerektirdiğini,gh-pages
.
Yeni sitenizde (genellikle https://‹user›.github.io/‹repo›
, gh-pages
şubeye taahhüt edilen her dosya (en son taahhüt) bu url'de bulunur. Böylece js dosyanızla bağlantı kurabilirsiniz <script src="https://‹user›.github.io/‹repo›/file.js"></script>
ve bu doğru MIME türü olacaktır.
Derleme dosyalarınız var mı?
Şahsen benim tavsiyem bu dalı paralel çalıştırmak master
. Açık gh-pages
şube, size düzenleyebilirsiniz .gitignore
dosyayı iade ederken, sitenize (örneğin herhangi minified varsa / derlenmiş dosyalar) için gereken tüm dist / yapı dosyaları göz ardı tutarak sizin üzerinde master
şube. Normal repodaki derleme dosyalarındaki değişiklikleri izlemek istemediğiniz için bu yararlıdır. Sadece birleştirme, barındırılan dosyaları güncelleştirmek istediğiniz her zaman master
içine gh-pages
, yeniden, taahhüt ve sonra itin.
(protip: bu adımlarla aynı işlemle birleştirebilir ve yeniden oluşturabilirsiniz :)
$ git checkout gh-pages
$ git merge --no-ff --no-commit master # prepare the merge but don’t commit it (as if there were a merge conflict)
$ npm run build # (or whatever your build process is)
$ git add . # stage the newly built files
$ git merge --continue # commit the merge
$ git push origin gh-pages