render opengraph correctly for video, spoilers and no-thumb images, and show render time in ms at bottom of page.

merge-requests/208/head
fatchan 5 years ago
parent 756a0b1ad2
commit bca87c06ed
  1. 2
      helpers/files/deletetempfiles.js
  2. 2
      helpers/render.js
  3. 1
      views/includes/footer.pug
  4. 8
      views/pages/thread.pug

@ -2,7 +2,7 @@
const remove = require('fs-extra').remove;
module.exports = (req) => {
module.exports = async (req) => {
if (req.files != null) {
let files = [];

@ -8,6 +8,6 @@ const configs = require(__dirname+'/../configs/main.json')
, templateDirectory = path.join(__dirname+'/../views/pages/');
module.exports = async (htmlName, templateName, options) => {
const html = pug.renderFile(`${templateDirectory}${templateName}`, { ...options, cache: configs.cacheTemplates, openGraph: configs.openGraph });
const html = pug.renderFile(`${templateDirectory}${templateName}`, { ...options, renderStart: Date.now(), cache: configs.cacheTemplates, openGraph: configs.openGraph });
return outputFile(`${uploadDirectory}html/${htmlName}`, html);
};

@ -1,2 +1,3 @@
small.footer
a(href='https://github.com/fatchan/jschan/') source code
span - rendered in #{Date.now() - renderStart}ms

@ -7,7 +7,13 @@ block head
meta(property='og:title', content=thread.subjct)
meta(property='og:url', content=openGraph.url)
meta(property='og:description', content=thread.message.substring(0,200))
meta(property='og:image', content=thread.files.length > 0 ? '/img/'+thread.files[0].filename : '')
if thread.files.length > 0
if thread.spoiler
meta(property='og:image', content='/img/spoiler.png')
else if thread.files[0].hasThumb
meta(property='og:image', content='/img/thumb-'+thread.files[0].filename.split('.')[0]+'.jpg')
else
meta(property='og:image', content='/img/'+thread.files[0].filename)
block content
include ../includes/boardheader.pug

Loading…
Cancel
Save