From 02374b508a6be1eb9dcd2ee24fff076965fb4992 Mon Sep 17 00:00:00 2001 From: Kieran Klukas Date: Wed, 29 Jul 2026 10:08:39 -0400 Subject: [PATCH] feat: update readme --- README.md | 4 ++- spec.md | 86 ------------------------------------------------------- 2 files changed, 3 insertions(+), 87 deletions(-) delete mode 100644 spec.md diff --git a/README.md b/README.md index a599075..6a792b7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # sharepoint -reimplementation of remarkable's quickshare urls +This is a reimplementation of remarkable's quickshare urls which are wonderful but have a limited lifetime of about 30 days. I wanted to be able to keep mine around for much longer so I built this! + +![screenshot of the page](https://l4.dunkirk.sh/i/uilWzM1DTgny.webp) The canonical repo for this is hosted on tangled over at [`dunkirk.sh/sharepoint`](https://tangled.org/dunkirk.sh/sharepoint) diff --git a/spec.md b/spec.md deleted file mode 100644 index 48a2c7a..0000000 --- a/spec.md +++ /dev/null @@ -1,86 +0,0 @@ -# Handwriting Reader — Spec - -A share-style reader for handwritten pages: transcribed text on the left, -the original handwriting scan (SVG) on the right, one row per page. Modeled -on the reMarkable share layout. Static, self-contained HTML — no build step, -no server, no browser storage. - -## Layout - -- **Top bar** — brand name (left), *Copy link* + overflow menu (right). Sticky. -- **Reader** — a vertical stack of *spreads*, one per page. Each spread is a - two-column grid: transcription (left) and scan (right), top-aligned. -- **Scan column** is `position: sticky`, so a tall transcription scrolls past - a pinned scan. The first spread's text column carries the document header - (date eyebrow + serif title with a left rule). -- Collapses to a single stacked column below ~880px. - -## Data model - -Everything renders from one object. The import flow produces this; the UI only reads it. - -```js -DOC = { - brand: string, // top-bar label - pages: Page[] // one entry per handwriting page -} - -Page = { - header?: { // usually only on pages[0] - date: string, - title: string - }, - text: string, // HTML for the left column (see below) - svg: string // the paired scan (see below) -} -``` - -Every page is assumed to have **both** `text` and `svg` — pairing happens at -import time, so the UI does not handle missing scans or empty states. - -## Content rules - -**`text`** is an HTML string. Supported/expected tags: -- `

`, `

` (section labels), `