{{title}}
+{{author}}
+ + {{status_label}} + {{meta}} +Reading log
++ +
On your radar
+ {{#recommendation}} +"{{note}}"
diff --git a/README.md b/README.md new file mode 100644 index 0000000..aa7fe4e --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Overview + +Spine is a tool for managing your personal library. Spine keeps track of books you want to read, are reading and have read. Spine lets you track notes about the books and why you were interested in them in the first place. + +# Design + +Spine is primarily a web application where you view and enter details about books. To ensure your data is fully portable and independent of Spine itself, your book data is backed by a single Org file ( http://orgmode.org/ ) + +The application itself is written in Elisp and runs inside of Emacs but serves up its interface as HTML derived from your `spine.org` file. diff --git a/spine-mockup-a-agenda.html b/spine-mockup-a-agenda.html new file mode 100644 index 0000000..87616bb --- /dev/null +++ b/spine-mockup-a-agenda.html @@ -0,0 +1,124 @@ + + +
+ + +{{author}}
+ + {{status_label}} + {{meta}} +Reading log
+On your radar
+ {{#recommendation}} +\n") - (dolist (note (plist-get book :notes)) - (insert (format "\n")) - (insert "[%s] %s
\n" - (spine--h (car note)) - (spine--h (cadr note))))) - (let ((parts nil)) - (let ((rating (plist-get book :rating))) - (when (and rating (> (length rating) 0)) - (push (format "Rating: %s/5" (spine--h rating)) parts))) - (let ((isbn (plist-get book :isbn))) - (when (and isbn (> (length isbn) 0)) - (push (format "ISBN: %s" (spine--h isbn)) parts))) - (let ((fmt (plist-get book :format))) - (when (and fmt (> (length fmt) 0)) - (push (format "Format: %s" (spine--h fmt)) parts))) - (let ((added (plist-get book :added))) - (when (and added (> (length added) 0)) - (push (format "Added: %s" (spine--h added)) parts))) - (when parts - (insert (format "\n" - (mapconcat #'identity (nreverse parts) " · "))))) - (insert "