Folders

Finsweet giới thiệu hệ thống Folders đi kèm với Client-First, giúp bạn quản lý hệ thống class của từng project với Folder.

Giới thiệu Folders

Folders là một công cụ dạng hệ thống ảo để giúp chúng ta nhóm các class cũng như quản lý những class này một cách trực quan nhất trong Webflow.

Chúng ta có thể tạo ra một hệ thống folder trực quan bên trong Webflow Designer bằng việc sử dụng một phương thức đặt tên class đơn giản. Bằng cách sử dụng kí tự gạch dưới, chúng ta có thể tạo một hệ thống folder ảo với Client-First.

Có 2 kiểu folders: Custom class foldersUtility class folders.

1. Custom class folders

Sử dụng kí tự gạch dưới để tạo folder cho các class trong một project. 

Finsweet Extension sẽ tự động tạo một hệ thống folder ảo bên trong giao diện Designer dựa trên phương thức đặt tên này.

Folders hoạt động như sau:

Custom class là một class được tạo cho một thành phần, một page, một nhóm các phần tử, hoặc một phần tử cụ thể. Ví dụ, một class để style phần team slider hoặc một class để style phần header được sử dụng xuyên suốt project.

Custom class sử dụng kí tự gạch dưới trong tên class.

Dưới đây là ví dụ về một project được quản lý bằng Folder. Class nav_primary_logo-wrapper đang được lựa chọn..

Trong ví dụ trên, folder đầu tiên là nav_.
Bên trong đó là folder primary_ .
Trong cùng là tên của phần tử được chọn là logo-wrapper.

Để tạo cấu trúc folder này, chúng ta cần đặt tên class là nav_primary_logo-wrapper.
Hệ thống folder với kí tự gạch dưới được dành riêng cho custom class.

2. Utility class folders

Utility class trong Client-First sẽ được tự động sắp xếp bên trong folder Utility

Folder cho Utility class folders hoạt động như sau:

Utility class là một class được tạo với một tổ hợp thuộc tính CSS cụ thể, sử dụng cho nhiều phần tử khác nhau trong project. Ví dụ, một class cho background-color hoặc một class cho font-size.

Utility class không sử dụng kí tự gạch dưới trong tên class.

Utility classes không tuân theo những quy tắc giống như custom class về hệ thống folder với kí tự gạch dưới.

Bất kì class nào không có kí tự gạch dưới đều thuộc vào folder “Utility".

Những class chỉ sử dụng kí tự gạch ngang đều là utility class.

Client-First Folders sẽ tự nhóm những class này vào một folder bằng việc kiểm tra các từ khoá. Dưới đây là ảnh project Client-First khởi điểm. Các classes được sắp xếp theo từ khoá chính.

Custom class folders

Folder với kí tự gạch dưới

Custom class folders được kí hiệu bằng kí tự gạch dưới trong tên class.

folder-one_element-name

Hãy hình dung folders trong Client-First như folders trên máy tính. Chúng ta đặt tên cho folder rồi cho các item vào trong. Kí tự gạch dưới sẽ phương pháp tạo ra folder cho các custom classes.

folder-one_folder-two_element-name

Trong project Webflow, chúng ta có thể sử dụng folder tương tự như khi sử dụng folder trên máy tính. Folders dùng để chứa các items, và folders có thể được lồng vào nhau.

Folders giúp chúng ta nhóm, tìm kiếm và truy cập các element trong project.

Một folder có thể sắp xếp:

  • Các nhóm nhỏ elements trên một page
  • Các phần nhỏ của một section
  • Section
  • Nhóm các sections
  • Page
  • Nhóm các pages
  • Các element được sử dụng lại
  • Các phần "mới" của website

Cách nhóm các elements

Cách nhóm các elements sẽ dựa theo yêu cầu của project. Khối lượng công việc, kích cỡ, và nhiều yếu tố khác sẽ ảnh hưởng cách sắp xếp cấu trúc folder cho project đó. Mỗi project đều khác nhau và nên được sắp xếp theo những cách riêng biệt.

