Quotes that hold more than a sentence, and one list of marks
A quote may hold whole blocks, and they now have room: the rule that gives the writing its rhythm reaches only the editor's own children, so inside a quote a heading, a list and a closing line stood jammed together. Leaving as Markdown they were written on consecutive lines, which every other reader folds into one — the sentence after a quoted list became more of the last bullet. They are divided by a quoted blank line now, the same rule the top level has had since 11 August. The marks were two copies of one list, in two dialogs, and only one of them had ever been extended. One list, one grid, twice as many marks, divided under headings — and anything else can be typed into the search box, which on a phone is where the emoji keyboard lives. The changelog is a third of its length: one entry per day rather than one per image, since a round that repaired what an earlier round the same day broke reads as noise afterwards. Every digest is still listed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c0523f3ba4
commit
c86c63922a
14 files changed
+742
-887
No files matched your search
@@ -541,6 +541,16 @@ itself. A `useLayoutEffect` runs between the DOM being built and the browser
|
||||
painting it, which is exactly the gap that flash lived in. A test samples the
|
||||
sheet's height every frame across a note switch, because one frame is all it was.
|
||||
|
||||
**A quote holds whole blocks.** A heading, a list and a closing line inside one
|
||||
are ordinary blocks of the document, and they are spaced like ordinary blocks:
|
||||
the rule that gives the writing its rhythm reaches only the editor's own
|
||||
children, so inside a quote everything stood jammed against its neighbour — with
|
||||
the items of a list further apart than the blocks around them, which read as the
|
||||
quote being broken. The rule for a quote's children is written *after* the ones
|
||||
for paragraphs and headings on purpose: they are exactly as specific, so earlier
|
||||
it would lose. A paragraph inside a list item is more specific still and keeps
|
||||
its zero.
|
||||
|
||||
**Pages are counted, not stored.** The toolbar says *Page 2 of 4* in the same
|
||||
words the PDF reader uses. A page is the same 3:4 the canvas uses, so "page 2"
|
||||
means the same thing writing or drawing. The note itself stays one continuous
|
||||
@@ -1214,6 +1224,25 @@ editor **and in every link pointing at the note**, so it is recognised by one si
|
||||
everywhere. A note's mark takes a
|
||||
colour too; a chapter's uses the colour the chapter already has.
|
||||
|
||||
Marks get in two ways. **Anything can be typed into the search box** — it is a
|
||||
text field, which on a phone is exactly where the system emoji keyboard lives, so
|
||||
a mark the list never thought of is offered as a tile and used like any other.
|
||||
Eight code points at most, the same limit the server keeps, so one glyph with its
|
||||
modifiers fits and a pasted sentence does not; letters and digits mean a word was
|
||||
typed and a search is meant.
|
||||
|
||||
The list itself lives in one place,
|
||||
[`ui/IconChooser.jsx`](frontend/src/ui/IconChooser.jsx),
|
||||
and **adding one is a single line** — a `{ char, words }` in whichever group it
|
||||
belongs to. Nothing else has to be touched: what is stored on a note is the
|
||||
character itself and not a number into the list, so entries may be added, moved
|
||||
or dropped without disturbing anything already chosen. The words are the whole
|
||||
point of the entry, so give it the ones somebody would actually type — what the
|
||||
thing is *for*, not what it depicts. Both dialogs that offer a mark render that
|
||||
same component; there were two copies of the list once, and only one of them
|
||||
ever grew. The groups are headings, not filters — a search looks through all of
|
||||
them at once, and a group with no match is not drawn.
|
||||
|
||||
**Separators** are lines drawn between notes, optionally named, stored on the
|
||||
notebook beside the sort mode. Renaming and removing are both right-click, which
|
||||
is how everything else in that list is acted on: a left-click on the label used
|
||||
@@ -1351,7 +1380,14 @@ Writing the exporter also turned up a real bug in it: blocks were emitted
|
||||
without a blank line between them, so a list written straight after another list
|
||||
became more items of the first, and a quote or code fence on the next line was
|
||||
read as part of the item above. That is not one reader's quirk — it is what the
|
||||
format says — so the file rendered wrongly everywhere, not only here.
|
||||
format says — so the file rendered wrongly everywhere, not only here. The same
|
||||
rule was missing again one level down, inside a quote, until quotes were made to
|
||||
carry more than a sentence.
|
||||
|
||||
Coming back the other way, a quote is read as a unit across the `>` lines that
|
||||
divide it: a quoted blank line separates the blocks inside the quote, it does not
|
||||
end it. Everything the exporter can put in a quote — headings, lists, tables,
|
||||
code, further quotes — is read back out of one.
|
||||
|
||||
---
|
||||
|
||||
@@ -1375,7 +1411,12 @@ A note without a drawing skips the first question instead of showing it with two
|
||||
thirds greyed out.
|
||||
|
||||
**Markdown** keeps the notes editable elsewhere. Headings, lists, quotes, code,
|
||||
tables and task state all have equivalents and are carried over; a link to
|
||||
tables and task state all have equivalents and are carried over. A quote may
|
||||
hold whole blocks — a heading, a list, a closing line — and inside it they are
|
||||
divided by a **quoted** blank line (`>` on its own), the same way blocks are
|
||||
divided everywhere else: written on consecutive lines, the sentence after a
|
||||
quoted list is read as more of the last bullet by every other reader, and a
|
||||
truly empty line would end the quote instead of dividing it. A link to
|
||||
another exported note becomes a relative link to its file, and a link to a note
|
||||
outside the export degrades to its plain title rather than a dead reference.
|
||||
A note with images or a drawing arrives as a ZIP so the files travel with it,
|
||||
|
||||
Reference in new issue
Block a user