divan/api/src
Anas Rashid 542c4672c9 Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search
- Types موضوع، صنف، بحر، شخصیت، مقام، دور and free ٹیگ; a work's tag may be on one couplet (شعر n, from 1).
- Tagging is a revision (tags-category / tags-work) through the L2 -> L1 -> admin pipeline with the new 'tags'
  permission; publishing writes divan-data/divan/<url>.tags, commits it and updates the site; the import reloads them.
- Pages show tag chips (couplet tags under the couplet); /tag/<type>/<name> lists what carries a tag; /tags lists all.
- Search: tag:عشق / ٹیگ:"حب الوطنی" filters works (tagged work, couplet or book), matching tags shown as a group.
- Tag editor rows with suggestions, Urdu keyboard and Roman typing.
- Tests run one file at a time (they share Ghalib's ghazals); the library test picks a ghazal with three couplets.
- Mod buttons sit in a div (a form closes a p, which broke the row).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:42:19 +02:00
..
admin-cli.ts Admin panel: users, password reset on request, disable, roles, delete, audit log (#27) 2026-10-08 23:08:19 +02:00
admin.test.ts Admin panel: users, password reset on request, disable, roles, delete, audit log (#27) 2026-10-08 23:08:19 +02:00
admin.ts Permissions (IAM): L2/L1 moderators and scoped grants (#29) 2026-10-08 23:13:06 +02:00
auth.test.ts Profile: full name and bio (#42) 2026-10-08 23:31:19 +02:00
auth.ts Publishing commits to divan-data git (#34); public names only; 'last edited' on poems 2026-10-09 00:37:39 +02:00
db.ts Divan v2: Node.js API + PostgreSQL (proof of concept) 2026-10-08 20:24:20 +02:00
dict-sync.ts Word dictionary: full Wiktionary data for Urdu, Persian and Arabic in PostgreSQL, kept in sync 2026-10-08 21:48:56 +02:00
dictionary.test.ts Word dictionary in full: all senses with usage examples, every IPA with dialect labels, every recording, full etymologies, synonyms, derived and related words 2026-10-08 22:27:37 +02:00
dictionary.ts Word dictionary in full: all senses with usage examples, every IPA with dialect labels, every recording, full etymologies, synonyms, derived and related words 2026-10-08 22:27:37 +02:00
diff.ts Moderation: versions of works and the L2 -> L1 -> admin pipeline (#31, #51) 2026-10-09 00:31:47 +02:00
divantext.test.ts Urdu content editor on Tiptap (#28): structured editing of Divan text, with the source view 2026-10-09 00:53:17 +02:00
divantext.ts Urdu content editor on Tiptap (#28): structured editing of Divan text, with the source view 2026-10-09 00:53:17 +02:00
git.ts Publishing commits to divan-data git (#34); public names only; 'last edited' on poems 2026-10-09 00:37:39 +02:00
import.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
library.test.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
library.ts Bookmarks with 🔖 for poets, books/chapters and poems; word book on its own page 2026-10-08 23:58:59 +02:00
moderation.test.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
moderation.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
order.test.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
order.ts Arranging content (#41): reorder a book or section's works and sub-sections, a poet's books 2026-10-09 14:02:26 +02:00
owned.ts Publishing commits to divan-data git (#34); public names only; 'last edited' on poems 2026-10-09 00:37:39 +02:00
permissions.test.ts Permissions (IAM): L2/L1 moderators and scoped grants (#29) 2026-10-08 23:13:06 +02:00
permissions.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
search.test.ts Search: poets/writers and books separate from content; numbered pages; filter by authors with Urdu input 2026-10-09 00:14:26 +02:00
search.ts Search: poets/writers and books separate from content; numbered pages; filter by authors with Urdu input 2026-10-09 00:14:26 +02:00
server.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
site.test.ts Home page sections (site permission): rename, add, remove and reorder sections; chosen poets; sort by hand, alphabetically or by timeline 2026-10-09 14:24:43 +02:00
site.ts Home page sections (site permission): rename, add, remove and reorder sections; chosen poets; sort by hand, alphabetically or by timeline 2026-10-09 14:24:43 +02:00
tags.test.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
tags.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
urdu.test.ts Search: highlighted matches, matching couplet or prose excerpt, exact phrase first; opened pages keep the highlight (?hl=) 2026-10-08 21:30:42 +02:00
urdu.ts Search: highlighted matches, matching couplet or prose excerpt, exact phrase first; opened pages keep the highlight (?hl=) 2026-10-08 21:30:42 +02:00