divan/api
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
..
src Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
.gitignore Divan v2: Node.js API + PostgreSQL (proof of concept) 2026-10-08 20:24:20 +02:00
package-lock.json Divan v2: Node.js API + PostgreSQL (proof of concept) 2026-10-08 20:24:20 +02:00
package.json Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00