Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
prototype
README.md

README.md

Semantic UI

This repository is for trying things based on the Semantic UI note.

The primary goal is to untie programs from UIs, simplifying the programs and providing much more user control over UIs: the ability to change colors, fonts, controls, or whole UI engines without conflicting with application-provided ones, and for an application -- the ability to just do its job without dealing with UI.

Prototype

In the prototype directory, there's one of the prototypes, which includes three programs: feed and doc, which load feeds and documents (anything pandoc can read), and pack them into a structure, and view, which reads that structure, and renders it using SDL.

The viewer is designed to resemble an info reader, but with graphics, and aiming to be more interactive in the future (more like info reader inside of emacs, and with dynamic input). Or just a pager, but graphical.

Controls

Controls are similar to those of info: [/], p/n, u for structured navigation; space, f/b, and mouse scroll for positional navigation; mouse click on a link prints its target into stdout.

Examples

Invocation

feed http://xkcd.com/atom.xml \
     https://feeds.feedburner.com/InvisibleBread \
     http://existentialcomics.com/rss.xml \
     http://www.smbc-comics.com/rss.php \
| view \
| guile -c "(do ((e '(dummy) (read))) ((eof-object? e))
(when (eq? (car e) 'link) (display (caddr e)) (newline) (flush-all-ports)))" \
| xargs -L 1 xdg-open

Screenshots

feeds in the viewer

readme in the viewer

Document structure

data Inline = IText String
            | ILink String String
            | ICode (Maybe String) String

data Block = BParagraph [Inline]
           | BImage String
           | BSection String [Block]
           | BCode (Maybe String) String

Serialization

(section "Entries"
         (section "Solar Spectrum"
                  (paragraph "Date: 2016-09-15 00:00:00 UTC")
                  (image "/home/defanor/.cache/feeds/http://imgs.xkcd.com/comics/solar_spectrum.png")
                  (paragraph "I still don't understand why the Sun paid the extra money for Transitions lenses.")
                  (paragraph "URI: " (link "http://xkcd.com/1733/" "http://xkcd.com/1733/")))
         (section "Earth Temperature Timeline"
                  (paragraph "Date: 2016-09-12 00:00:00 UTC")
                  (image "/home/defanor/.cache/feeds/http://imgs.xkcd.com/comics/earth_temperature_timeline.png")
                  (paragraph "[After setting your car on fire] Listen, your car's temperature has changed before.")
                  (paragraph "URI: " (link "http://xkcd.com/1732/" "http://xkcd.com/1732/")))
         (section "Wrong"
                  (paragraph "Date: 2016-09-09 00:00:00 UTC")
                  (image "/home/defanor/.cache/feeds/http://imgs.xkcd.com/comics/wrong.png")
                  (paragraph "Hang on, I just remembered another thing I'm right about. See...")
                  (paragraph "URI: " (link "http://xkcd.com/1731/" "http://xkcd.com/1731/")))
         (section "Starshade"
                  (paragraph "Date: 2016-09-07 00:00:00 UTC")
                  (image "/home/defanor/.cache/feeds/http://imgs.xkcd.com/comics/starshade.png")
                  (paragraph "The New Worlds Mission is already trying to get funding for this, but NASA sponsored their proposal, so it will be hard to catch the telescope people by surprise with it.")
                  (paragraph "URI: " (link "http://xkcd.com/1730/" "http://xkcd.com/1730/"))))