[英]Minify JavaScript during GitHub Pages build?
我通过 GitHub Pages 有一个基于 Jekyll-Bootstrap 的静态网站。 我的小网站包含很多 JavaScript,为了可维护性,我希望所有 JavaScript 在 GitHub 存储库中保持人类可读。
但是对于我网站的最终用户,我更愿意缩小 JavaScript。
有没有办法在 GitHub Pages 构建过程中构建一个钩子来缩小/丑化 JavaScript,以便最终用户可以下载更小的文件?
除了 安全模式下的Jekyll 和少量包含的插件之外,GitHub 页面构建服务不能有任何其他代码在其上运行。 这样做是为了安全。
您最好的选择是使用替代服务来构建您的站点并将结果推送回 GitHub。 该站点的源代码将驻留在 master 分支中,而编译后的源代码将位于 gh-pages 中。
适合这样做的服务是许多 CI 服务之一,例如 Travis CI。 这些通常用于在每次推送到存储库时运行软件测试套件,但可用于构建您的网站并将结果返回给您。
Jekyll 文档有一个在 Travis 上测试构建的指南。 没有提到推动输出。 您将需要 Travis conf 文件中after_success
派生类中的脚本。 来自我维护的站点的示例。
要验证您的推送,脚本需要访问您的 github 个人访问令牌。 你不能把它直接放在部署脚本中,因为它是一个秘密。 请参阅有关加密环境变量的 Travis 文档。
如果您使用 Github 生成站点并显示它,则没有选项可以执行此操作,因为 Github 对其将要处理的内容非常严格 - 出于安全考虑。
一种解决方法是在本地进行编译和处理,然后将结果输出推送到 gh-pages - 这很高兴简单地托管静态页面。
您仍然可以使用 github 来托管项目。 你只是不使用 Github 来编译它。
您的开发过程可能是:
我可能没有多大意义,但也许这个讨论可能会更有帮助: https : //gist.github.com/cobyism/4730490
玩得开心!
你可以尝试使用我自己的 minifier https://github.com/Mendeo/jekyll-minifier 。 它纯粹是写在液体上的,所以你不需要安装任何额外的 gems,它与 GitHub Pages 完全兼容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.