jbrechtel
df1a7aebc9
feat: add book detail view with spine-book-model, httpd/book handler, and title links
...
- Add spine--format-defs defconst shared between index and book models
- Add spine-book-model with status extraction, format selector, notes, recommendation
- Add templates/book.mustache (Pico CSS, journal-style layout)
- Add httpd/book handler serving the detail page
- Link book titles in index view to /book?id=X
- Add spine-book-model-test.el with 13 tests
2026-06-22 22:15:51 -04:00
jbrechtel
c4248dcc89
feat: update HTTP handlers and templates for shelf model
2026-06-21 22:58:52 -04:00
jbrechtel
346fd7af5b
feat: update HTTP handlers for shelf model
2026-06-21 22:55:20 -04:00
jbrechtel
de057de0bf
feat: rewrite spine-index-model for shelf grouping
2026-06-21 22:54:48 -04:00
jbrechtel
e9ea0efa35
feat: update spine-add-form-model for shelf list
2026-06-21 22:53:05 -04:00
jbrechtel
6a961b8460
feat: remove spine-set-status, update edit functions for level-2 headlines
2026-06-21 22:52:49 -04:00
jbrechtel
609e168932
feat: adapt spine-add-book for shelf-based nesting
2026-06-21 22:52:00 -04:00
jbrechtel
858fc6c13b
feat: add spine-shelves, adapt spine-books for shelf nesting
2026-06-21 22:51:01 -04:00
jbrechtel
653ee3442d
feat: concise view sorts all books by LAST_MODIFIED, add property to sample data
2026-06-21 22:02:12 -04:00
jbrechtel
fa6be9ff03
feat: add LAST_MODIFIED property tracked on book creation and edits
2026-06-21 21:58:16 -04:00
jbrechtel
c505a3c239
feat: add root-level minibuffer actions and update template
2026-06-21 11:56:05 -04:00
jbrechtel
6e821de7b1
feat: add /edit handler with note prompt page and action dispatch
2026-06-21 11:51:27 -04:00
jbrechtel
719751cc84
feat: add minibuffer actions to spine-index-model for selected books
2026-06-21 11:47:50 -04:00
jbrechtel
95dc4b5db4
feat: add spine-set-status, spine-add-note, spine-set-rating
2026-06-21 11:43:56 -04:00
jbrechtel
439f9d3eed
fix: use nil for current_filter when no filter active, fix test
2026-06-21 09:11:20 -04:00
jbrechtel
8e07d0efec
feat: pass filter query param from index handler to model
2026-06-21 09:09:14 -04:00
jbrechtel
126330c1dc
feat: add filter parameter to spine-index-model for concise default view
2026-06-21 09:08:54 -04:00
jbrechtel
16bbccf67b
fix: use raw defun httpd/add for proper redirect handling
2026-06-21 08:21:53 -04:00
jbrechtel
da8a20a7e1
feat: wire up /add handler with form model
2026-06-21 08:18:48 -04:00
jbrechtel
9aacccb2ee
feat: add spine-add-book write function
2026-06-21 08:18:18 -04:00
jbrechtel
7faf0cd8ac
feat: render index via Mustache template with spine-index-model
2026-06-21 07:38:32 -04:00
jbrechtel
a6e2c99b62
feat: restyle index page with Pico CSS and emoji glyphs
2026-06-20 17:55:33 -04:00
jbrechtel
112ea4df07
feat: restyle empty-state page with Pico CSS
2026-06-20 17:55:04 -04:00
jbrechtel
24f24620d3
fix: route / to /index, use cadr for query alist, rename lambda t param
2026-06-20 17:02:57 -04:00
jbrechtel
794ef3ffc9
feat: wire up / index handler replacing /hello
2026-06-20 16:59:19 -04:00
jbrechtel
94c310a0b3
feat: add spine-render-index and empty-state view functions
2026-06-20 16:59:06 -04:00
jbrechtel
cc74ca5cfa
test: add ERT tests for spine-books, fix cl-return-from issue
2026-06-20 16:58:45 -04:00
jbrechtel
f25dffa183
feat: add spine-books model function with empty-prop nil handling
2026-06-20 16:57:57 -04:00
jbrechtel
a93efd3617
feat: add spine-skip-server-start guard for testing
2026-06-20 16:56:46 -04:00
jbrechtel
5b46999b3c
feat: daemon mode with named socket, scripts/run for IP:PORT
2026-06-20 15:28:53 -04:00
jbrechtel
8ee1c261e7
fix: add ht to package bootstrap list
2026-06-20 15:24:49 -04:00
jbrechtel
52ccc9681e
feat: add spine.el — package bootstrap, server, hello handler
2026-06-20 15:23:59 -04:00