Project này có bao nhiêu pages?
Design và layout của các page có khác biệt không?
Có elements nào được sử dụng lặp lại không?

Việc trả lời những câu hỏi trên có thể ảnh hưởng rất nhiều đến cách chúng ta tổ chức các folders trong project.

Các project đều là độc nhất, giống như những chiếc máy tính của chúng ta đều là độc nhất

Mỗi chiếc máy tính đều chứa rất nhiều files và nên được tổ chức dựa trên những file này. Một chiếc máy tính với 10,000 files sẽ có cách tổ chức các folder khác với chiếc máy có 100 files.

Trong project Client-First, số lượng folders cũng như cấp độ tổ chức nên tương quan với số items chúng ta cho vào đó.

Folders có thể nhóm lại để tăng khả năng linh hoạt khi sử dụng.

Với những website lớn, chúng ta có thể sẽ muốn một hệ thống được thiết lập kĩ lưỡng với nhiều folder lồng vào nhau. Với những website nhỏ, có thể chúng ta sẽ muốn một hệ thống đơn giản với những folder đơn lẻ.

Không có giới hạn nào về số lượng folder chúng ta có thể tạo dựa trên tên class. Chúng ta có thể tự do đặt ra quy tắc về cách tổ chức cho folders.

Nhóm các folders một cách có chủ đích

Bạn chỉ nên nhóm các folders nếu việc này có ý nghĩa cho project. Đừng nhóm chỉ vì chúng ta có thể làm vậy. Nhiều project có thể chỉ cần một tầng folder mà không cần nhóm các folder với nhau.

Việc nhóm mà không có mục đích sẽ khiến quản lý project trở nên khó khăn hơn.

Trong ví dụ về các file máy tính trên, việc có quá nhiều folders cho một lượng items nhỏ sẽ khiến điều hướng khó khăn hơn. Việc tìm kiếm trong những folder dạng này cũng khó hơn nếu việc lồng ghép là không cần thiết. 

Điều này cũng đúng với folders trong Client-First. Chúng ta muốn có khả năng tìm kiếm các element nhanh chóng, thay vì phải tìm qua nhiều lớp folders.

Khởi tạo folders

Một kí tự gạch dưới tương đương một folder

Bên dưới là một vài tên class cũng như cách những class này tạo ra folders. Chúng ta có thể thấy các folders "home-testimonials", "header", và "careers".

Tạo một folder

home-testimonials_wrapper
home-testimonials_headshot
home-testimonials_text-small
header-top_content
header-top_image
header-top_accent-left
careers_custom-padding
careers_title-animation
careers_scroll-trigger

Các folders được tạo

Tên folders sẽ được tạo ra dựa trên từ khoá ở phía trước kí tự _

Tạo một nested folder (folder con)

Chúng ta tạo một nested folder bằng việc thêm kí tự gạch dưới thứ hai.

Hai gạch dưới tương đương hai folders

Hãy tiếp tục với ví dụ phía trên. Chúng ta sẽ chuyển hết các class trên thành các nested folder. Mỗi class giờ sẽ có hai kí tự gạch dưới.

Ví dụ về phân cấp folder thứ hai

home_testimonials_wrapper
home_testimonials_headshot
home_testimonials_text-small
home_header-top_content
home_header-top_image
home_header-top_accent-left
home_careers_custom-padding
home_careers_title-animation
home_careers_scroll-trigger

Bằng việc sử dụng kí tự gạch dưới thứ hai, chúng ta đang lồng các folder vào nhau.

Các folder cho custom class có thể được đặt tên, lồng vào nhau, và tổ chức lại. Không có giới hạn cũng như lưu ý gì với việc tổ chức các folder.

Utility class folders

Utility classes được tạo bằng việc không sử dụng kí tự gạch dưới trong tên. Một utility class sẽ chỉ chứa kí tự gạch ngang.

firstkeyword-secondkeyword-identifier

Ví dụ utility classes

text-color-black
text-color-white
text-color-blue
text-size-small
text-size-medium
text-size-large
padding-top
padding-large
page-wrapper
page-padding

