- appsettings: drop upstream's public JWT secret; API refuses to start outside Development without one
- Cors:AllowedOrigins (compose: https://SITE_DOMAIN); unset = any origin for local dev
- default admin/system/bot emails @divan.local instead of @ganjoor.net
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- poem page: drop manuscripts/images tab and Pinterest/museum image suggestion form
- remove image recommendation (Pin) page and route
- museum API, services and tables stay dormant (no schema change)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- translate remaining public views and page-model strings (titles, messages, relation names)
- Urdu stopword list for word-frequency stats (replaces Persian list)
- error pages: drop list of alternative Ganjoor services
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- translate reading-path views (poet, category, poem, search, header, login, partials)
from Persian to Urdu (exact-run dictionary, 262 strings; AI-summary data marker kept)
- semantic search widget only when SemanticSearchAPIRoot is configured
- appsettings defaults: no Ganjoor tracking script, no Ganjoor semantic search,
API/site roots default to the local Divan stack instead of api.ganjoor.net
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- MakeTextSearchable: Urdu letter variants, Urdu full stop, Urdu diacritics, zwj/marks
- SearchLikePatterns: phrase or per-word LIKE patterns (escaped), normalised like stored text
- poem, similar-poem and comment search use LIKE (Linux SQL Server image has no full-text)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- poet ImageUrl always points at the API image endpoint
- endpoint serves a neutral SVG placeholder when a poet has no portrait
- public data export: poet image URLs use our API (WebServiceUrl), not ganjoor.net
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- drop 7-day/top visits tabs (Ganjoor's kntr analytics)
- page language options: Urdu (default), Persian, Arabic; drop Turkish/Kurdish
- fa-IR -> ur-PK as default language/culture (site + API); JS digits ur-PK-u-nu-arabext
- unlink blog/museum/ava/... .ganjoor.net help links (text kept)
- random verse: data-driven random poem from our DB/API instead of c.ganjoor.net widget
and hard-coded Persian poet id ranges
- word tooltip: Urdu Wiktionary instead of vajehyab; drop abjad.ganjoor.net
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pages, API endpoints, services and assets removed; music DB models/tables kept
so the feature can be rebuilt for Urdu later.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- delete TajikGanjoor project (removed from solution)
- drop Tajik endpoints/services/DTOs/entities; migration DivanRemoveTajik drops their tables
- remove Tajik admin buttons/handlers and appsettings sections
- README is now Divan's; upstream README kept in docs/GANJOOR-README.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Rebrand گنجور -> دیوان across GanjooRazor; lang=ur; Urdu home page and footer
- Hijri century groups with Urdu names
- Noto Nastaliq Urdu (default) / Noto Naskh Arabic switch
- Remove footer links to Ganjoor-only services; link Wikisource, data and code
- Linux deployment: Dockerfile, docker-compose (SQL Server 2022, API, site, Caddy)
- DIVAN.md: changes and deploy guide
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>