
Blessed – A high-level terminal interface library for Node.js - tilt
https://github.com/chjj/blessed
======
chjj
Thanks for posting this. It certainly got a lot more attention than my
original post for blessed:
[https://news.ycombinator.com/item?id=6058639](https://news.ycombinator.com/item?id=6058639)

I guess I'm bad at HN. :)

------
goldfeld
Blessed makes sexy terminal apps easy. But of course I wanted more, like
making terminal apps in the React (functional reactive) model[1], using
ClojureScript (running on nodejs). And then at some point cross-compile simple
text-based interfaces to both terminal (through blessed) and to the web and
mobile (with React and React Native.) So I've been at this for a while, when
time permits, assembling such a library on top of core.async:

[https://github.com/goldfeld/i9n](https://github.com/goldfeld/i9n)

I'm going for simple and declarative, especially for common terminal interface
navigation, such as menus, lists and dashboards. Now I'm working on a built-in
tiling/split windowing system and on to become a terminal multiplexer toolkit
builder of sorts I guess. The whole motivation behind this work is automation
of developer environments through an efficient interface (inspired by vim and
implementing its command mode).

[1] There's still quite some state from blessed to abstract out.

~~~
chjj
On another note,

I would love to see higher level frameworks wrapping blessed. Blessed gives
you the API and some fancy widgets/elements: it's the (nicer) DOM for the
terminal.

This guy already started an XML-based markup language for blessed:
[https://github.com/kevinhikaruevans/blessedoo](https://github.com/kevinhikaruevans/blessedoo).
That's the kind of stuff I love to see as the author of blessed.

If you could take something like JSDOM (combined with a CSSOM node module),
and make blessed the backend rendering engine, you could practically just
_use_ React, Angular, or any of the high level web frameworks. Or you could
just make a kickass terminal web browser with just the DOM/CSSOM wrapper.

Blessed has everything you need to make a terminal a browser-like environment:
overlay images, ansi images, element transparency, every mouse protocol still
in use, hover effects, forms, dynamic layout positioning, etc.

I really want to see someone do this. If not, I might have to do it some day.

Also, the first person to create a terminal-based MMORPG gets a satoshi.

~~~
goldfeld
Your API opens up a lot of possibilities in my head too. Thanks for bestowing
it upon the node community! The library I posted is a foundation layer on
which I'm building a web browser for the terminal, but it's more in the style
of a super-integrated Emacs web browser or old text browsers, with a
consistent, accessible interface, made eye-catching thanks to blessed.

~~~
chjj
No thanks necessary. It all came out of my terminal obsession. Nights where I
didn't sleep because I loved making cool shit happen in my terminal.

