added twitter player route
This commit is contained in:
parent
53709661c8
commit
7f0df2511b
7 changed files with 39 additions and 14 deletions
|
@ -60,11 +60,12 @@ function checkLocalDbForClaims (name, shortUrl) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function createOpenGraphInfo ({ fileType, claimId, name, fileExt }) {
|
function createOpenGraphInfo ({ fileType, claimId, name, fileName, fileExt }) {
|
||||||
return {
|
return {
|
||||||
type : fileType.substring(0, fileType.indexOf('/')),
|
twitterPlayerUrl: `https://spee.ch/twitterPlayer/${claimId}/${name}`,
|
||||||
showUrl: `https://spee.ch/${claimId}/${name}`,
|
showUrl : `https://spee.ch/${claimId}/${name}`,
|
||||||
source : `https://spee.ch/${claimId}/${name}${fileExt}`,
|
source : `https://spee.ch/${claimId}/${name}${fileExt}`,
|
||||||
|
directFileUrl : `https://spee.ch/media/${fileName}`,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,14 @@ module.exports = (app) => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// route to display all free public claims at a given name
|
// route to display all free public claims at a given name
|
||||||
|
app.get('/twitterPlayer/:claimId/:fileName', ({ params }, res) => {
|
||||||
|
const claimId = params.claimId;
|
||||||
|
const fileName = params.fileName;
|
||||||
|
const fileExtension = '.mp4';
|
||||||
|
// get and render the content
|
||||||
|
res.status(200).render('twitterPlayer', { layout: 'twitterPlayer', claimId, fileName, fileExtension });
|
||||||
|
});
|
||||||
|
// route to display all free public claims at a given name
|
||||||
app.get('/:name/all', ({ ip, originalUrl, params }, res) => {
|
app.get('/:name/all', ({ ip, originalUrl, params }, res) => {
|
||||||
// get and render the content
|
// get and render the content
|
||||||
getAllFreePublicClaims(params.name)
|
getAllFreePublicClaims(params.name)
|
||||||
|
|
14
speech.js
14
speech.js
|
@ -48,9 +48,9 @@ const hbs = expressHandlebars.create({
|
||||||
</script>`
|
</script>`
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
addOpenGraph (title, url, source, mimeType) {
|
addOpenGraph (title, mimeType, showUrl, source) {
|
||||||
let basicTags = `<meta property="og:title" content="${title}"/>
|
let basicTags = `<meta property="og:title" content="${title}"/>
|
||||||
<meta property="og:url" content="${url}" />
|
<meta property="og:url" content="${showUrl}" />
|
||||||
<meta property="og:site_name" content="Spee.ch" />
|
<meta property="og:site_name" content="Spee.ch" />
|
||||||
<meta property="og:description" content="View or download ${title} from spee.ch: the open-source, decentralized content host." />`;
|
<meta property="og:description" content="View or download ${title} from spee.ch: the open-source, decentralized content host." />`;
|
||||||
if (mimeType === 'video/mp4') {
|
if (mimeType === 'video/mp4') {
|
||||||
|
@ -82,15 +82,15 @@ const hbs = expressHandlebars.create({
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
addTwitterCard (source, mimeType, fileName, showUrl) {
|
addTwitterCard (mimeType, source, twitterPlayerUrl, directFileUrl) {
|
||||||
let basicTwitterTags = `<meta name="twitter:card" content="player" />
|
let basicTwitterTags = `<meta name="twitter:site" content="@lbryio" />`;
|
||||||
<meta name="twitter:site" content="@lbryio" />`;
|
|
||||||
if (mimeType === 'video/mp4') {
|
if (mimeType === 'video/mp4') {
|
||||||
return new Handlebars.SafeString(
|
return new Handlebars.SafeString(
|
||||||
`${basicTwitterTags} <meta name="twitter:player" content="${showUrl}"/ >
|
`${basicTwitterTags} <meta name="twitter:card" content="player" />
|
||||||
|
<meta name="twitter:player" content="${twitterPlayerUrl}>
|
||||||
<meta name="twitter:player:width" content="480" />
|
<meta name="twitter:player:width" content="480" />
|
||||||
<meta name="twitter:player:height" content="480" />
|
<meta name="twitter:player:height" content="480" />
|
||||||
<meta name="twitter:player:stream" content="https://spee.ch/media/${fileName}" />
|
<meta name="twitter:player:stream" content="${directFileUrl}" />
|
||||||
<meta name="twitter:player:stream:content_type" content="video/mp4" />
|
<meta name="twitter:player:stream:content_type" content="video/mp4" />
|
||||||
`
|
`
|
||||||
);
|
);
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
<link rel="stylesheet" href="/assets/css/generalStyle.css" type="text/css">
|
<link rel="stylesheet" href="/assets/css/generalStyle.css" type="text/css">
|
||||||
<link rel="stylesheet" href="/assets/css/componentStyle.css" type="text/css">
|
<link rel="stylesheet" href="/assets/css/componentStyle.css" type="text/css">
|
||||||
<meta property="fb:app_id" content="1371961932852223">
|
<meta property="fb:app_id" content="1371961932852223">
|
||||||
{{{addTwitterCard openGraphInfo.source fileInfo.fileType fileInfo.fileName openGraphInfo.showUrl}}}
|
{{{addTwitterCard fileInfo.fileType openGraphInfo.source openGraphInfo.twitterPlayerUrl openGraphInfo.directFileUrl}}}
|
||||||
{{{addOpenGraph fileInfo.name openGraphInfo.showUrl openGraphInfo.source fileInfo.fileType }}}
|
{{{addOpenGraph fileInfo.name fileInfo.fileType openGraphInfo.showUrl openGraphInfo.source}}}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{{{ body }}}
|
{{{ body }}}
|
||||||
|
|
16
views/layouts/twitterPlayer.handlebars
Normal file
16
views/layouts/twitterPlayer.handlebars
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
video {
|
||||||
|
width:100%;
|
||||||
|
max-width:600px;
|
||||||
|
height:auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
{{{body}}}
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -9,7 +9,6 @@
|
||||||
|
|
||||||
{{else}}
|
{{else}}
|
||||||
<img class="show-asset-lite" src="/media/{{fileInfo.fileName}}" alt="{{fileInfo.fileName}}"/>
|
<img class="show-asset-lite" src="/media/{{fileInfo.fileName}}" alt="{{fileInfo.fileName}}"/>
|
||||||
|
|
||||||
{{/ifConditional}}
|
{{/ifConditional}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
1
views/twitterPlayer.handlebars
Normal file
1
views/twitterPlayer.handlebars
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<video id="video" width="100%" controls src="https://spee.ch/{{claimId}}/{{fileName}}{{fileExtension}}" type="video/mp4"></video>
|
Loading…
Reference in a new issue