42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
|
|
const fsp = require('fs').promises;
|
|
const { resolve } = require('path');
|
|
const { howlongtobeat, webmention, youtube } = require('jam-my-stack');
|
|
|
|
if(!process.env.WEBMENTION_TOKEN) {
|
|
throw "No webmention token set!"
|
|
}
|
|
|
|
const wmconfig = {
|
|
endpoint: 'https://jam.brainbaking.com',
|
|
token: process.env.WEBMENTION_TOKEN
|
|
};
|
|
|
|
// If this isn't resolved, jam-my-stack will fail to replace 'content' with 'static' when downloading covers.
|
|
const rootdir = resolve(`${__dirname}/..`);
|
|
|
|
(async function() {
|
|
// 1. get how long to beat times
|
|
console.log("1. adding Howlongtobeat info...")
|
|
await howlongtobeat.howlong({
|
|
postDir: `${rootdir}/content`,
|
|
downloadDir: `${rootdir}/static`
|
|
})
|
|
|
|
// 2. get webmentions
|
|
console.log("2. Fetching webmentions...")
|
|
const mentions = await webmention.getWebmentions("jefklakscodex.com", wmconfig)
|
|
const json = JSON.stringify(mentions, null, 4)
|
|
await fsp.writeFile(`${rootdir}/data/webmentions.json`, json, 'utf-8')
|
|
|
|
// 3. generate youtube thumbnails.
|
|
console.log("4. Generating YouTube thumbnails...")
|
|
await youtube.thumbify({
|
|
postDir: `${rootdir}/content`,
|
|
downloadDir: `${rootdir}/static/img/yt`,
|
|
overlayImg: `${rootdir}/play.png`
|
|
})
|
|
|
|
console.log("-- all done!")
|
|
})()
|