onebox with node
Onebox is a library for turning media URLs into simple HTML previews of the resource.
npm install onebox --save
var fs = require('fs');
var path = require('path');
var mustache = require('mustache');
var onebox = require('onebox');
// custom render method for preview
var preview = onebox({
render: function(engine, data, cb) {
var tpath = path.join(__dirname, 'templates', engine+'.mustache');
fs.readFile(tpath, function(err, buf) {
if(err) return cb(err);
var template = buf.toString();
var html = mustache.render(template, data);
cb(null, html);
});
}
});
var link = 'http://github.com/wangzuo/onebox/issues/1';
preview(link, function(err, html) {
if(err) throw err;
console.log(html);
});
npm start
- amazon
- audio
- douban
- github_blob
- github_commit
- githubgist
- githubissue
- githubpullrequest
- google_calendar
- googledocs (spreadsheets|document|forms|presentation)
- google_maps
- googleplayapp
- image
- pubmed
- soundcloud
- stackexchange (stackoverflow)
- oembed
- twitterstatus
- video
- whitelisted_generic
- wikipedia
- spotifytrack
- spotifyalbum
- youku
- youtube
- music163playlist
- music163album
- music163song
- 404 error
- timeout error
- open graph protocol
- normalize link
- time format
- string format
- render as media object