Skip to main content


Project description


The name candlestick comes from the times when the telephone had just been invented. One of the first models of a telephone was a stick which was placed on a table where the speaker could talk into it.


This module provides a javascript library to automatically generate phone links. A treeWalker walks through the whole DOM and collects all textNodes. If a node matches a phone number the number will be replaced with a <a href="tel:phonenumber">Your phonenumber</a> link. Existing links or input fields are not affected.

By default the candlestick.integration.js is loaded which converts all phone numbers in the body.


Plone 4.3.x Plone 5.1.x


  • Add the package to your buildout configuration:
eggs +=



  1. Fork this repo
  2. Clone your fork
  3. Shell: ln -s development.cfg buidlout.cfg
  4. Shell: python
  5. Shell: bin/buildout

Or start an instance by running bin/instance fg.

Client library

Getting Started

The client library depends on Grunt. Assuming you already have Node.js installed on your system, run the following command:

sudo npm install -g grunt

To install the dependencies, run the following command:

npm install

And with npm you get the following packages:

  • Grunt - JavaScript task runner.
  • Babel - ES6 Transpiler.
  • Browserify - Dependency Bundler
  • Karma - JavaScript test runner.
  • Jasmine - JavaScript test suite.
  • Chai - JavaScript Assertion Library.


Run the following command to re-build the library:

grunt build

Run the following command to watch for changes which trigger a rebuild:


Build options

See for more information about browserify.

Source Maps

Browserify comes with a built-in support to generate source maps. It is already enabled by default, but feel free to disable source maps. Refer to this article to enable source maps in Google Chrome, if you haven’t already done so.


Run all tests

grunt test

Run a specific test

grunt test --grep="Name of your test"


Converts all phone numbers to links



1.1.4 (2019-12-17)

  • Combine yarn watch and grunt watch [Nachtalb]
  • Fix candlestick being run to early before DOM is ready [Nachtalb]

1.1.3 (2019-12-14)

  • Fix plone 5 resource bundle for production mode. [tinagerber]

1.1.1 (2019-09-23)

  • Add profile (and uninstall profile) for Plone 5. [djowett-ftw]
  • Update README.rst to improve English and note Plone5.1 compatibility. [djowett-ftw]

1.1.0 (2019-09-04)

  • Test against Plone 5.1.x. [mbaechtold]
  • Add HISTORY.txt to long description. [busykoala]

1.0.5 (2018-01-11)

  • Compile javascript sources. [Kevin Bieri]

1.0.4 (2017-12-13)

  • IBAN number are no longer recognized as phone numbers. [Kevin Bieri]

1.0.3 (2017-03-23)

  • Fix parson of phonenumbers.

    • No longer allow too short phonenumbers
    • Allow phone numbers with varying spaces around number groups

    [Kevin Bieri]

  • Move phonenumbers samples to testing section. [Kevin Bieri]

  • Fix readme. [Kevin Bieri]

1.0.2 (2017-03-10)

  • Fix parse and replace issues.

    • Parentheses should not be included in the phone links.
    • Trailing text should not be ignored.

    [Kevin Bieri]

1.0.1 (2017-01-13)

  • Fix error in treeWalker on Internet Explorer >= 9. [Kevin Bieri]

1.0.0 (2016-11-30)

  • Initial implementation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ftw.candlestick, version 1.1.4
Filename, size File type Python version Upload date Hashes
Filename, size ftw.candlestick-1.1.4.tar.gz (276.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page