Reference
Every option the remember extension accepts.
Enabling the filter
filters:
- rememberOptions
extensions:
remember:
page-exclude:
- /drafts/*
- /search.html
separate-chapter-state: true| Option | Type | Default | Description |
|---|---|---|---|
page-exclude |
list of strings | empty | Pathnames to leave out of persistence. |
separate-chapter-state |
boolean | false |
In a book, stores the chapter separately from the scroll position inside it. Ignored elsewhere. |
Each page-exclude entry is matched against the browser’s window.location.pathname, either as a literal substring or as a glob where * stands for one path segment. An entry with no * matches anywhere in the pathname; an entry with one has to match the whole of it.
With separate-chapter-state on, a return visit can offer to reopen the previous chapter even when the reader never scrolled in it.
What is stored
| Format | Kept |
|---|---|
| HTML document | Scroll position, the section anchor being viewed, and the time of the visit. |
| Quarto book | The chapter, the scroll position within it, and the time of the visit. |
| RevealJS | The horizontal, vertical, and fragment indices, and the time of the visit. |
Everything is written to the reader’s localStorage. Nothing leaves the browser.
Outside a book the entry names the pathname; in a book it names the directory the chapters sit in, which is what lets a return visit cross from one chapter to another.
One position is kept at a time, so reading a second page replaces the first. separate-chapter-state records the chapter in a second entry alongside it.
When the reader is prompted
The prompt is deliberately quiet:
- it appears on a new visit alone, which means a browser tab that has not yet moved from one page to another; within a tab that has, the position is restored without asking;
- it appears only when there is something worth restoring, which means more than 100 pixels of scroll, a section anchor, or a slide;
- it appears at most once every five seconds;
- it says how long ago the visit was, so the reader can judge;
- declining clears the stored position rather than asking again.
Esc counts as declining, and the dialogue carries the attributes a screen reader needs: role="alertdialog", aria-modal, and a label and description bound to its title and message.
In a book the prompt offers the chapter that was being read, and accepting it navigates there.
How a book is detected
The filter reads the project type from QUARTO_EXECUTE_INFO while rendering, and writes it into the page:
<script id="quarto-remember-config" type="application/json">
{"page-exclude":[],"project-type":"book","separate-chapter-state":false}
</script>The script reads that at startup rather than inspecting the page, so detection survives a theme change, a custom layout, or single-page navigation.
Limitations
- HTML formats only:
html,revealjs, and book projects. localStorageis required. A browser that refuses to write to it, as a private window may, disables the feature with one console warning rather than failing.- One position is stored at a time, so scrolling a second page replaces the first.
- In a book the chapters share that entry, which is how a chapter is restored;
separate-chapter-stateadds a second entry for the chapter alone.