如何使整齐(libtidy5)格式的html内联元素被视为块元素

时间:2019-01-10 12:12:29

标签: html pretty-print tidy htmltidy

新的 tidy (libtidy5)很棒,但是我不知道要用换行符上的每个标签来重新格式化html文件,所以也需要内联标签。

这是标准输出:

echo "<p><b>Hi</b><i>Tom</i></p>" | tidy -i

<!DOCTYPE html>
<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for HTML5 for Linux version 5.2.0">
  <title></title>
</head>
<body>
  <p><b>Hi</b><i>Tom</i></p>
</body>
</html>

我想要的是这个输出:

 <html>
    <head>
      <meta name="generator" content=
      "HTML Tidy for HTML5 for Linux version 5.2.0">
      <title></title>
    </head>
    <body>
      <p>
       <b>Hi</b>
       <i>Tom</i>
     </p>
    </body>
    </html>

是否有CLI参数可以做到这一点?

(不喜欢将每个html元素都定义为块元素的解决方法, 如果您可以轻松地在 normal all block 之间重新格式化,那将是很好的选择

1 个答案:

答案 0 :(得分:0)

随着xml的输出接近:

tidy -i -q -xml

所以:

echo "<p><b>Hi</b><i>Tom</i></p>" | tidy -i -q -xml

<p>
  <b>Hi</b>
  <i>Tom</i>
</p>

--output-xml 1

echo "<p><b>Hi</b><i>Tom</i></p>" | tidy -iq  --output-xml 1  --show-warnings 0

<html>
  <head>
    <meta name="generator"
    content="HTML Tidy for HTML5 for Linux version 5.2.0" />
    <title></title>
  </head>
  <body>
    <p>
      <b>Hi</b>
      <i>Tom</i>
    </p>
  </body>
</html>