Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

ASCIISvg Plugin for TinyMCE in Plone for drawing a graph of function in SVG

Project description


A TinyMCE plugin for Plone to render a function of a graph as SVG and it requires a browser that can render SVG.

It is based on the TinyMCE plugin written by David Lippman as part of the IMathAS project: A demo of the IMathAS version of the plugin is available here:

For FullMarks (and Plone), the plugin has been modified to always render SVG and not use any fallbacks that generate images server-side.

Additionally it uses the latest version (ver 2.0) of the ASCIIMATH javascript library by Peter Jipsen available here:

This plugin was developed as part of the FullMarks project funded by the Shuttleworth Foundation, an open educational repository of model questions and answers. See and for more information.


  1. Add as an egg to your buildout and rerun buildout:

    eggs =
  2. Navigate to Add-ons in the Site Setup area of your Plone site.

  3. Activate the TinyMCE ASCIISvg plugin



  • Prevent users from adding an invalid function to the graph. Show an error and ask them to re-enter the function.
  • use single quotes when adding equations to dropdown list since double quotes don’t work on Chrome.
  • use regexp syntax for string replacement since the global match flag (eg s.replace(substr, newsubstr, ‘g’) is not supported by Chrome.


  • use span rather than div as container to allow inline display of graphs
  • Embed svg source in hidden CDATA section alongside ASCIISvg script. NOTE: Plone 3’s safe_html transform swallows CDATA, Plone 4 works correctly.


  • use jq instead of $ to invoke jquery for Plone 3 compatibility


  • Initial release

Project details

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date (76.7 kB) Copy SHA256 hash SHA256 Source None Sep 13, 2011

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page