Mở rộng Sass

Bạn có thể mở rộng chức năng của SASS để cung cấp các loại tính năng và tùy chỉnh khác nhau cho người dùng. Để sử dụng các tính năng này, người dùng cần có kiến ​​thức về Ruby.

Xác định các chức năng SASS tùy chỉnh

Bạn có thể xác định các hàm SASS của riêng mình khi sử dụng API Ruby. Bạn có thể thêm các chức năng tùy chỉnh của mình bằng cách thêm chúng vào các phương thức Ruby như được hiển thị trong đoạn mã sau:

module Sass::Script::Functions
   def reverse(string)
      assert_type string, :String
      Sass::Script::Value::String.new(string.value.reverse)
   end
   declare :reverse, [:string]
end

Trong đoạn mã bạn có thể thấy, Hàm, khai báo, chỉ định tên đối số cho hàm. Nếu nó không thành công thì nó sẽ không chấp nhận bất kỳ đối số nào ngay cả khi hàm đang hoạt động và nó cũng nhận các đối số từ khóa tùy ý. Bạn có thể nhận các giá trị Ruby bằng cách sử dụng trình truy cập giá trị và truy cập các đối tượng màu bằng cách sử dụng rgb, đỏ, xanh lá cây hoặc xanh lam .

Cửa hàng bộ nhớ đệm

SASS lưu trữ bộ nhớ cache của các tài liệu đã được phân tích cú pháp, có thể được sử dụng lại mà không cần phân tích cú pháp lại. SASS sử dụng:cache_locationđể ghi các tệp bộ đệm trên hệ thống tệp. Nó giúp cho việc biên dịch các tệp SASS nhanh hơn và nếu bạn xóa các tệp đã lưu trong bộ nhớ cache, chúng sẽ được tạo lại khi bạn biên dịch lần sau. Bạn có thể xác định kho lưu trữ bộ nhớ cache của riêng mình bằng cách đặt:cache_storeLựa chọn. Thao tác này sẽ ghi các tệp bộ đệm trên hệ thống tệp hoặc chia sẻ tệp bộ đệm cho các quy trình hoặc máy ruby. SASS sử dụng thể hiện của lớp con của Sass :: CacheStores :: Base để lưu trữ và truy xuất kết quả bộ nhớ cache.

Nhà nhập khẩu tùy chỉnh

SASS sử dụng @import để nhập các tệp SCSS và SASS và chuyển các đường dẫn đến quy tắc @import để tìm mã đường dẫn thích hợp cho các đường dẫn được chỉ định. Người nhập SASS sử dụng hệ thống tệp để tải mã và được thêm vào tải bằng cách sử dụng cơ sở dữ liệu hoặc sơ đồ đặt tên tệp khác nhau.

Một trình nhập có thể tải một tệp duy nhất và có thể được đặt trong : mảng load_paths cùng với các đường dẫn của hệ thống tệp. Trong khi sử dụng @import , SASS tìm kiếm các đường dẫn đã tải, nhập đường dẫn cho trình nhập. Khi đường dẫn được tìm thấy, tệp đã nhập sẽ được sử dụng. Người dùng có thể kế thừa các nhà nhập khẩu từSass::Importers::Base.