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,secureandsecureOptions` keysprinterPagesLink: String with URL for website to check pagesslack_settings: Object containingchannel,icon_emoji,usernameandwebhook_urlkeys