Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elm
  3. Litvis

Litvis

BSD-3-ClauseTypeScript

A light-touch approach to designing, building, and describing visualizations using literate programming in Markdown.

Visit WebsiteGitHubGitHub
409 stars31 forks0 contributors

What is Litvis?

Litvis is a literate visualization framework that combines Markdown, Elm, and Vega-Lite to create interactive, reproducible data visualizations with integrated narrative text. It allows developers and researchers to design, build, and describe visualizations in a single document where code execution and chart rendering happen in real-time. The tool solves the problem of separating visualization code from its documentation, enabling more transparent and maintainable data storytelling.

Target Audience

Data visualization researchers, educators, and developers who need to create reproducible, well-documented interactive charts and want to integrate narrative explanation directly with their code.

Value Proposition

Developers choose Litvis for its seamless integration of live Elm code execution, interactive graphics, and Markdown-based documentation in a single environment. Its unique selling point is the literate programming approach that treats visualization design and exposition as a unified process, supported by features like cross-block referencing and branching narratives.

Overview

Literate Visualization: Theory, software and examples

Use Cases

Best For

  • Creating interactive data visualizations with embedded explanatory text
  • Building reproducible research documents that combine analysis and visualization
  • Teaching data visualization concepts with live coding examples
  • Developing branching narrative explorations of alternative chart designs
  • Generating parameterized families of related graphics (e.g., small multiples)
  • Debugging and inspecting Vega-Lite specifications within a document context

Not Ideal For

  • Teams using JavaScript, Python, or other languages instead of Elm for visualization
  • Projects requiring lightweight, editor-agnostic setups without VS Code and npm dependencies
  • Building standalone web applications or dashboards outside of Markdown documents
  • Quick prototyping with pre-built chart libraries like D3.js or Chart.js

Pros & Cons

Pros

Live Elm Execution

Elm code blocks compile and execute in real-time with results embedded directly in the markdown, enabling immediate feedback and iterative design as shown in the hello world and chart examples.

Cross-Block Referencing

Symbols defined in one code block can be referenced in others or in text using triple-hat notation (^^^), allowing seamless integration of code and narrative, as demonstrated in the parameterized references example.

Interactive Visualizations

Supports interactive charts and user input controls via Vega-Lite/Vega specifications, with the 'interactive' attribute making visualizations live, as highlighted in the interaction GIF.

Structured Narratives

Branching narratives and YAML-based schemas provide scaffolding for organizing and validating content around visualizations, facilitating reproducible research and design exploration.

Cons

VS Code Lock-in

Requires VS Code with specific extensions (markdown-preview-enhanced-with-litvis, prettier, elm tooling), limiting editor flexibility and adding setup complexity for other environments.

Elm Ecosystem Dependency

Heavily tied to Elm and elm-vega/vegalite libraries, restricting visualization options and requiring Elm proficiency, which may not align with teams using more common web tech stacks.

Complex Initial Setup

Multi-step installation involving Node.js, Elm, npm, Prettier, and editor configurations, as detailed in the setup instructions, creating a barrier to quick adoption.

Frequently Asked Questions

Quick Stats

Stars409
Forks31
Contributors0
Open Issues12
Last commit2 months ago
CreatedSince 2018

Tags

#vega-lite#reproducible-research#storytelling#vega#markdown#data-visualization#documentation-tools#narrative#literate-programming#elm#interactive-charts#visualization

Built With

Y
YAML
V
Vega-Lite
V
VSCode
E
Elm
V
Vega
N
Node.js
P
Prettier

Links & Resources

Website

Included in

Elm3.7k
Auto-fetched 1 day ago

Related Projects

Elm FormatElm Format

elm-format formats Elm source code according to a standard set of rules based on the official Elm Style Guide

Stars1,332
Forks148
Last commit1 year ago
type-o-ramatype-o-rama

👾 JS type systems interportability

Stars247
Forks6
Last commit3 years ago
Elm JSONElm JSON

Install, upgrade and uninstall Elm dependencies

Stars185
Forks11
Last commit2 years ago
Elm OracleElm Oracle

Query for information about values in elm source files.

Stars153
Forks16
Last commit8 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub