2021-03-05 12:08:28 +01:00
|
|
|
|
2021-03-11 16:24:29 +01:00
|
|
|
const { mastodon, goodreads, lunr, webmention } = require('jam-my-stack');
|
2021-03-05 12:08:28 +01:00
|
|
|
const fsp = require('fs').promises;
|
|
|
|
|
|
|
|
|
|
|
|
(async function() {
|
|
|
|
// 1. parse Mastodon RSS feed
|
|
|
|
console.log("1. parsing Mastodon RSS feed...")
|
|
|
|
await mastodon.parseFeed({
|
|
|
|
notesdir: `${__dirname}/content/notes`,
|
2021-03-05 16:58:09 +01:00
|
|
|
url: "https://chat.brainbaking.com/users/wouter/feed",
|
2021-03-13 13:50:01 +01:00
|
|
|
utcOffset: 60,
|
2021-03-20 13:21:41 +01:00
|
|
|
titleCount: 50,
|
|
|
|
ignoreReplies: true
|
2021-03-05 12:08:28 +01:00
|
|
|
})
|
|
|
|
|
|
|
|
// 2. update goodreads JS widget
|
|
|
|
console.log("2. Updating Goodreads Widget...")
|
|
|
|
const widget = await goodreads.createWidget("https://www.goodreads.com/review/grid_widget/5451893.Wouter's%20bookshelf:%20read?cover_size=medium&hide_link=&hide_title=&num_books=12&order=d&shelf=read&sort=date_added&widget_id=1496758344")
|
2021-03-24 19:43:42 +01:00
|
|
|
await fsp.writeFile(`${__dirname}/static/js/goodreads.js`, widget.replace(/src=/g, "loading='lazy' src="), 'utf-8')
|
2021-03-05 12:08:28 +01:00
|
|
|
|
|
|
|
// 3. build Lunr index
|
|
|
|
console.log("3. Building lunr search index...")
|
|
|
|
const index = await lunr.buildIndex([
|
|
|
|
`${__dirname}/content/post`,
|
|
|
|
`${__dirname}/content/notes`])
|
|
|
|
await fsp.writeFile(`${__dirname}/static/js/brainbaking-post.json`, JSON.stringify(index), 'utf-8')
|
|
|
|
|
2021-03-11 16:24:29 +01:00
|
|
|
// 4. get webmentions
|
2021-03-19 20:51:56 +01:00
|
|
|
console.log("4. Fetching webmentions...")
|
2021-03-11 16:24:29 +01:00
|
|
|
const mentions = await webmention.getWebmentions("brainbaking.com")
|
2021-03-16 16:32:49 +01:00
|
|
|
const json = JSON.stringify(mentions, null, 4)
|
2021-03-12 19:08:12 +01:00
|
|
|
await fsp.writeFile(`${__dirname}/data/webmentions.json`, json, 'utf-8')
|
2021-03-05 12:08:28 +01:00
|
|
|
|
2021-03-19 20:51:56 +01:00
|
|
|
// 5. send webmentions
|
|
|
|
console.log("5. Sending webmentions...")
|
2021-03-20 13:21:41 +01:00
|
|
|
const since = await webmention.send("brainbaking.com", `${__dirname}/data/webmentions-since.json`)
|
|
|
|
console.log(` -- done, since is now ${since}`)
|
2021-03-19 20:51:56 +01:00
|
|
|
|
2021-03-05 12:08:28 +01:00
|
|
|
console.log("-- all done!")
|
|
|
|
})()
|