Web-components for creating interactive scientific articles with reactive variables, equations, and charts.
@curvenote/article is a JavaScript library that provides web-components for building interactive scientific articles and reactive documents. It allows authors to embed dynamic variables, equations, and charts directly into HTML, enabling readers to manipulate parameters and see updates in real‑time. The project aims to make scientific writing more engaging and accessible through explorable explanations.
Scientific writers, educators, and developers creating interactive educational content or research communications that require dynamic, data‑driven documents.
It offers a declarative, web‑component‑based approach to reactive documents, simplifying the creation of interactive scientific content without complex frameworks. Its inspiration from tangle.js and modern web standards provides a lightweight yet powerful tool for explorable explanations.
Components for interactive scientific writing, reactive documents and explorable explanations.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows embedding dynamic variables directly in HTML with bindings, as shown in the cookie example, enabling straightforward real-time updates without complex JavaScript.
Can be added via a simple script tag from a CDN, making it quick to start without build tools, per the getting started instructions for minimal setup.
Provides built-in components for interactive equations and charts that respond to user inputs, specifically tailored for educational and research content.
Leverages web-components, ensuring compatibility with evolving web standards and reducing dependency on specific frameworks, as highlighted in the philosophy.
The npm package doesn't auto-setup the runtime store or register components, requiring additional code as admitted in the README, which adds complexity.
Documentation links point to 'old.curvenote.dev', suggesting infrequent updates or lack of current support, which could hinder troubleshooting.
Primarily designed for scientific writing, so it lacks general-purpose UI elements, forcing integration with other libraries for broader use cases.