Khởi tạo utility folders

Một folder được tạo bằng việc kiểm tra các từ khoá trong tên class. Utility folder có thể tạo ra nhiều cấp độ của nested folders nhất có thể.

So sánh từ khoá bằng index

Từ index ở đây nghĩa là "Vị trí/ số thứ tự của từ khoá trong một chuỗi text".

Extension của Finsweet so sánh và nối các từ khoá bằng index (vị trí) và sắp xếp các class bên trong folder Utility. Chúng ta sẽ xem ví dụ bằng class text-color-black.

firstword-secondword-thirdword = text-color-black

Trong ví dụ trên,

  • text = firstword
  • color = secondword
  • black = thirdword

Chúng ta sẽ luôn tạo folder bằng firstword. Folder "text" sẽ luôn được tạo bất kể các class khác trong project được đặt tên thế nào.

Nếu có ít nhất một class cũng chứa "text" là firstword và "color" là secondword, folder "color" sẽ được tạo bên trong "text". 

Khi chúng ta có hai class cùng bắt đầu với text-color-, folder "color" sẽ được tạo.

Chúng ta có thể thêm vô số class bên trong folder color bằng việc sử dụng text-color- trong tên class.

Không có từ khoá trùng ở secondword

Nếu không có từ khoá nào trùng với secondword, class sẽ được giữ nguyên trong folder parent. Chúng ta sẽ tìm hiểu kỹ hơn qua ví dụ.

Nếu chúng ta có class text-indent-large và không class nào khác trong project bắt đầu bằng text-indent-, class này sẽ được thêm vào folder "text".

Một "indent" folder sẽ không được tạo vì chỉ có một class có "text" là firstword và "indent" ở secondword. Không có class "indent" nào khác.

Khi có thêm một class chứa từ khóa đó, ví dụ như, text-indent-small, một folder “indent” mới sẽ được tạo.

Không có từ khóa trùng với firstword

Như đã giải thích phía trên, “Chúng ta sẽ luôn tạo folder đầu tiên từ firstword”, bất kể tên các class khác trong project là gì.

Nếu một class chứa firstword đặc biệt, chưa được sử dụng ở bất kỳ đâu trong project, chúng ta sẽ tạo một folder với firstword đó, trong đó chỉ chứa duy nhất class kể trên.

Ví dụ, chúng ta có một class tên là filter-blur-extend. Nếu không có một class nào với firstword là “filter”, ta sẽ thấy folder “filter” với blur-extend là định danh cho tên class này.

Phát triển các utility folders

Project khởi đầu của Client-First đi kèm với một hệ thống folder được sắp xếp của utility classes. Chúng ta có thể thêm, bớt, hoặc chỉnh sửa những classes này tùy theo project.

Chúng tôi khuyên bạn nên bổ sung và lược bỏ bớt các folders con của folder Utility cho mỗi project Webflow.

Chúng ta có thể tạo hoặc loại bỏ nested folders với các từ khoá giống nhau. Khi có từ khoá giống nhau ở firstwordsecondword, các utility folders sẽ được tạo.

Ví dụ, một nhóm class quản lý thuộc tính style box-shadow:

shadow-box-large
shadow-box-medium
shadow-box-small
shadow-circle-large
shadow-circle-medium
shadow-circle-small
shadow-blur-x
shadow-blur-y

Với những class này, chúng ta tạo được folder shadow với ba nested folders bên trong — box, circle, và blur.

Cây quyết định Folders

Có rất nhiều quyết định chúng ta cần đưa ra khi tổ chức một project.

Một số quyết định có thể được đưa ra trước khi lập trình.

Rất nhiều quyết định sẽ được đưa ra trong quá trình thực hiện.

Đôi khi việc đưa ra những quyết định đặt tên Folder này rất tốn thời gian, đặc biệt là khi ta mới bắt đầu. Việc đưa ra những quyết định nhanh và hợp lý cần trải qua luyện tập.

Việc đưa ra những quyết định cho cách đặt tên folders sẽ dần được cải thiện cùng với kinh nghiệm sử dụng Client-First.

