const posthtml = require('posthtml');
const autoClass = require('posthtml-auto-class');
const beautify = require('js-beautify').html;
const html = require('fs').readFileSync('./index.html', 'utf-8');
posthtml([autoClass({
scopeNames: ['box', 'block'],
aliasNames: {
a: 'link',
img: 'img',
hr: 'hr',
ul: 'list',
li: 'item',
dl: 'list',
dt: 'term',
dd: 'desc',
}
})])
.process(html)
.then((result) => {
console.log(beautify(result.html, {
indent_size: 2
}));
});
<!DOCTYPE html>
<html lang="ja">
<head></head>
<body>
<div>
<ul class="foo__box">
<li><a href="#"></a></li>
</ul>
<ul class="foo2-block foo3__box" ac-li="card">
<li><a href="#"></a></li>
</ul>
<ul class="bar__box">
<li auto-class="false"><a href="#"></a></li>
<li class="bar__item--already"></li>
</ul>
<div>
</body>
</html>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>
<ul class="foo__box">
<li class="foo__item">
<a href="#" class="foo__link"></a>
</li>
</ul>
<ul class="foo2-block foo3__box">
<li class="foo2-card">
<a href="#" class="foo2-link"></a>
</li>
</ul>
<ul class="bar__box">
<li>
<a href="#" class="bar__link"></a>
</li>
<li class="bar__item--already"></li>
</ul>
<div>
</div>
</div>
</body>
</html>