Có bất kỳ trình chỉnh sửa hoặc gói nào có sẵn cho MacOS X hỗ trợ định dạng tài liệu HTML5 không? Xóa các lỗi trên các thẻ mới hơn như canvas.Định dạng HTML5 trên MacOS X? (tốt nhất là với TextMate)
Trả lời
This question nói về cách làm cho Tidy hoạt động với HTML5; tinh chỉnh dòng lệnh của gói TextMate để sử dụng các tham số này sẽ hoạt động.
Không phải về các gói văn bản, nhưng làm thế nào về coda từ hoảng loạn? www.panic.com/coda
+1: Tôi cũng định đề xuất điều đó. ;) – Alerty
Textmate có một bó mà sẽ xác nhận đối với các validator của W3C - http://validator.w3.org/
Nhưng còn định dạng thì sao? –
tôi phải nói rằng tôi không quen thuộc với bó TextMate bởi vì tôi không cá nhân sử dụng trình soạn thảo. Không ít hơn, tôi phát hiện ra rằng họ có một public subversion server nơi họ giữ các gói khác nhau. Tìm kiếm nhanh không tiết lộ bất kỳ gói HTML5 nào. Bạn có thể tìm thêm thông tin về các gói trên website của chúng.
Nếu bạn muốn một cách tạo hộp nội dung web trong HTML5, hãy xem Aloha Editor.
Máy chủ lật đổ chính thức chỉ giữ một tập con của các gói có sẵn trong vũ trụ TextMate. Những ngày này GitHub là nơi gói mới bật lên. Sử dụng gói GetBundles (lưu ý "s") tìm thấy một số gói HTML5 có sẵn. – cczona
bó html5 John Muhl của - https://github.com/johnmuhl/html5.tmbundle
Tôi cố gắng thêm một HTML5 Tidy để TextMate bằng cách sử dụng các thông tin tìm thấy trong this question. Tidy dường như không chấp nhận chuỗi tùy chỉnh dưới dạng DocType, vì vậy tôi đã sử dụng macro TextMate để chèn một chuỗi hợp lệ. Có lẽ là một cách thanh lịch hơn để làm điều này, nhưng nó được hoàn thành công việc!
Để bắt đầu, chúng ta cần tạo một lệnh TextMate cho Tidy phát đẹp với HTML5. Truy cập "Trình chỉnh sửa nhóm" từ trình đơn Gói và tạo một lệnh mới có chứa các mục sau:
#!/usr/bin/env ruby -wKU
require ENV['TM_SUPPORT_PATH'] + '/lib/ui.rb'
require ENV['TM_SUPPORT_PATH'] + '/lib/exit_codes.rb'
result = `"${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 omit \
--new-blocklevel-tags article,header,footer \
--new-inline-tags video,audio,canvas,ruby,rt,rp \
--break-before-br yes --vertical-space yes \
--wrap-php no \
--tidy-mark no`
status = $?.exitstatus
at_exit { File.unlink('/tmp/tm_tidy_errors') } # Clean up error log
if status == 2 # Errors
msg = "Errors: " + File.read('/tmp/tm_tidy_errors')
TextMate.exit_show_tool_tip msg
elsif status == 1 # Warnings - use output but also display notification with warnings
log = File.read('/tmp/tm_tidy_errors').to_a.select do |line|
! (ENV['TM_SELECTED_TEXT'] and (line.include?('Warning: missing <!DOCTYPE> declaration') or line.include?("Warning: inserting missing 'title' element")))
end.join rescue nil
unless log.empty?
options = {
:title => "Tidy Warnings",
:summary => "Warnings for tidying your document (press escape to close):",
:log => log
}
TextMate::UI.simple_notification(options)
end
end
if ENV['TM_SOFT_TABS'] == "YES"
print result
else
in_pre = false
result.each_line do |line|
unless in_pre
tab_size = ENV["TM_TAB_SIZE"].to_i
space, text = /(*)(.*)/m.match(line)[1..2]
line = "\t" * (space.length/tab_size).floor + " " * (space.length % tab_size) + text
end
print line
in_pre = true if line.include?("<pre>")
in_pre = false if line.include?("</pre>")
end
end
Đặt tên lệnh này theo dòng "HTML5 gọn gàng". Đặt phạm vi lựa chọn thành "text.html". Chúng tôi sẽ thiết lập phím tắt trong giây lát. Lưu ý rằng chuyển đổi "doctype" đã được đặt thành "bỏ qua", loại bỏ toàn bộ quy tắc DocType.
Sau đó bạn cần phải ghi lại một macro từ menu Gói với các hành động sau:
- Lựa chọn "HTML5 Tidy" lệnh bạn vừa tạo
- Nhấn CMD + Up để di chuyển đến đầu tài liệu
- Gõ
<!DOCTYPE html>
- Chèn một dòng mới
Chọn "Save Ghi âm lần cuối "mục trình đơn để lưu trữ macro. Đặt tên cho nó là một cái gì đó thích hợp, chẳng hạn như "HTML5 Tidy + DocType" và đặt phạm vi thành "text.html". Sau đó, bạn có thể gán lối tắt bàn phím cho macro đã hoàn thành của mình bằng cách sử dụng đầu vào "Tương đương khóa".
Điều này sẽ cho phép bạn sử dụng Tidy trên tài liệu HTML5 của mình mà không gặp bất kỳ sự cố nào.
+1: Câu hỏi hay! – Alerty