Page MenuHomePhabricator

Collaborative way to generate SVG/PNG graphs using Lua modules
Closed, DuplicatePublic


See also T66460: Dynamically generate files with Scribunto, which may overlap/duplicate.

Extension:EasyTimeline ( lacks some essential features and doesn't support complex text rendering capability needed for scripts other than Latin. Wikipedia community also created hand crafted family tree graphs, e.g. en:Template:Inglis family tree (, using HTML tables hack. Now that we have a proper programming language support on Wikipedia wikis, it would be nice if SVG/PNG graphs could be generated using Lua script or wikicode by community, something like mw:Extension:Inline SVG extension ( but updated and ready to use, or adopting one of Lua bindings of Cairo graphic library. (

--ebrahimtalk 23:16, 9 November 2015 (UTC)

This card tracks a proposal from the 2015 Community Wishlist Survey:

This proposal received 6 support votes, and was ranked #81 out of 107 proposals.

Event Timeline

DannyH raised the priority of this task from to Needs Triage.
DannyH updated the task description. (Show Details)
DannyH subscribed.
IMPORTANT: If you are a community developer interested in working on this task: The Wikimedia Hackathon 2016 (Jerusalem, March 31 - April 3) focuses on #Community-Wishlist-Survey projects. There is some budget for sponsoring volunteer developers. THE DEADLINE TO REQUEST TRAVEL SPONSORSHIP IS TODAY, JANUARY 21. Exceptions can be made for developers focusing on Community Wishlist projects until the end of Sunday 24, but not beyond. If you or someone you know is interested, please REGISTER NOW.

Same as T66460#2933038:
I think we should reject this task, because Lua can already generate <graph>...</graph> chart -- that's what Template:Graph:Chart actually does, or, better yet, use one of the templates like Pie from row or Line chart to plot data directly from a dataset table on Commons.

I'm boldly going to decline this abandoned task as per last comment.
Feel free to reopen and add an active code project tag, if there are reasons to keep this task open.