2012-02-22 21 views
2

我必須使用一些非常醜陋的外觀標記,並且通過Ruby on Tidy來運行它。大多數情況下,它的效果很好,除了它將大量隱藏的輸入集中到一行上。我知道有一個列封裝的設置,但它會更好,如果它只是把兄弟投入分開的行。這很重要,因爲它可以在查看標記並在隱藏輸入中快速查看信息時簡化調試。HTML美化工具,將輸入標籤放在不同的線上

我還沒有找到一個工具來做到這一點。那麼有什麼或我是愚蠢的?

我還應該補充說,很多問題都來自我最初得到的糟糕的標記,並且我沒有辦法在它到達我之前清理它。我嘗試了Nokogiri-pretty來清理它,它非常接近完美,但它將腳本標記轉換爲自我關閉標記,這是不好的。

現在我正在整理源代碼然後(我知道這很可怕)gsub(/<input[^>]*>/, '\0'+"\n")。我喜歡這個事實,我必須用換行符連接捕捉。

回答

0

引入nokogiri能做到這一點很容易做到:

doc.css('input').each{|input| input.before "\n"} 
2

整潔往往是有問題的紅寶石。它已經reported泄漏內存,它不是1.9兼容等。但是,您可以完全跳過Tidy通過使用Nokogiri和nokogiri-pretty寶石。

假設你有一個引入nokogiri DOC:

require 'nokogiri-pretty' 
puts doc.human 

除了其它整理,所有<input>標籤將自己的線和適當的縮進。

+0

這是如此接近。 Nokogiri漂亮的空腳本標籤自我關閉,打破了很多東西。 – 2012-02-23 15:57:52

+0

爲什麼你有空的腳本標籤? – 2012-02-23 23:16:13