Tested in Blink and WebKit.

Which browsers, and when · How all of this works

geodzkdocs

reading plane · What this is, what it keeps, and how to drive it without a browser.

Collections, embeds and paper

A group of links, published as one page — and the same list on something you can cut out.

A group is a folder for your own links. Publish one and it becomes a collection: a titled list on one public page you can hand out.

Publishing a group

  • Publishing gives the group a slug and a public page at https://geodzk.com/c/slug.
  • Unpublishing takes effect on the next request, not up to half a minute later. The owner pressed the button and expects it to mean now.
  • A published URL is never reissued to a different collection, for the same reason a code is never reused.
  • The page shows titles and links. It never shows click counts.
  • ?favorites=1 narrows the page, and the JSON, to starred links only.
  • The page lists links in the order the owner arranged them — Arrange on the dashboard, or PUT /api/groups/{id}/order — with anything added since following in the old order. An orbit nobody has arranged lists favorites first, then newest. Sorting the dashboard changes nothing here: sorting is how you look, arranging is what visitors see.
  • ?theme= picks the page's appearance — system (the default: the visitor's own light or dark, and e-ink on an e-ink screen), dark, light, hc-dark, hc-light or eink. Links at the foot of the page switch it; the embed takes the same parameter in its src. Nothing is stored: the address is the choice. A visitor's own Color vision setting still applies on a page opened that way: the address picks the look, not the eyes.

Putting a collection on your own page

https://geodzk.com/embed/slug is the framable variant, and the only page on this service that may be put in a frame. Its failure page is framable too, so a stale embed shows a sentence rather than handing the host page a blank rectangle.

Paper

The printed side is not an afterthought here: putting a link somewhere a link does not normally go is the whole point of the service.

  • A link card comes in three sizes — a label small enough for a jar or a plant tag, a card at business-card proportions, and a poster block with the QR big enough to scan across a room.
  • A cut sheet is eight of the same card on one page, to cut apart.
  • A collection sheet is the whole published list on one page, with a code beside each link, for handing out at an event.
  • Every QR is black on white and always will be. A theme-aware QR is a QR that fails half the time.
  • Every printed URL is also printed as text, because a QR that cannot be typed by hand is a dead end for anybody without a camera.
EndpointNeedsWhat it does
GET /c/{slug}publicA published collection, as a page. ?favorites=1 shows only starred links. ?theme=system|dark|light|hc-dark|hc-light|eink picks the appearance; a footer of links switches it.
GET /c/{slug}/sheetpublicThe same collection, laid out for a printer. A code beside each link, capped so a sheet stays a sheet.
GET /embed/{slug}publicThe framable variant of a collection. The only page here that may be put in a frame. Takes ?theme= in its src; shows no appearance links of its own.
GET /print/l/{code}links:readOne of your links as something to print. ?size=label|card|poster|cut. A QR is not a secret, but which codes you hold is not public, so somebody else's code answers exactly as a missing one.

Set a fallback_url on anything you print. Paper outlives plans, and a fallback turns a dead end into a redirect.

Back to top

The same page as text, for a program: GET https://geodzk.com/api/docs/publishing — needs a key holding docs:read.

Sign in · geodzk.com