wikipedia-summary
Version:
Wikipedia API wrapper โ summaries, search, random articles, On This Day events, multi-language support.
124 lines (88 loc) โข 3.22 kB
Markdown
# wikipedia-summary ๐
Wikipedia API wrapper for Node.js โ summaries, search, random articles, On This Day events, multi-language support.
## ๐ What's New in v2.0.0
- **`search()`** โ Search Wikipedia and get matched articles
- **`getRandomArticle()`** โ Discover random Wikipedia articles
- **`getOnThisDay()`** โ Historical events, births, deaths for today's date
- **`getMultipleSummaries()`** โ Fetch multiple topics at once
- **Thumbnail & image URLs** โ Both original and thumbnail images
- **Last modified date** โ Article freshness info
- **Input validation** โ Better error messages
## ๐ฆ Installation
```bash
npm install wikipedia-summary
```
## ๐ Usage
### Get Summary
```js
const { getSummary } = require("wikipedia-summary");
const article = await getSummary("Node.js");
console.log(article.title); // "Node.js"
console.log(article.extract); // Full summary text
console.log(article.pageUrl); // Wikipedia page URL
console.log(article.imageUrl); // Main image URL
console.log(article.thumbnailUrl); // Thumbnail URL
console.log(article.lastModified); // Last edit timestamp
```
### Multi-language Support
```js
const { getSummary } = require("wikipedia-summary");
// Turkish
const tr = await getSummary("Istanbul", "tr");
// German
const de = await getSummary("Berlin", "de");
// Japanese
const ja = await getSummary("Tokyo", "ja");
```
### Search Wikipedia
```js
const { search } = require("wikipedia-summary");
const results = await search("artificial intelligence", "en", 5);
results.forEach(r => {
console.log(`${r.title} - ${r.snippet}`);
console.log(` ${r.pageUrl}`);
});
```
### Random Article
```js
const { getRandomArticle } = require("wikipedia-summary");
const random = await getRandomArticle();
console.log(`${random.title}: ${random.extract}`);
// Random article in Turkish
const randomTR = await getRandomArticle("tr");
```
### On This Day
```js
const { getOnThisDay } = require("wikipedia-summary");
const events = await getOnThisDay("en", "all");
events.forEach(event => {
console.log(`[${event.type}] ${event.year || ''} - ${event.text}`);
});
// Filter by type: "selected", "births", "deaths", "events", "holidays"
const births = await getOnThisDay("en", "births");
```
### Multiple Summaries
```js
const { getMultipleSummaries } = require("wikipedia-summary");
const topics = ["JavaScript", "Python", "Rust", "Go"];
const summaries = await getMultipleSummaries(topics);
summaries.forEach(s => {
if (s.error) {
console.log(`${s.title}: ${s.error}`);
} else {
console.log(`${s.title}: ${s.extract.substring(0, 100)}...`);
}
});
```
## ๐ก API
| Function | Description |
|----------|-------------|
| `getSummary(topic, lang?)` | Get article summary |
| `search(query, lang?, limit?)` | Search Wikipedia articles |
| `getRandomArticle(lang?)` | Get a random article |
| `getOnThisDay(lang?, type?)` | Get On This Day events |
| `getMultipleSummaries(topics[], lang?)` | Batch fetch summaries |
### Language Support
All functions accept a language code as parameter. Examples: `"en"`, `"tr"`, `"de"`, `"fr"`, `"es"`, `"ja"`, `"zh"`, `"pt"`, `"ru"`, `"ar"`.
## ๐ License
MIT ยฉ Utku Berkay Koรง