Модуль для красивой печати HTML?

Я работаю над файлом сборки grunt, который обращается к URL-адресу и записывает вывод в статический файл HTML. URL-адрес, который я нажимаю, содержит сжатый HTML, и я хотел бы распечатать его перед записью в статический файл. Есть ли для этого хорошие модули? Я осмотрелся, и мне кажется, что html prettyprinter Макса Огдена - мой самый близкий вариант (https://github.com/maxogden/commonjs-html-prettyprinter). Может, если я совмещу это с задачей grunt-shell или чем-то еще? На самом деле я бы предпочел просто потребовать модуль в grunt и сказать «красиво» (my-file.html), а затем написать это с помощью fs, но пока это оказывается неуловимым.


person robdodson    schedule 13.10.2012    source источник


Ответы (1)


Вы нашли все необходимые ресурсы. Этот модуль сделает это за вас.

var html = require("html");
var data = '<h2><strong><a href="http://awesome.com">AwesomeCom</a></strong><span>is awesome</span></h2>';
var prettyData = html.prettyPrint(data, {indent_size: 2});
process.stdout.write(prettyData)

Посмотрите на его исходный код.


Или вы можете использовать child_process для выполнения команды, найденной в README: html *.html.

person MiniGod    schedule 13.10.2012
comment
здорово, спасибо! мой узел-фу не очень силен. В итоге я отправил его в fs.writeFileSync следующим образом: fs.writeFileSync (dest, html.prettyPrint (body, {indent_size: 2})); где dest - окончательный путь к файлу, а body - тело ответа http. Спасибо! - person robdodson; 13.10.2012