mip-parse-html
解析 HTML 代码为 MIP-HTML
使用
安装:
npm install mip-parse-html
解析:
const ParseHTML = ; // 配置参数const options = {}; // 解析const parse = content options; // 输出解析后的格式化代码const html = parse; // 输出解析后的压缩代码const minhtml = parse; // 输出解析后的验证结果,代码是基于 format 方法验证// {// status: 'pass',// 或者 fail// errors: []// }const result = parse;
配置
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
canonical |
插入页面的 <link rel="canonical" href=""> 如果为 null 则不处理 |
string 、null |
'https://www.mipengine.org/' |
miplink |
自动处理添加 data-type="mip" 链接的配置列表 |
Array.string 、Array.RegExp |
[/^\/(?!\/)/] (处理以 / 开始的链接) |
功能列表
- 自动修正
<!doctype html>
文档头,目前支持未定义
、HTML4.1
、HTML5
的修正 - 自动添加
<html mip>
属性 - 自动添加
<noscript>
标签 - 自动添加
mip.css
引用 - 自动添加
mip.js
引用 - 自动添加
<meta name="viewport">
标签 - 自动删除元素上
onxxx=""
事件属性 - 合并页面中多个
<style>
标签,并插入到<head>
标签内的<style mip-custom>
中 - 处理页面中的
<a>
标签,根据配置options.miplink
自动处理是否添加data-type="mip"
- 根据配置的
options.canonical
自动插入<link rel="canonical">
标签 - 自动抽离元素中的
style
属性,并添加随机数前插到<style mip-custom>
中 - 自动移除
<script>
、<frame>
、<frameset>
、<object>
、<param>
、<applet>
、<embed>
标签 - 自动替换页面中
<img>
标签为<mip-img>
- 自动替换页面中
<video>
为<mip-video>
- 自动替换页面中
<audio>
为<mip-audio>
- 自动替换页面中
<iframe>
为<mip-iframe>
- 自动替换页面中
<form>
为<mip-form>
声明
该模块(mip-parse-html)是显式的将明显的错误进行处理,但处理后不一定完全符合 MIP-HTML 规范,并且处理之后可能导致页面中部分功能缺失(如被删除的 JS 代码功能、自动处理的样式可能存在问题),请按需修改。
License
MIT