microdata-node
Microdata parser. Aims to be compatible with http://www.w3.org/TR/microdata/#json and http://www.w3.org/TR/microdata-rdf/
Demo over at http://janpot.github.io/microdata-node.
Example:
var microdata = require('microdata-node');
var html =
'<section itemscope itemtype="http://schema.org/Person"> ' +
' Hello, my name is ' +
' <span itemprop="name">John Doe</span>, ' +
' I am a ' +
' <span itemprop="jobTitle">graduate research assistant</span> ' +
' at the ' +
' <span itemprop="affiliation">University of Dreams</span>. ' +
' My friends call me ' +
' <span itemprop="additionalName">Johnny</span>. ' +
' You can visit my homepage at ' +
' <a href="http://www.JohnnyD.com" itemprop="url">www.JohnnyD.com</a>. ' +
' <section itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">' +
' I live at ' +
' <span itemprop="streetAddress">1234 Peach Drive</span>,' +
' <span itemprop="addressLocality">Warner Robins</span>,' +
' <span itemprop="addressRegion">Georgia</span>.' +
' </section>' +
'</section>';
var json = microdata.toJson(html, {
base: 'http://www.example.com'
});
console.log(JSON.stringify(json, null, 2));
var jsonld = microdata.toJsonld(html, {
base: 'http://www.example.com'
});
console.log(JSON.stringify(jsonld, null, 2));
API
microdata.toJson(html, [config])
parses the provided html to microdata json
microdata.toJsonld(html, [config])
parses the provided html to jsonld
options
config.base
: Base url to resolve url properties against.
config.registry
: The registry associates a URI prefix with one or more key-value pairs denoting processor behavior.
config.useRdfType
: (default false
) If set to true, rdf:type
predicates won't be converted to @type
properties.
config.strict
: (default false
) Parse strictly according to spec. Does not try to be forgiving of malformed microdata.
config.useNativeTypes
: (default true
) Converts literals that are numbers or booleans to their corresponding JSOn type.