Skip to content

Show HN: Decksh – a DSL for presentations and data visualizations

github.com/ajstarks
2 pointsajstarks1 comment
On HN

decksh is a domain-specific language for presentations, information displays, and data visualizations. I built decksh as a way to have complete control over my presentations, and to have a portable, documented, long-lasting format for information.

decksh generates the deck[1] markup language which uses a percentage-based coordinate system, and may be rendered as PDF, SVG, or PNG. decksh is written in the Go programming language, and may be called as a library. The decksh object reference[2] describes the language.

decksh works with text in many orientations (left, centered, end, rotated) as well as text and code blocks, images (GIF, PNG, JPG), graphics (lines, curve, arc, circle, rectangle, square, ellipse, polygon, polylines), along with composite objects (lists, arrows, braces, brackets). Charts and graphs are also included: (bar, line, scatter, donut, dot, lego, proportional maps, fan, bowtie, slope, and radial charts).

decksh supports variables, color naming, (SVG names, rgb, hex rgb, and hsv), user-defined functions, loops, and conditionals.

Examples of decksh use are collected in the deckviz[3] repo, and may be seen on SpeakerDeck[4]. The Du Bois data visualization re-creations[5] were done with decksh.

[1] https://github.com/ajstarks/deck [2] https://speakerdeck.com/ajstarks/decksh-object-reference [3] https://github.com/ajstarks/deckviz [4] https://speakerdeck.com/ajstarks [5] https://speakerdeck.com/ajstarks/recreating-the-dubois-data-...

Comments

Just add some parentheses and Greenspun's 10th rule is achieved yet again :D

[1] https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.