7

HTML5 ドキュメントのフォーマットをサポートする MacOS X 用のエディタまたはバンドルはありますか? canvas のような新しいタグできちんとエラーが発生します。

4

6 に答える 6

3

この質問では、TidyをHTML5で機能させる方法について説明します。これらのパラメータを使用するようにTextMateバンドルのコマンドラインを微調整すると機能するはずです。

于 2011-01-22T21:46:44.130 に答える
2

この質問にある情報を使用して、HTML5 Tidy を TextMate に追加することができました。Tidy はカスタム文字列を DocType として受け入れないようなので、TextMate マクロを使用して有効なものを挿入しました。これを行うにはもっとエレガントな方法があるかもしれませんが、それでうまくいきます!

手始めに、Tidy 用の TextMate コマンドを作成する必要があります。これは、HTML5 とうまく連携します。[バンドル] メニューから [バンドル エディター] にアクセスし、次を含む新しいコマンドを作成します。

#!/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 宣言が完全に削除されます。

次に、次のアクションを使用してバンドル メニューからマクロを記録する必要があります。

  • 作成したばかりの「HTML5 Tidy」コマンドを選択する
  • CMD + Up を押してドキュメントの先頭に移動する
  • タイピング<!DOCTYPE html>
  • 改行の挿入

マクロを保存するには、[最後の記録を保存] メニュー項目を選択します。「HTML5 Tidy + DocType」などの適切な名前を付け、スコープを「text.html」に設定します。次に、「Key Equivalent」入力を使用して、完成したマクロにキーボード ショートカットを割り当てることができます。

これにより、HTML5 ドキュメントで Tidy を問題なく使用できるようになります。

于 2011-03-03T19:08:28.120 に答える
1

textmate バンドルについてではありませんが、panic の coda についてはどうですか? www.panic.com/coda

于 2011-01-22T20:43:03.827 に答える
1

John Muhl の html5 バンドル - https://github.com/johnmuhl/html5.tmbundle

于 2011-01-23T10:36:08.377 に答える
0

Textmate には、W3C バリデータに対して検証するバンドルがあります - http://validator.w3.org/

于 2011-01-22T21:21:22.510 に答える
0

私は TextMate バンドルについてはよく知らないと言わざるを得ません。なぜなら、私はそのエディターを個人的に使用していないからです。それにもかかわらず、私は彼らがさまざまなバンドルを保持するパブリックなサブバージョン サーバーを持っていることを知りました。クイック検索では、HTML5 バンドルは見つかりませんでした。バンドルの詳細については、Web サイトを参照してください。

HTML5 で Web コンテンツを作成する独創的な方法が必要な場合は、Aloha Editorをご覧ください。

于 2011-01-22T21:35:34.863 に答える