GitHub Pages GitHub इस समस्या का आधिकारिक समाधान है।
raw.githubusercontent
सभी फ़ाइलें text/plain
MIME प्रकार का उपयोग करती हैं , भले ही वह फ़ाइल CSS या JavaScript फ़ाइल हो। तो https://raw.githubusercontent.com/‹user›/‹repo›/‹branch›/‹filepath›
सही MIME टाइप नहीं होगा, बल्कि एक प्लेटेक्स्ट फ़ाइल होगी, और इसके माध्यम से लिंक करना <link href="..."/>
या <script src="..."></script>
काम नहीं करेगा - CSS लागू नहीं होगा / JS नहीं चलेगा।
GitHub Pages एक विशेष URL पर आपके रेपो को होस्ट करता है, इसलिए आपको बस अपनी फाइलों में चेक-इन करना है और पुश करना है। ध्यान दें कि ज्यादातर मामलों में, GitHub पेज एक विशेष शाखा के लिए प्रतिबद्ध करने की आवश्यकता है, gh-pages
।
आपकी नई साइट पर, जो आमतौर पर https://‹user›.github.io/‹repo›
, gh-pages
शाखा के लिए प्रतिबद्ध प्रत्येक फ़ाइल (सबसे हाल की प्रतिबद्ध) इस url पर मौजूद है। तो फिर आप अपने js फ़ाइल के माध्यम से लिंक कर सकते हैं <script src="https://‹user›.github.io/‹repo›/file.js"></script>
, और यह सही MIME प्रकार होगा।
क्या आपके पास फाइल्स हैं?
व्यक्तिगत रूप से, मेरी सिफारिश इस शाखा को समानांतर चलाने की है master
। पर gh-pages
शाखा, आप अपने संपादित कर सकते हैं .gitignore
करने के लिए फ़ाइल में जाँच , सभी जिले / निर्माण फ़ाइलें आप अपनी साइट (जैसे अगर आप किसी भी न्यूनतम किया गया है / संकलित फ़ाइलें) के लिए की जरूरत है, जबकि उन्हें रखने पर ध्यान नहीं दिया अपने पर master
शाखा। यह उपयोगी है क्योंकि आप आमतौर पर अपने नियमित रेपो में फ़ाइलों के निर्माण में परिवर्तन को ट्रैक नहीं करना चाहते हैं। हर बार जब आप अपने होस्ट की गई फ़ाइलों को अद्यतन करने के लिए, बस विलय चाहते हैं master
में gh-pages
, पुनर्निर्माण, प्रतिबद्ध, और फिर धक्का।
(protip: आप इन चरणों के साथ एक ही प्रतिबद्ध में विलय और पुनर्निर्माण कर सकते हैं :)
$ 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