This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.7 KiB
66 lines
1.7 KiB
'use strict'; |
|
|
|
var Parser = require('./parser'), |
|
Serializer = require('./serializer'); |
|
|
|
|
|
// Shorthands |
|
exports.parse = function parse(html, options) { |
|
var parser = new Parser(options); |
|
|
|
return parser.parse(html); |
|
}; |
|
|
|
exports.parseFragment = function parseFragment(fragmentContext, html, options) { |
|
if (typeof fragmentContext === 'string') { |
|
options = html; |
|
html = fragmentContext; |
|
fragmentContext = null; |
|
} |
|
|
|
var parser = new Parser(options); |
|
|
|
return parser.parseFragment(html, fragmentContext); |
|
}; |
|
|
|
exports.serialize = function (node, options) { |
|
var serializer = new Serializer(node, options); |
|
|
|
return serializer.serialize(); |
|
}; |
|
|
|
|
|
// Tree adapters |
|
exports.treeAdapters = { |
|
default: require('./tree_adapters/default'), |
|
htmlparser2: require('./tree_adapters/htmlparser2') |
|
}; |
|
|
|
|
|
// Streaming |
|
// NOTE: streaming API is lazy loadable to enable bundling for platforms |
|
// that are different from Node.js. |
|
// See https://github.com/inikulin/parse5/issues/235. |
|
var streamingAPI = { |
|
ParserStream: './parser/parser_stream', |
|
PlainTextConversionStream: './parser/plain_text_conversion_stream', |
|
SerializerStream: './serializer/serializer_stream', |
|
SAXParser: './sax' |
|
}; |
|
|
|
Object.keys(streamingAPI).forEach(function (cls) { |
|
Object.defineProperty(exports, cls, { |
|
get: function () { |
|
try { |
|
return require(streamingAPI[cls]); |
|
} |
|
|
|
catch (e) { |
|
throw new Error( |
|
cls + ' is supported only for Node.js.' + |
|
'See https://github.com/inikulin/parse5/issues/235 for the details.' |
|
); |
|
} |
|
} |
|
}); |
|
});
|
|
|