atlas-engineer / nui

Spinneret tags for composing Lisp documentation and other text-centric interfaces.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NUI

NUI is abandoned due to being overly complicated and hard to integrate into Nyxt

NUI is a set of Spinneret tags useful in documentation, blog posts, and other text-centric HTML interfaces. It originates from Nyxt, where it’s used in the manual and help system.

The tags that NUI provides are:

  • Text/structure tags:
    :nsection
    section, its heading with a link to itself, and a linkable ID.
    :ntoc
    auto-generated Table of Contents for the provided HTML.
  • Lisp-specific tags:
    :nkey
    Emacs-like key rendering with CUA notation as a tooltip.
    :ncode
    Lisp (or non-Lisp) code listing, enriched with symbol references and customizable actions.
    :nxref
    reference to a symbol in a configurable documentation source.
  • Interactive tags:
    :nbutton
    a button invoking the action you provide.
    :nselect
    <select> tag with actions bound to it.
    :ninput
    input area tracking every modification and focus.

Getting started

Clone the Git repository:

git clone --recursive https://github.com/atlas-engineer/nui ~/common-lisp/

And then load :nui in the REPL:

(asdf:load-system :nui)
;; or, if you use Quicklisp
(ql:quickload :nui)

Tag helpers

NUI exposes a set of methods that define how to process tag arguments and bodies. One has to specialize these methods before using NUI.

History

NFiles was originally developed for user file management in Nyxt, so the “N” may stand for it, or “New”, or whatever poetic meaning you may find behind it!

About

Spinneret tags for composing Lisp documentation and other text-centric interfaces.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Common Lisp 97.2%Language:Scheme 2.8%