Có cách nào để viết kịch bản kiểm tra CSS không? Tôi chỉ cần thông tin cấp tệp, chứ không phải các quy tắc riêng lẻ. Có vẻ như trang phải thực sự kết xuất để có được thông tin chính xác ... vì vậy có lẽ một cái gì đó như Selenium có thể giúp đỡ?Lập trình kiểm tra xem tệp CSS có được sử dụng
Tôi đã nhìn thấy rằng có những plugin trình duyệt để kiểm toán các file CSS (ví dụ này StackOverflow question, A List Apart article này), nhưng kết quả tự rà soát cho mỗi trang sẽ mất quá nhiều thời
nền
Qua năm, các tệp CSS khác nhau đã được nhập vào tiêu đề mẫu của ứng dụng web của chúng tôi. Đó là một nỗi đau lớn cố gắng để tạo kiểu cho một phần tử khi có các quy tắc chồng chéo từ nhiều khung công tác, plugin, v.v.
Là một phần của nỗ lực hợp nhất/chuẩn hóa, tôi muốn di chuyển các tham chiếu cũ ra khỏi mẫu trang web và vào tiêu đề trang riêng lẻ, vì vậy các quy tắc của CSS sẽ bị giới hạn ở nơi chúng được sử dụng/cần thiết.
Tôi đang nghĩ điều đơn giản nhất là thu thập dữ liệu trang web và theo dõi các bản định kiểu CSS nào được sử dụng ở đâu.
CẬP NHẬT
trận đấu quy tắc không chủ định có thể xảy ra, vì vậy tôi bắt đầu nghĩ rằng tôi không thể kịch bản này. Có lẽ chúng ta sẽ phải đi từng trang một. Ngay cả khi đó, kiểu dáng của một số trang có thể dựa vào giao điểm lạ của bảng định kiểu đối lập: -/
Ngoài ra, tôi vẫn hoài nghi về các trình kiểm tra CSS tĩnh này, đặc biệt là với tệp mẫu. Quy tắc ul > li.special
có thể không khớp với bất kỳ thứ gì cho đến thời gian chạy (các phần tử có thể được tạo phía máy chủ hoặc javascript)
Còn về [PurifyCSS] (https://github.com/purifycss/purifycss) thì sao? Có vẻ như nó có thể được sử dụng kết hợp với kịch bản web-scraper và/hoặc kịch bản hướng Selenium. – raina77ow
[grunt-uncss] (https://github.com/addyosmani/grunt-uncss) cũng có thể là một tùy chọn tùy thuộc vào chồng phát triển của bạn. – hungerstar
Vấn đề là PurifyCSS và uncss làm ngược lại những gì muốn ... Tôi chỉ cần xác định các bảng định kiểu chưa sử dụng (hoặc đã sử dụng) cho một trang nhất định, vì vậy chúng sẽ không hoạt động ra khỏi hộp –