The Daily Lore
The Daily Lore is a lightweight, static news aggregation website.
Tools and Infrastructure
- News API for the headlines
- Materialize for styling
- Custom build to avoid including unused components
- Travis CI for continuous integration
- Netlify for hosting and continuous deployment
- Google Analytics for tracking pageviews
- StatusCake for monitoring
- IFTTT for triggering hourly rebuilds to update the headlines through a Netlify webhook
Development
Check out the scripts in package.json
. You can also develop using the dev
script. Run $ ./dev
to see the options. To get started, run $ yarn start
or
$ ./dev start
.
If you make any changes to the source, the bundle will be rebuilt, and the page should refresh by itself (thanks to webpack-dev-server).
To view debug output,
set localStorage.debug = 'lore';
in the browser console, and reload the page.
The tests use Puppeteer, which
controls a headless instance of Chrome. If you need to debug the tests, you can
turn headless mode off with $ HEADLESS=0 dev test
so that you can actually
see the browser. You can also add an await jestPuppeteer.debug();
statement
to the test to suspend
execution.
Lastly, you can add the slowMo
option to
jest-puppeteer.config.js
to slow everything down.
Legacy
This website was one of my earliest projects, and I abandoned it for a few years before reviving it. The (terrible) legacy source code is in this repo.