我有一個通過GitHub Pages建立在Jekyll-Bootstrap上的靜態網站。我的小網站包含大量的JavaScript,爲了可維護性,我希望所有的JavaScript在GitHub倉庫中保持人性化的可讀性。在GitHub頁面構建過程中縮小JavaScript?
但是對於我的網站的最終用戶,我寧願縮小JavaScript。
有沒有辦法在GitHub Pages構建過程中構建鉤子以縮小/ uglify JavaScript,以便最終用戶可以下載更小的文件?
我有一個通過GitHub Pages建立在Jekyll-Bootstrap上的靜態網站。我的小網站包含大量的JavaScript,爲了可維護性,我希望所有的JavaScript在GitHub倉庫中保持人性化的可讀性。在GitHub頁面構建過程中縮小JavaScript?
但是對於我的網站的最終用戶,我寧願縮小JavaScript。
有沒有辦法在GitHub Pages構建過程中構建鉤子以縮小/ uglify JavaScript,以便最終用戶可以下載更小的文件?
GitHub的頁面構建服務除了Jekyll在safe mode和small number of included plugins之外不能有任何其他代碼在其上運行。這是爲了安全。
您最好的選擇是使用替代服務來構建您的網站,並將結果返回給GitHub。該網站的源代碼將駐留在主分支中,並且編譯後的源代碼位於gh頁面中。
這樣做的合適服務將是許多CI服務之一,如Travis CI。這些通常用於在每次推送回購時運行軟件測試套件,但可用於構建您的網站並將結果推回給您。
Jekyll文檔有a guide用於在Travis上測試版本。沒有提到輸出。您需要在Travis conf文件中的after_success
衍生產品中使用腳本。 An example from a site I maintain。
要驗證您的推送腳本將需要訪問您的github個人訪問令牌。你不能直接將它放在部署腳本中,因爲它是一個祕密。請參閱encrypting environment variables上的Travis文檔。
好吧,對我的網站來說這是一個比我期待的更重要的更改。所以我會試試Travis和Grunt,看看會發生什麼。感謝您的觀點。 – theJollySin
如果您使用Github來生成網站並顯示它,則無法執行此操作,因爲Github嚴格瞭解它將處理的內容 - 以確保安全。
解決方法是在本地進行編譯和處理,然後將結果輸出推送到gh頁面 - 很高興簡單地託管靜態頁面。
您仍然可以使用github來託管該項目。你只是不使用Github來編譯它。
你的開發過程可能是:
我可能賺不了多少感覺,但也許這個討論也許幫助更多:https://gist.github.com/cobyism/4730490
玩得開心!
你有沒有探索某種方式來做到這一點?你有一個github回購網址? –
@DavidJacquel我的GitHub頁面回購:https://github.com/theJollySin/thejollysin.github.io我探索了一些方法來做到這一點?是的,但我還沒有找到任何方法將構建鉤子放入GitHub Pages構建過程中,因爲這對我來說是一個看不見的過程。但我拒絕相信沒有辦法添加構建鉤子,即使是靜態網站。 – theJollySin