cathy crow voice: squawk squawk. get yinz's pages in by 1 a.m.!
Crow is responsible for taking a "completed newspaper," a PDF with one PDF page per newspaper page, and sending it to the printer.
Crow automates the following steps:
- Read in the PDF and make sure it is able to be processed
- Split the combined PDF into separate PDFs, containing one page each
- Send the pages over FTP to the printer
- Send a Slack notification alerting that pages have been sent
Crow is built as an Electron app, utilizting HTML, JavaScript, Node.js
and CSS. The only external dependency is pdftk
, which handles PDF
manipulation. To install on macOS 10.11-10.13, use this link.
To create new versions of the production Crow application, run node packager.js
.
Crow contains the following configuration variables, via a config.json
file:
ftp_settings
: Object containinghost
,user
,password
, port,
secureand
secureOptions` keysprinterPagesLink
: String with URL for website to check pagesslack_settings
: Object containingchannel
,icon_emoji
,username
andwebhook_url
keys