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
6e2a796be9
feat: replace Pico CSS with mockup custom CSS in both templates
2026-06-21 22:03:29 -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
8c8b004500
test: add failing tests for spine-set-status, spine-add-note, spine-set-rating
2026-06-21 11:42:28 -04:00
jbrechtel
17f928ffa8
docs: add edit book actions implementation plan
2026-06-21 09:40:16 -04:00
jbrechtel
41a8ba24d1
docs: add edit book actions design spec
2026-06-21 09:38:53 -04:00
jbrechtel
31833bf38e
docs: add AGENTS.md with workflow conventions
2026-06-21 09:14:06 -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
4cf11fdd02
feat: add filter nav bar and summary group links to index template
2026-06-21 09:09:29 -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
d00732a8ca
test: add failing tests for filtered spine-index-model
2026-06-21 08:46:55 -04:00
jbrechtel
fbe49d729b
docs: add concise default view design spec
2026-06-21 08:34:58 -04:00
jbrechtel
b6b0539b82
test: add tags to Piranesi and Ancillary Justice in sample data
2026-06-21 08:22:13 -04:00
jbrechtel
16bbccf67b
fix: use raw defun httpd/add for proper redirect handling
2026-06-21 08:21:53 -04:00
jbrechtel
9259c1139d
test: add ERT tests for spine-add-book
2026-06-21 08:19:29 -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
a8ecf952c6
feat: add 'Add book' link to index header
2026-06-21 08:16:14 -04:00
jbrechtel
a12e57ca9b
feat: add add-book form template
2026-06-21 08:15:55 -04:00
jbrechtel
72f2f053a1
docs: add add-book form implementation plan
2026-06-21 08:12:49 -04:00
jbrechtel
62638382ac
docs: add add-book form design spec
2026-06-21 08:10:40 -04:00
jbrechtel
7faf0cd8ac
feat: render index via Mustache template with spine-index-model
2026-06-21 07:38:32 -04:00
jbrechtel
67e41ad110
docs: add mustache templating implementation plan
2026-06-21 07:37:29 -04:00
jbrechtel
c7971eb297
docs: add mustache templating design spec
2026-06-21 07:31:18 -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
bbb40efd1a
docs: add Pico CSS styling implementation plan
2026-06-20 17:53:47 -04:00
jbrechtel
1ad0631f5b
docs: add Pico CSS styling design spec
2026-06-20 17:51:23 -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
362a83ca42
test: add sample-books.org test data
2026-06-20 16:56:25 -04:00
jbrechtel
d476a4eacc
docs: add data model and index page implementation plan
2026-06-20 16:54:53 -04:00
jbrechtel
de64d71936
docs: add data model and index page design spec
2026-06-20 16:52:31 -04:00