Intereting Posts
Атрибут onclick = “function ()” не функционирует так, как предполагалось? Исключить пункт меню из краха начальной загрузки 3 navbar Ввод текста с шириной 100% внутри td расширяется / продолжается за пределами td Насколько надежным является режим браузера Internet Explorer? «Мобильный» Bootstrap-Navbar не работает Как лучше наложить canvas на изображение? Как ограничить так, чтобы он мог выбирать только файлы .pdf? Диагональная сторона div color css js добавление данных для динамического отображения тега Если пользователь уже вошел в систему, первая вкладка будет скрыта и будет автоматически переходить на вторую вкладку Стандартная таблица HTML с итогом из таблицы SQL Server Фиксированная ширина среднего div и две div-ширины с обеих сторон Как сохранить интервал времени с помощью setInterval? Как применить одну и ту же функцию к различным div с одинаковым именем? Как исправить панель HTML на странице после того, как она попадает в верхнюю часть области просмотра?

HTML-порядок / очистка в Ruby 1.9

В настоящее время я использую привязки RubyTidy Ruby для HTML, чтобы убедиться, что HTML, который я получаю, хорошо сформирован. В настоящее время эта библиотека – единственное, что удерживает меня от получения приложения Rails на Ruby 1.9. Есть ли альтернативные библиотеки, которые будут убирать куски HTML на Ruby 1.9?

http://github.com/libc/tidy_ffi/blob/master/README.rdoc работает с ruby ​​1.9 (последняя версия)

Если вы работаете с windowsми, вам нужно установить путь library_path, например

require 'tidy_ffi' TidyFFI.library_path = 'lib\\tidy\\bin\\tidy.dll' tidy = TidyFFI::Tidy.new('test') puts tidy.clean 

(Он использует ту же самую dll, что и аккуратно). Вышеупомянутые ссылки дают вам больше примеров использования.

Я использую Nokogiri для исправления неверного html:

   Nokogiri :: HTML :: DocumentFragment.parse (HTML) .to_html

Вот хороший пример того, как сделать ваш html лучше, используя аккуратно:

 require 'tidy' Tidy.path = '/opt/local/lib/libtidy.dylib' # or where ever your tidylib resides nice_html = "" Tidy.open(:show_warnings=>true) do |tidy| tidy.options.output_xhtml = true tidy.options.wrap = 0 tidy.options.indent = 'auto' tidy.options.indent_attributes = false tidy.options.indent_spaces = 4 tidy.options.vertical_space = false tidy.options.char_encoding = 'utf8' nice_html = tidy.clean(my_nasty_html_string) end # remove excess newlines nice_html = nice_html.strip.gsub(/\n+/, "\n") puts nice_html 

Для получения более опрятных опций проверьте справочную страницу .

В настоящее время эта библиотека – единственное, что удерживает меня от получения приложения Rails на Ruby 1.9.

Остерегайтесь, привязки Ruby Tidy имеют некоторые неприятные утечки памяти. В настоящее время он непригоден для длительных процессов. (для записи я использую http://github.com/ak47/tidy )

Мне просто пришлось удалить его из приложения Rails 2.3 производства, поскольку он протекал около 1 Мбайт / мин.