Easypedia is a single function that manages redirects, disambiguation, and parsing to pass a clean JSON into a callback. Example use case:
var easypedia = require("easypedia");
var searchTerm = "Bernie Sanders";
easypedia(searchTerm, function(error, page) {
if (error)
console.log(error);
else
// do something with the page
});
The simple structure of the page is as follows:
name: "Canada"
language: "en"
links: [...]
content: {...}
categories: [...]
isRelatedTo: (other) => ...
relationTo: (other) => ...
The sections property denotes the an array of sections, such as
{
name: "Intro",
sentences: [...]
}
The sentences are put in an array, with an example sentence being:
{
content: "During the Iron Age, what is now Metropolitan France was inhabited by the Gauls, a Celtic people.",
links: [
{to: 'Iron Age', quoted: "Iron Age"},
{to: 'Gaul', quoted: "Gaul"},
{to: 'Celts', quoted: 'Celtic'}
]
}
categories
is an array of various categories the page belongs to.
isRelatedTo accepts another page and determines if the 2 are related.
relationTo finds how closely the 2 pages are related, with a high value being more closely related
If you want to modify the behaviour of Easypedia, pass in an options
argument in the middle as such:
easypedia(searchTerm, options, callback);
If you pass an options
object when using an array of searchTerms, the options are applied to each searchTerm.
By default, Easypedia uses the English Wikipedia. To change this, add a language property along with the language you want. It is clever enough to know what you mean.
For example, to use the French Wikipedia you could pass in any of the following:
var options = {language: "French"};
var options = {language: "Fr"};
var options = {language: "Francais"};
var options = {language: "Français"};
easypedia("France", options, console.log);
Also, the language property is NOT case-sensitive.