summaly/README.md
Acid Chicken (硫酸鶏) 500b8cb6a0
Update README.md
2018-08-17 01:42:57 +09:00

108 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

summaly
================================================================
[![Greenkeeper badge](https://badges.greenkeeper.io/syuilo/summaly.svg)](https://greenkeeper.io/)
[![][npm-badge]][npm-link]
[![][mit-badge]][mit]
[![][travis-badge]][travis-link]
[![][himawari-badge]][himasaku]
[![][sakurako-badge]][himasaku]
[![NPM](https://nodei.co/npm/summaly.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/summaly)
Get any web page's summary. [Try it out](https://runkit.com/npm/summaly)
Installation
----------------------------------------------------------------
`$ npm install summaly`
Usage
----------------------------------------------------------------
``` javascript
summaly(url[, opts])
```
### Options
| Property | Type | Description | Default |
| :------------------ | :--------------------- | :----------------------- | :------ |
| **followRedirects** | *boolean* | Whether follow redirects | `true` |
| **plugins** | *plugin[]* (see below) | Custom plugins | `null` |
#### Plugin
``` typescript
interface IPlugin {
test: (url: URL.Url) => boolean;
summarize: (url: URL.Url) => Promise<Summary>;
}
```
### Returns
A Promise of an Object that contains properties below:
#### Root
| Property | Type | Description |
| :-------------- | :------- | :--------------------------------------- |
| **description** | *string* | The description of the web page |
| **icon** | *string* | The url of the icon of the web page |
| **sitename** | *string* | The name of the web site |
| **thumbnail** | *string* | The url of the thumbnail of the web page |
| **player** | *Player* | The player of the web page |
| **title** | *string* | The title of the web page |
| **url** | *string* | The url of the web page |
#### Player
| Property | Type | Description |
| :-------------- | :------- | :--------------------------------------- |
| **url** | *string* | The url of the player |
| **width** | *number* | The width of the player |
| **height** | *number* | The height of the player |
### Example
``` javascript
import summaly from 'summaly';
const summary = await summaly('http://elephant.2chblog.jp/archives/52025138.html');
console.log(summary); // will be ... ↓
/*
{
title: 'モバP「ありすと言えばお漏らし。お漏らしと言えばありす」',
icon: 'http://livedoor.blogimg.jp/tmg24news/imgs/9/5/favicon.ico',
description: '1以下、名無しにかわりましてVIPがお送りします2013/03/30(土) 14:57:29.09 ID:An34eOmY0モバ「反論が あるやつもいるかもしれない」 モバP「だが俺の主張も聞いてほしい! お漏らしさせるならありすが一番だ!」 日菜子「むふふ……いきなりそんなことを大声で',
thumbnail: 'http://livedoor.blogimg.jp/tmg24news/imgs/8/d/8df6e1a0-s.jpg',
player: {
url: null,
width: null,
height: null
}
sitename: 'エレファント速報SSまとめブログ',
url: 'http://elephant.2chblog.jp/archives/52025138.html'
}
*/
```
Testing
----------------------------------------------------------------
`npm run test`
License
----------------------------------------------------------------
[MIT](LICENSE)
[npm-link]: https://www.npmjs.com/package/summaly
[npm-badge]: https://img.shields.io/npm/v/summaly.svg?style=flat-square
[mit]: http://opensource.org/licenses/MIT
[mit-badge]: https://img.shields.io/badge/license-MIT-444444.svg?style=flat-square
[travis-link]: https://travis-ci.org/syuilo/summaly
[travis-badge]: http://img.shields.io/travis/syuilo/summaly.svg?style=flat-square
[himasaku]: https://himasaku.net
[himawari-badge]: https://img.shields.io/badge/%E5%8F%A4%E8%B0%B7-%E5%90%91%E6%97%A5%E8%91%B5-1684c5.svg?style=flat-square
[sakurako-badge]: https://img.shields.io/badge/%E5%A4%A7%E5%AE%A4-%E6%AB%BB%E5%AD%90-efb02a.svg?style=flat-square