├── .gitignore ├── flute-test.asd ├── flute.asd ├── src ├── package.lisp ├── element-belongs-to.lisp ├── util.lisp └── flute.lisp ├── README.md └── t └── flute.lisp /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /flute-test.asd: -------------------------------------------------------------------------------- 1 | (defsystem flute-test 2 | :author "Bo Yao " 3 | :license "MIT" 4 | :depends-on (:flute :fiveam) 5 | :components ((:module "t" 6 | :serial t 7 | :components 8 | ((:file "flute"))))) 9 | -------------------------------------------------------------------------------- /flute.asd: -------------------------------------------------------------------------------- 1 | (defsystem flute 2 | :author "Bo Yao " 3 | :license "MIT" 4 | :version "0.2-dev" 5 | :components ((:module "src" 6 | :serial t 7 | :components 8 | ((:file "package") 9 | (:file "util") 10 | (:file "flute")))) 11 | :description "A beautiful, easilly composable HTML5 generation library" 12 | :long-description 13 | #.(uiop:read-file-string 14 | (uiop:subpathname *load-pathname* "README.md")) 15 | :in-order-to ((test-op (test-op flute-test))) 16 | :depends-on (:assoc-utils 17 | :let-over-lambda)) 18 | -------------------------------------------------------------------------------- /src/package.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cl-user) 2 | (defpackage flute 3 | (:use :cl) 4 | (:import-from :assoc-utils 5 | :alist 6 | :alistp 7 | :hash-alist 8 | :aget 9 | :delete-from-alistf) 10 | (:import-from :let-over-lambda 11 | :defmacro! 12 | :mkstr 13 | :flatten) 14 | (:import-from :alexandria 15 | :make-keyword 16 | :if-let) 17 | (:export 18 | ;;; builtin HTML elements 19 | ;;; all html5 elements, e.g. div, nav, media, export in code except 20 | ;;;