1.0.6 • Published 6 years ago
html-rulechecker v1.0.6
Installation
$ npm i --save html-rulechecker
Demo Code
Demo#1 : Input from file stream, and ouput to another file stream. Moreover, show how to add new rule by yourself.
const fs = require('fs');
const htmlChecker = require('html-rulechecker');
const {
Checker,
RuleCreator
} = htmlChecker;
function testFileStream() {
const rs = fs.createReadStream('./test/sample.html');
const ws = fs.createWriteStream('./test/result');
const checker = Checker(rs, ws)
const ruleCreator = RuleCreator()
const rules = ruleCreator.defaultRules();
const newRule = ruleCreator.createRuleObject(
ruleCreator.createNumberChecker(
"head>meta[name=robots]", 1, "min"
),
`Header doesn't have <meta name="robots"> tag`
);
const customRule = {
judgeFunction: function(document) {
return document.querySelectorAll('meta[name=hellochecker]').length > 0
},
message: `Doesn't pass custom rule.`
}
const newRules = [...rules, newRule, customRule]
checker.updateRules(newRules);
checker.check().then(() => {
console.log("Check Finished");
})
}
Demo#2 : Input from http stream, and ouput to console. Apply rule masks at check 2 processing.
const fs = require('fs');
const https = require('https');
const htmlChecker = require('html-rulechecker');
const {
Checker,
RuleCreator
} = htmlChecker;
function testHttp() {
https.get('https://nodejs.org/en/', (rs) => {
const checker = Checker(rs)
const ruleCreator = RuleCreator()
const rules = ruleCreator.defaultRules();
checker.updateRules(rules);
checker.check().then(() => {
console.log("Check #1 Finished");
checker.updateRules(rules, [0, 1, 2, 5, 4]);
return checker.check()
}).then(() => {
console.log("Check #2 Finished");
})
});
}