A parser for Wikipedia Inforbox, as described in Wikipedia help page:
An infobox is a fixed-format table designed to be added to the top right-hand corner of articles to consistently present a summary of some unifying aspect that the articles share and sometimes to improve navigation to other interrelated articles.
It's still on development, it needs to support more markup templates.
- Get Wikipedia Infobox by keyword
- Support keyword redirection
- Convert Wikipedia Markup text to JSON text
npm install wiki-infobox-parser
var wikiParser = require('wiki-infobox-parser');
wikiParser('france', function(err, result) {
if (err) {
console.error(err.message);
} else {
console.log(result);
}
});
The parsed result is
{
"name": "Node.js",
"logo": "frameless",
"author": "Ryan Dahl",
"developer": "[https://github.com/ry/node/blob/master/AUTHORS Node.js Developers], Joyent, [https://github.com/joyent/node/graphs/contributors GitHub Contributors]",
"operating system": "OS X, Linux, Solaris, FreeBSD, OpenBSD, Microsoft Windows (older versions require Cygwin), webOS, NonStop OS",
"status": "Active",
"released": "2009/05/27",
"latest release version": "4.2.1",
"latest release date": "2015/10/13",
"programming language": "C, C++, JavaScript",
"genre": "Event-driven networking",
"license": "MIT",
"website": "http://nodejs.org"
}
- Support map caption
- Support link & free link
- Support picture
- Support template: {{fake clarify}}
- Support template: {{fake citation needed}}
- Support template: {{fake elucidate}}
- Support template: {{fake heading}}
- Support template: {{fake notes and references}}
- Support template: {{dummy ref}}
- Support template: {{dummy backlink}}
- Support template: {{dummy footnote}}
- Support template: {{break}}
- Support template: {{break|5}}
- Support template: {{clear}}
- Support template: {{clear|left}}
- Support template: {{clear|right}}
- Support template: {{plainlist}}
- Support template: {{startflatlist}}
- Support template: {{flatlist}}
- Support template: {{hlist|first item|second item|third item|...}}
- Support template: {{bulleted list |item1 |item2 |...}}
- Support template: {{pagelist}}
- Support template: {{nowrap}}
- Support template: {{italics}}
- Support template: {{smallcaps|small caps}}
- Support template: {{pad|4.0em}}
- Please check this project on PivatalTracker: https://www.pivotaltracker.com/n/projects/1451530
- Github issue: https://github.com/zp-j/wiki-infobox-parser/issues
Don't hesitate to contact me when you have any issue or idea about this parser, both PivotalTracker and Github issue are welcomed!
# Test with a small test cases set
make test
# Test with a full test cases set
# It will take ~2mins, depending on the network
make test-all
Before sending a PR please add corresponding tests, thanks!