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.

alt nodejs_infobox_screenshot

alt nodejs_infobox_screenshot

Fork the repo and do whatever you can to help!

Features

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

Installation

npm install wiki-infobox-parser

Usage

1
2
3
4
5
6
7
8
9
var wikiParser = require('wiki-infobox-parser');
wikiParser('france', function(err, result) {
if (err) {
console.error(err.message);
} else {
console.log(result);
}
});

Result

alt nodejs_infobox_screenshot

The parsed result is

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"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"
}

How to contribute

Todo

  • 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

Issue tracker

img

Don’t hesitate to contact me when you have any issue or idea about this parser, both PivotalTracker and Github issue are welcomed!

Tests

1
make test

Before sending a PR please add corresponding tests, thanks!

Contributors

Reference