Lunchbox is a suite of tools from NPR to create images intended for social media sharing. The original Lunchbox includes Quotable, Factlist and Waterbug. This is Slate's version which only includes Quotable.
Find the live version of Slate Quotable here: https://slategroup.github.io/lunchbox/.
Lunchbox is a customizable toolset deployable as a web app. The following instructions are meant for developers setting up and customizing the app for their organization. For end-users of the tools, see usage guidelines.
The following things are assumed to be true in this documentation.
- You are running OSX.
- You are using Python 2.7. (Probably the version that came OSX.)
- You have virtualenv and virtualenvwrapper installed and working.
fabfile
-- Fabric commands for automating setup and deployment.less
-- Application styles and Bootstrap less files.templates
-- HTML (Jinja2) templates, to be compiled locally.www
-- App assets and rendered files.Lunchbox Setup.exe
-- Lunchbox Demo installer for Windows.Lunchbox.dmg
-- Lunchbox Demo installer for OSX.app.py
-- A Flask app for rendering the project locally.app_config.py
-- Configuration variables for the Flask app.package.json
-- Node dependencies and scripts for building Electron app.packager-config.json
-- Configuration for create installers with Electron.render_utils.py
-- Helper functions for baking out Flask app.requirements.txt
-- Python requirements.static.py
-- Routes for static files in Flask app.
Bootstrap the project by forking this repo and installing the following:
mkvirtualenv lunchbox
cd lunchbox
pip install -r requirements.txt
npm install
Then run the app:
fab app
Visit localhost:8000 in your browser to see the app.
Because this site is currently hosted w/ Github Pages, you'll need to compile the files to the /docs
folder before merging. Run this command to do so:
fab gh_pages
- There is no CSS or JS minimization in this repo due to a compiling bug.
- There are some issues w/ the image size on retina vs. non-retina screens.