Tốc độ và độ chính xác sẽ được cải thiện khi bạn quen dần với tính năng Folders qua nhiều projects.

Trực quan hoá các quyết định

Chúng tôi đã tạo ra một Cây quyết định để giúp việc đưa ra những quyết định về tổ chức class trở nên nhanh chóng hơn.

Xem file PDF cây quyết định Folders. File này thể hiện hướng suy nghĩ khi đặt tên cho một folder.

Những câu hỏi được đặt ra trong cây quyết định:

Class này có tạo những style CSS cụ thể, có thể áp dụng cho bất kỳ element nào không? Ví dụ, text-size-large.

Sử dụng Utility Class folders, việc tối ưu nhất sẽ là mở rộng các utility classes đi kèm trong bản Client-First cloneable.

Ví dụ: page-, heading-, text-, icon-, etc.

Nếu bạn không tìm được một utility styling nào đó trong bản cloneable này, hãy tạo một utility folder mới.

Ví dụ: shadow-small, shadow-medium, shadow-large

Element này có được dành riêng cho một page nào không?

Sẽ là tối ưu nhất khi thêm tên page vào tên class đó luôn.

Ví dụ:

1. [page]-slider_pane
2. [page] _slider-pane
3. slider_ [page]-pane

Element này có thuộc một component cụ thể nào không? Ví dụ, một client slider.

Sẽ là tối ưu nhất khi sử dụng từ khoá cụ thể cho tên class.

Ví dụ:

1. slider-clients_pane
2. slider _clients-pane

Element này có thuộc vào một component tổng quát, có thể được sử dụng ở bất kỳ đâu trong project không? Ví dụ, một slider phục vụ nhiều trường hợp sử dụng.

Sẽ là tối ưu nhất khi đặt tên folder một cách tổng quát nhất.

Ví dụ:

1. slider_pane

Cải thiện Workflow

Folder rename (đổi tên nhiều class cùng lúc)

Đổi tên mọi class trong folder bằng một thao tác.

Ví dụ, nếu chúng ta đổi tên folder testimonials_ folder thành clients_, chúng ta sẽ đổi tên tất cả các class trong folder này ngay lập tức.

Đây là cách để tổ chức lại project ở bất kì thời điểm nào trong quá trình development. Chúng ta có thể đổi cách đặt tên của hàng trăm class chỉ trong vài phút.

Sử dụng Thư viện relume, chúng ta có thể copy các components được đặt tên theo template và sửa chúng lại cho phù hợp với mục đích sử dụng của ta.

Thông tin về ảnh hưởng của Class/Folder trên các page

Bạn có thể mở phần chi tiết để hiểu folder hoặc class này có ảnh hưởng gì trong toàn project.

Chúng ta sẽ xem được thông tin y hệt như khi xem từ Style Manager panel trong giao diện Webflow Designer.

Xem "Elements affected on this page (Những elements sử dụng class này trên page hiện tại)" và "Elements affected on other pages (Những elements sử dụng class này trên page nào khác)".

Chúng ta có thể thấy thông tin này ở tầng folder hoặc ở tầng của element cụ thể.

Tính năng này cho chúng ta đi sâu vào các folder và xem được cách chúng được sử dụng trong toàn project.

Copy tên class vào clipboard

Copy-vào-clipboard tên của bất kì class nào.

Chúng ta có thể copy bất kì phần nào của tên class tuỳ vào nơi chúng ta xem chi tiết class. 

Ví dụ, chúng ta có thể copy tên folder bằng việc truy cập thông tin class từ tầng folder.

Chúng ta có thể copy toàn bộ tên class bằng việc truy cập thông tin class từ bất kì tầng của element cụ thể.

Tiếp theo

Quy tắc sử dụng Folders

Bước tiếp theo cho Client-First Folders. Hãy cùng khám phá những cách dùng cũng như phương pháp sử dụng Folders.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Reset
HTML font size
px
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
px values
rem values
2px
=
0.125rem

Closest to Client-First values

2px
=
0.125rem

Neighboring values

2px
=
0.125rem