Jekyll Frontend for the Jekyll-Store ecommerce solution



All products must have at least a unique name, price and image. All other meta-data can be used for filtering.

If looking to export data from csv, see csv_to_products.


  • defaultAddress

    • country - iso as defined in /_data/countries.yml
  • payment

    • currency - ISO 4217 currency code.
    • hook - url for your Microservice instance or similar app for handling payment processing.
  • image_prefix: Folder or url to be prefixed to all images

  • paymillPublicKey: Paymill public key (Only if using Paymill)

  • accounting: accounting.js config

  • prose: config



Countries are given zones to group them and match which delivery methods are applicable for deliveries to that country.


Each delivery method must have a unique name.

Each delivery method must have zones to match which countries they are applicable for.

Each delivery method must have a calculator that is the name of a valid Jekll-Store Engine calculator and the args to be used for the calculator. Currently available calculators:

  • Fixed
  • Percent
  • Tiered


products.json must have the fields used for the products explicitly stated.

Reset Hook

To keep your Microservice instance (or similar) up to date. Make sure to create a github webhook on your repository with it's reset url.

Building Javascript

Jekyll-Store Front uses Browersify to compile the scripts together and to transpile JSX. If you would like to make changes to any of these files, you will have to do the following:

  1. Install node.js
  2. Install the packages: npm install
  3. Delete duplicate packages: npm dedupe
  4. Watch whilst making changes: npm run watch
  5. Build the finalized version: npm run build


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request