Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Tip of the Day

Build license

Get your daily knowledge dose.

For each category, a single tip is delivered every day. Subscribe via an HTML bookmark, RSS feed or JSON endpoint.

Live at


Only include data if no copyright is validated.


Notice: You may use npm instead of yarn.

  1. Install all dependencies:
yarn install
  1. Build:
yarn build

To generate all feeds, run yarn build:feeds daily in a cron job.

The package.json file contains other useful scripts, which you can execute using yarn <command> or npm run <command>:

Command Description
build Builds the site for production to the build folder.
format Reformat all files with prettier.
lint:fix Run ESLint, apply automatic fixes if possible.
test Run tests.

The master branch is (manually) deployed to

Add more data sources

All data used to generate daily tips is stored within the repository.

  1. Run npm run generate to generate a new data source boilerplate.
  2. Include your data source in src/data-sources/<source>/data.json. Using a scraper is recommended to keep the data up-to-date.
  3. Define how the data should be rendered in src/data-sources/<source>/template.js.
  4. Add the new data source to the data-sources/index.json file.


The template.js file does not enforce the way to write data source templates. It is possible to use simple JavaScript template strings, but EJS template files are highly recommended for a better readability (template.ejs).


This project and its contents are open source under the MIT license. The license of the individual data sources is specified in the according data.json files.