diff options
| author | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2022-12-09 22:56:40 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2022-12-09 22:56:40 +0100 |
| commit | 2390d230fa9ff119cddd90250c83ebb220947c0d (patch) | |
| tree | 05b108824bb68cdb50497847c03d7e6e84096d63 | |
| parent | 893264177a03bc7dd3e306753024fe1394fc3e77 (diff) | |
Add publishing
| -rw-r--r-- | index.js | 19 |
1 files changed, 8 insertions, 11 deletions
@@ -1,13 +1,16 @@ const { exec } = require('child_process'); const { resolve, join} = require('path'); const { rm, writeFile } = require('fs/promises'); -const { debuglog, promisify } = require('util'); +const { promisify } = require('util'); const Pinboard = require('node-pinboard').default; const internals = { exec: promisify(exec), - debuglog: debuglog('blog'), + apiToken: process.env.PINBOARD_TOKEN, + blogUrl: process.env.BLOG_URL, + archiveUrl: process.env.ARCHIVE_URL, + date: (new Date()).toISOString().split('T')[0], generateGemtext(posts) { @@ -28,28 +31,22 @@ async function run() { const getPins = promisify(pinboard.get); const addPin = promisify(pinboard.add); - internals.debuglog('Fetching Pins'); const pins = await getPins({ tag: 'linkblog' }); - internals.debuglog(`Found ${pins.posts.length} pins`); if (pins.posts.length === 0) { console.error('No links to post'); return; } - internals.debuglog('Generating gemtext'); const gemtext = internals.generateGemtext(pins.posts); const gemfile = resolve(join(__dirname, `linkblog-${internals.date}.gmi`)); - internals.debuglog(`Writing to ${gemfile}`); await writeFile(gemfile, gemtext); - internals.debuglog('Adding gemfile to log'); - const output = await internals.exec(`blog --add ${gemfile}`); - internals.debuglog(output.stderr); - internals.debuglog(`Removing ${gemfile}`); + await internals.exec(`blog --add ${gemfile}`); + await internals.exec(`blog --publish ${internals.blogUrl}`); + await internals.exec(`blog --publish-archive ${internals.archiveUrl}`); await rm(gemfile); for (const pin of pins.posts) { - internals.debuglog(`Updating ${pin.href}`); await addPin({ url: pin.href, description: pin.description, |