2016-11-18 15 views
5

Tôi có một trang web tĩnh thông qua Trang GitHub, được xây dựng trên Jekyll-Bootstrap. Trang web nhỏ của tôi bao gồm rất nhiều JavaScript và để duy trì khả năng bảo trì, tôi muốn tất cả JavaScript đều có thể đọc được trong repo GitHub.Giảm bớt JavaScript trong khi xây dựng trang GitHub?

Nhưng đối với người dùng cuối trang web của tôi, tôi muốn giảm thiểu JavaScript.

Có cách nào để xây dựng một móc vào quy trình xây dựng Trang GitHub để rút gọn/làm mờ JavaScript, để người dùng cuối có thể tải xuống các tệp nhỏ hơn không?

+0

Bạn đã khám phá một số cách để làm điều này? Bạn có một url repo github? –

+0

@DavidJacquel My GitHub Pages repo: https://github.com/theJollySin/thejollysin.github.io Tôi đã khám phá một số cách để làm điều này? Có, nhưng tôi đã không tìm thấy bất kỳ cách nào để đặt một móc xây dựng vào quá trình xây dựng trang GitHub, bởi vì nó là một quá trình vô hình với tôi. Nhưng tôi từ chối tin rằng không có cách nào để thêm một móc xây dựng, ngay cả đối với một trang web tĩnh. – theJollySin

Trả lời

7

Dịch vụ tạo trang GitHub không thể có bất kỳ mã nào khác chạy trên nó ngoài Jekyll ở safe modesmall number of included plugins. Điều này được thực hiện để bảo mật.

Tùy chọn tốt nhất của bạn là sử dụng dịch vụ thay thế để xây dựng trang web của bạn và đẩy kết quả trở lại GitHub. Nguồn cho trang web sẽ nằm trong nhánh chính và nguồn được biên dịch trong các trang gh.

Một dịch vụ phù hợp để làm như vậy sẽ là một trong nhiều dịch vụ CI, chẳng hạn như Travis CI. Chúng thường được sử dụng để chạy các bộ kiểm thử phần mềm trên mỗi lần đẩy đến một repo, nhưng có thể được sử dụng để xây dựng trang web của bạn và đẩy kết quả lại cho bạn.

docs

Các Jekyll có a guide để thử nghiệm được xây dựng trên Travis. Đẩy đầu ra không được đề cập. Bạn sẽ cần một tập lệnh trong số after_success dẫn xuất trong tệp conf Travis. An example from a site I maintain.

Để xác thực việc đẩy tập lệnh của bạn sẽ cần quyền truy cập vào mã thông báo truy cập cá nhân github của bạn. Bạn không thể chỉ đặt thẳng vào kịch bản triển khai vì nó là một bí mật. Xem tài liệu Travis trên encrypting environment variables.

+0

OK, đây là một thay đổi nghiêm trọng hơn một chút đối với trang web của tôi so với mong đợi của tôi. Vì vậy, tôi sẽ thử Travis và Grunt và xem điều gì xảy ra. Cảm ơn quan điểm. – theJollySin

2

Nếu bạn đang sử dụng Github để tạo trang web và hiển thị nó, không có tùy chọn để làm điều này vì Github là nghiêm ngặt về những gì nó sẽ xử lý - để bảo mật.

Cách khắc phục là thực hiện việc biên dịch và xử lý cục bộ, sau đó đẩy kết quả đầu ra tới trang gh - thật vui khi chỉ lưu trữ các trang tĩnh.

Bạn vẫn có thể sử dụng github để lưu trữ dự án. Bạn chỉ cần không sử dụng Github để biên dịch nó.

quá trình dev của bạn có thể là:

  1. Kiểm tra bạn tổng thể và phù hợp với địa phương.
  2. Thực hiện công việc của bạn ở chế độ nhà phát triển.
  3. Xây dựng trong quá trình sản xuất.
  4. Sử dụng chương trình grunt hoặc chương trình khác để giảm thiểu/uglify/etc các tệp sản xuất _site - xuất ra một thư mục phân phối (phân phối) riêng biệt.
  5. Đẩy nội dung của thư mục dist vào các trang gh của bạn.
  6. Cam kết các thay đổi đối với các tệp dự án về chủ.

Tôi có lẽ không làm cho nhiều ý nghĩa, nhưng có lẽ cuộc thảo luận này có thể giúp đỡ nhiều hơn nữa: https://gist.github.com/cobyism/4730490

Hãy vui vẻ!

Các vấn đề liên quan