Форматирование HTML5 на MacOS X? (желательно с TextMate)

Существуют ли какие-либо редакторы или пакеты для MacOS X, которые поддерживают форматирование документов HTML5? Убирайте ошибки на новых тегах, например, на холсте.

+7
источник поделиться
6 ответов

Этот вопрос рассказывает о том, как заставить Tidy работать с HTML5; настройка рабочей строки пакета TextMate для использования этих параметров должна работать.

+3
источник

Мне удалось добавить HTML5 Tidy в TextMate, используя информацию, найденную в этом вопросе. Tidy, похоже, не принимает пользовательскую строку как DocType, поэтому я использовал макрос TextMate для вставки действительного. Вероятно, это более элегантный способ сделать это, но он выполняет свою работу!

Чтобы начать, нам нужно создать команду TextMate для Tidy, которая отлично работает с HTML5. Откройте "Bundle Editor" из меню Bundles и создайте новую команду, содержащую следующее:

#!/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

Назовите эту команду чем-то по строкам "HTML5 Tidy". Установите для области видимости значение "text.html". Через минуту мы создадим комбинацию клавиш. Обратите внимание, что переключатель "doctype" установлен на "omit", который полностью удаляет декларацию DocType.

Затем вам нужно записать макрос из меню Bundles со следующими действиями:

  • Выбор команды "HTML5 Tidy", которую вы только что создали
  • Нажатие CMD + Вверх для перехода к началу документа
  • Ввод <!DOCTYPE html>
  • Вставка новой строки

Выберите пункт меню "Сохранить последнюю запись", чтобы сохранить макрос. Назовите его что-то подходящее, например "HTML5 Tidy + DocType", и установите его область действия в "text.html". Затем вы можете назначить сочетание клавиш для вашего завершенного макроса с помощью входа "Key Equivalent".

Это позволит вам без проблем использовать Tidy в ваших документах HTML5.

+2
источник

Не о пакетах textmate, но как насчет коды от паники? www.panic.com/coda

+1
источник

Textmate имеет пакет, который будет проверяться против валидатора W3C - http://validator.w3.org/

0
источник

Я должен сказать, что я не знаком с пакетами TextMate, потому что я лично не использую этот редактор. Тем не менее, я узнал, что у них есть публичный сервер subversion, где они хранят разные пакеты. Быстрый поиск не выявил ни одного пакета HTML5. Дополнительную информацию о пакетах можно найти на веб-сайте .

Если вы хотите создать веб-контент в HTML5 вне коробки, посмотрите Aloha Editor.

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос