Add ImageExport renderer based on running node.js
Nobody has claimed this yet.
- Dominant language
- F#
- Stars
- 860
- Forks
- 99
- Avg merge
- 22m
- Merged PRs (30d)
- 1
Description
Description
As plotly.js, the underlying library that Plotly.NET is using needs an environment that can execute javascript to render images programmatically.
https://github.com/tjanczuk/edge seems to be able to run javascript code in node.js from .NET, meaning it should be possible to use plotly.js to render our json objects and save them to a file via node. This would be a big addition, because it would not need a headless browser to achieve this, just a node installation.
Pointers
- here is an answer that shows how to do this with
jsdom: https://stackoverflow.com/a/76070903/5675597 - A reference implementation for this using PuppeteerSharp can be seen here
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading src/Plotly.NET.ImageExport/PuppeteerSharpRenderer.fs and compare its rendering flow with the linked jsdom approach and edge's Node.js execution model. Define the Node.js-based renderer's integration and verify that Plotly.NET JSON objects can be rendered and saved as images without a headless browser.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fsharp, javascript, node.js
- Domain
- data-visualization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100