2011-01-22 19 views

答えて

3

This question HTML5でTidyを動作させる方法についての講演。これらのパラメータを使用するTextMateバンドルのコマンドラインを微調整すると効果があります。

1

textmateのバンドルについてはお勧めしませんが、パニックからのコーダはどうですか? www.panic.com/coda

+0

+1:私はあまりにもそれを示唆していた。 ;) – Alerty

0

TextMateはW3Cのバリデータに対して検証しますバンドルを持っている - http://validator.w3.org/

+0

しかし、フォーマットはどうですか? –

0

私は個人的にそのエディタを使用していないので、私はTextMateのバンドルに精通していないですと言わざるを得ない。それほど少なくなく、私は彼らがpublic subversion serverを持っていることを知りました。彼らは別のバンドルを保持しています。クイック検索ではHTML5バンドルが表示されませんでした。バンドルの詳細についてはwebsiteをご覧ください。

HTML5でWebコンテンツを作成するための箱から離れた形にしたい場合は、Aloha Editorをご覧ください。

+0

公式のSubversionサーバーは、TextMateユニバース内で利用可能なバンドルのサブセットのみを保持します。最近のGitHubは新しいバンドルがポップアップする場所です。 GetBundles( "s"に注意)バンドルを使用すると、いくつかのHTML5バンドルを見つけることができます。 – cczona

2

私はthis questionで見つけた情報を使用してTextMateのにHTML5のTidyを追加することができました。 Tidyはカスタム文字列をDocTypeとして受け入れるようには見えないので、TextMateマクロを使って有効な文字列を挿入しました。おそらくこれを行うよりエレガントな方法がありますが、それは仕事を完了する!

まず、HTML5でうまくいくTidy用のTextMateコマンドを作成する必要があります。 「HTML5 Tidyの」の線に沿って、このコマンドの何かを

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

名:バンドルメニューから「バンドルエディタ」にアクセスし、以下を含む新しいコマンドを作成します。スコープ選択を「text.html」に設定します。キーボードショートカットを設定します。 "doctype"スイッチが "省略"に設定されているため、DocType宣言が完全に削除されています。

あなたはその後、次のアクションでバンドルメニューからマクロを記録する必要があります:あなただけの先頭に移動するにはCMD +上を押す

  • を作成し、「HTML5のTidy」コマンドを選択

    新しい行を挿入する<!DOCTYPE html>

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

    これにより、HTML5文書でTidyを問題なく使用できるようになります。

  • 関連する問題