Follow-up to #69/#71. Adds a collection view for /public/bookmark/ and the small browser change needed to support it.
Browser change (general, in data-browser-panes.js)
Panes are now offered containers as well as single resources:
render may be async and may return null/'' to decline (the browser then falls through to the folder table / JSON — no regression for ordinary folders).
h gains isContainer, path, children (parsed members), and fetchResource(url) (async → a child's primary node), so a pane can render a collection.
A resource pane (keyed on @type) naturally won't match a container, and a container pane that doesn't recognise a folder returns null — so existing folders still render the file table.
Collection pane (examples/panes/bookmark-collection.js)
canHandles the conventional /public/bookmark/ container and renders its bookmark:Bookmark members as a searchable feed:
- compact cards (favicon, title, host, 2-line summary snippet, tags), newest first
- a search box filtering live over title + summary + tags + host (self-contained inline
oninput handler — a <script> wouldn't run via innerHTML)
- card body → the bookmark's
.jsonld detail page (the full single-card summary); a corner ↗ opens the original external link
- returns
null if the folder holds no bookmarks (falls back to the folder table)
No version bump
Deliberately not bumping. The data-browser-panes.js change lands on gh-pages but won't hit the cdn until a future publish; running pods can pick it up via a local --mashlib-module override until then. Reference pane, schema.org vocab reused.
Follow-up to #69/#71. Adds a collection view for
/public/bookmark/and the small browser change needed to support it.Browser change (general, in data-browser-panes.js)
Panes are now offered containers as well as single resources:
rendermay be async and may returnnull/''to decline (the browser then falls through to the folder table / JSON — no regression for ordinary folders).hgainsisContainer,path,children(parsed members), andfetchResource(url)(async → a child's primary node), so a pane can render a collection.A resource pane (keyed on
@type) naturally won't match a container, and a container pane that doesn't recognise a folder returnsnull— so existing folders still render the file table.Collection pane (examples/panes/bookmark-collection.js)
canHandles the conventional/public/bookmark/container and renders itsbookmark:Bookmarkmembers as a searchable feed:oninputhandler — a<script>wouldn't run viainnerHTML).jsonlddetail page (the full single-card summary); a corner ↗ opens the original external linknullif the folder holds no bookmarks (falls back to the folder table)No version bump
Deliberately not bumping. The
data-browser-panes.jschange lands ongh-pagesbut won't hit the cdn until a future publish; running pods can pick it up via a local--mashlib-moduleoverride until then. Reference pane, schema.org vocab reused.