feat: add notes field to favorites and enhance OG meta tags
Add an optional long-form "notes" text field to each favorite for reviews, thoughts, or extended descriptions. The field is stored in SQLite via a new migration (002_add_fave_notes.sql) and propagated through the entire stack: - Model: Notes field on Fave struct - Store: All SQL queries (Create, GetByID, Update, list methods, scanFaves) updated with notes column - Web handlers: Read/write notes in create, edit, update forms - API handlers: Notes in create, update, get, import request/response - Export: Notes included in both JSON and CSV exports - Import: Notes parsed from both JSON and CSV imports - Feed: Notes used as Atom feed item summary when present - Form template: New textarea between URL and image fields - Detail template: Display notes, enhanced og:description with cascade: notes (truncated) → URL → generic fallback text Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a8f3aa6f7e
commit
485d01ce45
14 changed files with 151 additions and 71 deletions
|
|
@ -2,7 +2,13 @@
|
|||
{{with .Data}}{{with .Fave}}
|
||||
{{if eq .Privacy "public"}}
|
||||
<meta property="og:title" content="{{truncate 70 .Description}}">
|
||||
<meta property="og:description" content="En favoritt av {{.DisplayName}} på {{$.SiteName}}">
|
||||
{{if .Notes}}
|
||||
<meta property="og:description" content="{{truncate 200 .Notes}}">
|
||||
{{else if .URL}}
|
||||
<meta property="og:description" content="{{.URL}}">
|
||||
{{else}}
|
||||
<meta property="og:description" content="En favoritt av {{.DisplayName}} på {{$.SiteName}}">
|
||||
{{end}}
|
||||
<meta property="og:type" content="article">
|
||||
{{if $.ExternalURL}}
|
||||
<meta property="og:url" content="{{$.ExternalURL}}/faves/{{.ID}}">
|
||||
|
|
@ -45,6 +51,10 @@
|
|||
<p><a href="{{.URL}}" target="_blank" rel="noopener noreferrer">{{.URL}}</a></p>
|
||||
{{end}}
|
||||
|
||||
{{if .Notes}}
|
||||
<div class="fave-notes">{{.Notes}}</div>
|
||||
{{end}}
|
||||
|
||||
{{if .Tags}}
|
||||
<p>
|
||||
{{range .Tags}}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,13 @@
|
|||
placeholder="https://...">
|
||||
</label>
|
||||
|
||||
<label for="notes">
|
||||
Notater (valgfri)
|
||||
<textarea id="notes" name="notes"
|
||||
rows="4"
|
||||
placeholder="Utfyllende tekst, anmeldelse, tanker...">{{.Notes}}</textarea>
|
||||
</label>
|
||||
|
||||
<label for="image">
|
||||
Bilde (valgfri)
|
||||
<input type="file" id="image" name="image"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue