mirror of
https://github.com/misskey-dev/summaly.git
synced 2025-05-19 04:27:27 +09:00
#10 and some refactors
This commit is contained in:
parent
3f9e947898
commit
79226e5a6c
@ -26,6 +26,7 @@
|
|||||||
"escape-regexp": "0.0.1",
|
"escape-regexp": "0.0.1",
|
||||||
"html-entities": "1.2.0",
|
"html-entities": "1.2.0",
|
||||||
"request": "2.79.0",
|
"request": "2.79.0",
|
||||||
|
"require-all": "2.1.0",
|
||||||
"trace-redirect": "1.0.2-1"
|
"trace-redirect": "1.0.2-1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
27
src/index.ts
27
src/index.ts
@ -4,31 +4,28 @@ import ISummary from './isummary';
|
|||||||
import IPlugin from './iplugin';
|
import IPlugin from './iplugin';
|
||||||
import general from './general';
|
import general from './general';
|
||||||
|
|
||||||
/* plugins */
|
const plugins: IPlugin[] = require('require-all')({
|
||||||
import * as amazon from './plugins/amazon';
|
dirname: __dirname + '/plugins'
|
||||||
import * as wikipedia from './plugins/wikipedia';
|
});
|
||||||
|
|
||||||
const plugins: IPlugin[] = [
|
|
||||||
amazon,
|
|
||||||
wikipedia
|
|
||||||
];
|
|
||||||
|
|
||||||
export default async (url: string): Promise<ISummary> => {
|
export default async (url: string): Promise<ISummary> => {
|
||||||
const actualUrl = await tracer(url);
|
const actualUrl = await tracer(url);
|
||||||
|
|
||||||
const _url = URL.parse(actualUrl, true);
|
const _url = URL.parse(actualUrl, true);
|
||||||
|
|
||||||
const plugin = plugins.filter(plugin => plugin.test(_url))[0];
|
const match = Object.keys(plugins)
|
||||||
|
.map(key => plugins[key])
|
||||||
|
.filter(plugin => plugin.test(_url))[0] as IPlugin;
|
||||||
|
|
||||||
const summary = plugin
|
const summary = match
|
||||||
? await plugin.summary(_url)
|
? await match.summary(_url)
|
||||||
: await general(_url);
|
: await general(_url);
|
||||||
|
|
||||||
Object.keys(summary).forEach(k => {
|
Object.keys(summary).forEach(k => {
|
||||||
if ((<any>summary)[k]) {
|
if (summary[k]) {
|
||||||
(<any>summary)[k] = (<any>summary)[k].trim();
|
summary[k] = summary[k].trim();
|
||||||
if ((<any>summary)[k] === '') {
|
if (summary[k] === '') {
|
||||||
(<any>summary)[k] = null;
|
summary[k] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user