【问题标题】:Module for Pretty Printing HTML?用于漂亮打印 HTML 的模块?
【发布时间】:2012-10-04 05:33:40
【问题描述】:

我正在处理一个 grunt 构建文件,它会点击一个 URL 并将输出写入静态 HTML 文件。我点击的网址已压缩 HTML,我想在写入静态文件之前将其打印出来。有没有什么好的模块可以做到这一点?我环顾四周,似乎 Max Ogden 的 html prettyprinter 是我最接近的选择(https://github.com/maxogden/commonjs-html-prettyprinter)。也许如果我将它与 grunt-shell 任务或其他东西结合起来?真的,我更喜欢在 grunt 中只需要一个模块并说 pretty(my-file.html) 然后使用 fs 编写它,但到目前为止这被证明是难以捉摸的。

【问题讨论】:

    标签: node.js npm commonjs gruntjs


    【解决方案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)
    

    看看是source


    或者您可以使用child_process 来执行自述文件中的命令:html *.html

    【讨论】:

    • 太棒了,谢谢!我的 node-fu 不是很强大。我最终像这样将它发送到 fs.writeFileSync: fs.writeFileSync(dest, html.prettyPrint(body, { indent_size: 2 }));其中 dest 是最终文件路径,body 是 http 响应正文。谢谢!
    【解决方案2】:

    如果您正在寻找替代方案(可能是因为某个项目已被放弃,或者您不喜欢该 API),您可以使用 NPM 的网站搜索其他的。这里有几个选项:https://www.npmjs.com/search?q=html%20prettify我按受欢迎程度排序并选择了第一个,pretty

    代码最终看起来与被接受的答案非常相似:

    import pretty from 'pretty';
    var data = '<h2><strong><a href="http://awesome.com">AwesomeCom</a></strong><span>is awesome</span></h2>';
    var prettyData = pretty(data);
    process.stdout.write(prettyData)
    

    【讨论】:

      猜你喜欢
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-08-26
      • 2011-04-01
      • 2011-03-23
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多