2009-09-13 39 views
5

Tôi muốn sử dụng chức năng Tidy (Ctrl + Shift + H) tích hợp của Textmate để thụt lề HTML của tôi mà không sửa đổi bất cứ điều gì 'trong mã. Tôi viết HTML khá gọn gàng, tôi chỉ cần Tidy để thụt lề mã của tôi với Soft-tabs.Định cấu hình và sử dụng HTML gọn gàng

Hiện tại, vi phạm nhiều thứ và định dạng cũng không hoàn hảo. Ai đó có thể vui lòng viết cấu hình Tidy cho tôi để thực hiện điều này:

1 - Chỉ thụt vào, không có gì khác.

2 - Tôi không cần một số thẻ nhất định để được đẩy trên dòng mới. Ví dụ: Tidy thực hiện điều này:

<li> 
    <a href="#">link</a> 
</li> 

Mã gốc (hoặc gì tôi cần):

<li><a href="#">link</a></li> 

..so nếu tôi có thể xác định trước thẻ nào được giữ inline, đó sẽ là tuyệt quá.

Về cơ bản, tôi muốn sao chép chức năng định dạng HTML của Dreamweaver với Tidy, nhưng hai điều được đề cập ở trên thực sự quan trọng.

Tôi nghĩ rằng đây là hiện tại của tôi cấu hình Tidy (mặc định?):

${TM_TIDY:-tidy}" -f /tmp/tm_tidy_errors -iq -utf8 \ 
     -wrap 0 --tab-size $TM_TAB_SIZE --indent-spaces $TM_TAB_SIZE \ 
    --indent yes \ 
     ${TM_XHTML:+-asxhtml --output-xhtml yes} \ 
     ${TM_SELECTED_TEXT:+--show-body-only yes} \ 
     --enclose-text yes \ 
     --doctype strict \ 
    --wrap-php no \ 
     --tidy-mark no` 

tôi đánh giá rất cao sự giúp đỡ nào. Cảm ơn!

Trả lời

1

Trong tệp cấu hình tiddy, đặt tùy chọn thụt lề thành không.

http://www.w3.org/People/Raggett/tidy/

+0

Tôi nên đặt thụt lề thành KHÔNG mặc dù tôi KHÔNG muốn thụt lề? – 3zzy

+0

@Nimbuz, vâng, đó là chính xác. "--indent yes" sẽ gây ra việc viết lại mà bạn đang cố gắng tránh. Hãy thử nó cho mình. –

6

Tidy không thực sự có ý nghĩa để thực hiện theo cách bạn muốn sử dụng. Nó không phải là một thư viện định dạng mã đích chung, nó là một công cụ dọn dẹp HTML. Từ the homepage:

Một số người đã hỏi nếu Tidy có thể giữ nguyên bố cục ban đầu. Tôi xin lỗi để nói rằng điều này sẽ là rất khó để hỗ trợ do cách thức Tidy được triển khai. Tidy bắt đầu bằng cách xây dựng một cây phân tích sạch từ tệp nguồn . Cây phân tích cú pháp không chứa bất kỳ thông tin nào về bố cục gốc .

Tôi thực sự không nghĩ có cách tốt để làm điều bạn muốn, nhưng bạn có thể chơi với số whole list of options và xem cái nào gần với lý tưởng của bạn hơn.

+0

Cảm ơn thông tin, nhưng tôi đã thử sử dụng các thẻ nội tuyến, chúng không bao giờ hoạt động như mong đợi. – 3zzy

-3

Đã tìm ra các thẻ nội tuyến, hoạt động ngay bây giờ!

+1

Điều này không giúp những người cũng có cùng một vấn đề. Hãy nhớ để xây dựng trên các giải pháp bạn tìm thấy. –

-1

vì vậy, Nimbuz, bạn cũng đã đề cập "Hiện tại nó phá vỡ rất nhiều thứ" - nghĩa là nó giới thiệu ngắt dòng hoặc tạo HTML không hiển thị đúng cách? Bởi vì sau này đang xảy ra với tôi khá nặng, và nếu bạn đã nhận được rằng để làm việc với một cấu hình đặc biệt, tôi rất muốn nhìn thấy nó (cố gắng làm điều tương tự bạn muốn ... chỉ cần định dạng). cảm ơn!

0

Thay đổi --indent yes thành --indent auto phù hợp với tôi. Nó không cấu hình nhưng dường như xử lý tốt nhất mọi trường hợp.

2

Hãy thử Khá khác.Nó sẽ làm đẹp mã của bạn mà không đưa ra bất kỳ giả định nào về mã của bạn. Bạn có thể gửi các đoạn mã không đầy đủ nhỏ và Pretty Diff sẽ xuất ra đoạn nhỏ này với thụt đầu dòng.

http://prettydiff.com/?m=beautify&html

1

Tôi hy vọng điều này có ích cho những người vấp ngã trên trang này:

Nếu bạn chọn văn bản mà bạn muốn định dạng (aka reindent), TextMate sẽ áp dụng hành động cụ thể duy nhất lựa chọn đó. Vì vậy, nếu bạn CMD + Một tài liệu của bạn và sau đó áp dụng Tidy (hoặc từ Gói> Menu HTML hoặc qua các nhân CTRL + SHIFT + H shortcut) nó sẽ thụt việc lựa chọn, bỏ qua cảnh báo trên xác thực xảy ra khi bạn thực thi Tidy không có lựa chọn nào. Những cảnh báo này đôi khi có thể không cần thiết vì chúng tôi thường làm việc trên các đoạn mã trang (ít nhất là tôi làm).

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