summaryrefslogtreecommitdiff
path: root/vrsite/templates/page-notes.tmpl
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-08-02 23:43:08 -0300
committerGabriel Schneider <[email protected]>2026-08-03 09:54:39 -0300
commit5ec72f8723d795d0b02d7e9ebb9f555f0c7e6a2e (patch)
treef12f4b700fff4ff6f7e818d2a542672ba0b8d76e /vrsite/templates/page-notes.tmpl
parenta9263daee9413c5eff3c1f1bebcd224442fd8685 (diff)
downloadnotevi-5ec72f8723d795d0b02d7e9ebb9f555f0c7e6a2e.tar.gz
notevi-5ec72f8723d795d0b02d7e9ebb9f555f0c7e6a2e.zip
rebrand to notevi: one CLI over the jj sidecar
vr and vrsite become a single binary. vrsite/ folds into a web package in one module (0x4200.cafe/notevi); "notevi web" serves and exports exactly what vrsite did, and "notevi read/grep/note/query" is unchanged. The sidecar is renamed with it: notevi_log, notevi-log.jsonl, and the description "private: notevi log". The pre-rebrand names are still recognized, so an old repository opens and reads; it is renamed in place on the first write, or up front with "notevi migrate DIR...". That rename cannot be a single mv inside jj run. jj only auto-tracks a *new* file in the run working copy below a size limit it does not take from the command line, so writing a whole log under a name the change has never held is silently dropped while jj reports success. ensureLogFile creates the file empty first and lets every later byte be a modification of a tracked file, which snapshots at any size; that also fixes the same latent bug when importing a large legacy vr-log.jsonl. Adds a bem-te-vi mark (favicon and nav brand) and a README. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Diffstat (limited to 'vrsite/templates/page-notes.tmpl')
-rw-r--r--vrsite/templates/page-notes.tmpl52
1 files changed, 0 insertions, 52 deletions
diff --git a/vrsite/templates/page-notes.tmpl b/vrsite/templates/page-notes.tmpl
deleted file mode 100644
index ebd5865..0000000
--- a/vrsite/templates/page-notes.tmpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{define "facet"}}<select name="{{.Name}}" aria-label="{{.Label}}">
- <option value="">{{.Label}}</option>
- {{range .Values}}<option value="{{.}}"{{if eq . $.Sel}} selected{{end}}>{{if $.Short}}{{short .}}…{{else}}{{.}}{{end}}</option>
- {{end}}</select>{{end}}
-
-{{define "page-notes"}}
-<header class="filehead">
- <h1>Notes</h1>
- <p class="meta">
- {{if eq .Scope "all"}}
- all {{.Site.NotesTotal}} in the log, every change
- {{else if .ScopeEmpty}}
- all {{.Site.NotesTotal}} in the log — nothing was recorded at <code>{{short .ChangeID}}</code>
- {{else}}
- {{len .Site.Notes}} written at <code title="{{.ChangeID}}">{{short .ChangeID}}</code>{{if .Elsewhere}} ·
- {{if .Live}}<a href="{{.ScopeHref "all"}}">{{.Elsewhere}} more at other changes</a>
- {{else}}{{.Elsewhere}} more at other changes are not in this export{{end}}{{end}}
- {{end}}
- {{if .Live}} · anything you add here is appended to the private log sidecar at this change — the project working copy is never touched{{end}}
- </p>
-</header>
-
-<section class="notespage">
- {{if .Live}}
- <details class="addnote">
- <summary>add a note</summary>
- {{template "noteform" .}}
- </details>
- {{end}}
-
- <form class="filters" id="notefilters" method="get" action="{{.Href "notes"}}"
- {{if .Live}}hx-get="{{.Href "notes-list"}}" hx-target="#notelist" hx-swap="innerHTML"
- hx-trigger="input delay:250ms, change, search" hx-indicator="#notesbusy"{{end}}>
- <input type="search" name="text" value="{{.Filter.Text}}" placeholder="search note text…" autocomplete="off">
- <input type="search" name="file" value="{{.Filter.File}}" placeholder="file path…" list="filelist" autocomplete="off">
- {{template "facet" (dict "Name" "agent" "Label" "any agent" "Values" .Facets.Agents "Sel" .Filter.Agent)}}
- {{template "facet" (dict "Name" "model" "Label" "any model" "Values" .Facets.Models "Sel" .Filter.Model)}}
- {{template "facet" (dict "Name" "session" "Label" "any session" "Values" .Facets.Sessions "Sel" .Filter.Session "Short" true)}}
- {{template "facet" (dict "Name" "kind" "Label" "any kind" "Values" .Facets.Kinds "Sel" .Filter.Kind)}}
- <span class="dates">
- <label class="datef">from <input type="date" name="from" value="{{.Filter.From}}"></label>
- <label class="datef">to <input type="date" name="to" value="{{.Filter.To}}"></label>
- </span>
- <button type="submit" class="nohx">filter</button>
- <button type="button" id="clearfilters">clear</button>
- </form>
- <datalist id="filelist">{{range .Facets.Files}}<option value="{{.}}">{{end}}</datalist>
-
- <p class="meta count"><span id="notesbusy" class="busy">·</span><span id="notecount">{{len .Notes}}</span> notes shown</p>
- <div id="notelist">{{template "notelist" .}}</div>
-</section>
-{{end}}