contrib: introduce ucode-mod-html
The ucode-mod-html library provides assorted utility functions for dealing
with HTML markup data.
Example usage:
#!/usr/bin/ucode
'use strict';
import { tokenize, striptags, entitydecode, entityencode,
OPEN, ATTR, TEXT, CLOSE, RAW, COMMENT, CDATA, PROCINST, EOF } from 'html';
tokenize('<div class="example">Hello world!</div>...',
function(type, text, value) {
switch (type) {
case OPEN: print(`Opening tag: ${text}\n`); break;
case ATTR: print(`Attribute: ${text}${value ? `=${value}`}\n`; break;
case TEXT: print(`Text data: ${text}\n`); break;
case CLOSE: print(`Closing tag: ${text}\n`); break;
case RAW: print(`Script/CSS: ${text}\n`); break;
case COMMENT: print(`Comment: ${text}\n`); break;
case CDATA: print(`CDATA text: ${text}\n`); break;
case PROCINST: print(`<!...> tag: ${text}\n`); break;
case EOF: print(`End of input\n`); break;
}
}
);
print(striptags('<p>This is some <b>text</b> with <br> markup</p>\n'));
print(entitydecode('<   & ä'));
print(entityencode('1 < 2 && "foo"'));
Signed-off-by: Jo-Philipp Wich <jo@mein.io>