Commit Graph

2522 Commits

Author SHA1 Message Date
Anas Rashid
37fe04ac79 Rename to Divan (Roman script) throughout
Projects (DivanRazor, DivanService.sln), files, folders, classes, settings (Divan:),
API routes (/api/divan), DB name and tables (divan, Divan*), local container/paths,
repo links (anas-rashid/divan, divan-data). Urdu دیوان unchanged.
Migrations renamed consistently (no pending model changes); requires a fresh database.
Stop tracking the generated RMuseum/RMuseum.xml (was upstream's stale doc).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:46:27 +02:00
Anas Rashid
a5f0f1b74d Fix poet image placeholder: null RImageId cast threw 500 (#4); run-local waits via HTTP
- GetPoetImageIdByUrl: missing portrait -> Guid.Empty (placeholder) instead of a null cast
- run-local.sh: wait for SQL Server with a query and for API/site via HTTP
  (pipefail+grep -q never matched; API log level hides 'Now listening' outside Development)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:03:44 +02:00
Anas Rashid
e78fc9bd99 Security pass (#11): no default JWT secret, CORS allow-list, Divan system emails
- 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>
2026-10-05 00:26:01 +02:00
Anas Rashid
9bd445614e Urdu-aware search without SQL Server full-text (#3)
- 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>
2026-10-05 00:09:09 +02:00
Anas Rashid
8bb26a0296 Poet images: placeholder instead of broken images (#4)
- 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>
2026-10-05 00:06:28 +02:00
Anas Rashid
ac41c6115f Database name: museum -> divan
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:49:29 +02:00
Anas Rashid
532d005cdb Rename Ganjoor -> Divan throughout the code
Projects (GanjooRazor -> DivanRazor, GanjoorService.sln -> DivanService.sln), files,
folders, classes, namespaces, settings, API routes (/api/divan) and DB tables (Divan*).
External addresses (ganjoor.net, github.com/ganjoor) unchanged. Migrations renamed
consistently (no pending model changes); requires a fresh database.
Upstream RUNNING_LOCALLY/SEMANTIC_SEARCH docs archived unmodified under docs/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:49:01 +02:00
Anas Rashid
8a981bf993 Remove Ganjoor-specific services; Urdu defaults
- 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>
2026-10-04 23:45:08 +02:00
Anas Rashid
91a7517d31 Remove music features (Spotify, Golha, Beeptunes, music index, song suggestions)
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>
2026-10-04 23:41:02 +02:00
Anas Rashid
ecad9e9311 Remove Tajik: TajikGanjoor site, API, services, export, transliteration
- 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>
2026-10-04 23:37:39 +02:00
Anas Rashid
223166ef5e Divan: make env config work, ur-PK locale, own-site links relative
- AddEnvironmentVariables() where appsettings.json is read directly
- JWT ValidIssuer follows RSecurityBackend:ApplicationName (was hard-coded Ganjoor)
- deploy/entrypoint.sh: copy settings RSecurityBackend reads only from appsettings.json
- Dockerfile: pin SDK 10.0.302 (newer Razor rejects some upstream views)
- lang=ur-PK; ganjoor.net own-site links -> relative; api.ganjoor.net -> APIRoot; search.xml
- DIVAN.md: first admin password is Test!123 (upstream doc is wrong)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:32:16 +02:00
Anas Rashid
1811572d9e Divan: Urdu classical poetry fork of GanjoorService
- 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>
2026-10-04 23:14:25 +02:00
Hamid Reza Mohammadi
09449c347f catmap location link fix 2026-10-04 18:00:36 +03:30
Hamid Reza Mohammadi
cf295d3083 category couplet count plot fix 2026-10-04 17:17:38 +03:30
Hamid Reza Mohammadi
f15bf951bf people tags #387 2026-10-04 15:23:26 +03:30
Hamid Reza Mohammadi
a5f26d1381 people tags #387 2026-10-04 15:22:44 +03:30
Hamid Reza Mohammadi
2e0e87d277 people tags #387 2026-10-04 07:58:00 +03:30
Hamid Reza Mohammadi
3493225dc5 people tags #387 2026-10-03 21:16:42 +03:30
Hamid Reza Mohammadi
6ecfd8c38a people tags #387 2026-10-03 19:38:56 +03:30
Hamid Reza Mohammadi
a1fad2259d people tags #387 2026-10-03 19:25:00 +03:30
Hamid Reza Mohammadi
fecbf0ec3b people tags #387 2026-10-03 18:05:55 +03:30
Hamid Reza Mohammadi
b5ca0f3b9c people tags #387 2026-10-03 12:14:25 +03:30
Hamid Reza Mohammadi
864cd6b38d people tags #387 2026-10-03 08:55:08 +03:30
Hamid Reza Mohammadi
4ba7da57b8 people tags #387 2026-10-03 08:41:31 +03:30
Hamid Reza Mohammadi
b8c45ed93c book list api 2026-10-02 13:40:21 +03:30
Hamid Reza Mohammadi
433cffa5ae people tags #387 2026-10-02 08:06:26 +03:30
Hamid Reza Mohammadi
d7ac35a9fc people tags #387 2026-10-01 22:05:18 +03:30
Hamid Reza Mohammadi
cee01357fc people tags #387 2026-10-01 08:01:18 +03:30
Hamid Reza Mohammadi
ddbef76d94 people tags #387 2026-09-30 20:44:35 +03:30
Hamid Reza Mohammadi
6fb3425fde people tags #387 2026-09-30 18:38:55 +03:30
Hamid Reza Mohammadi
eb88056d0b people tags #387 2026-09-30 18:31:59 +03:30
Hamid Reza Mohammadi
f305394ad7 people tags #387 2026-09-30 18:17:44 +03:30
Hamid Reza Mohammadi
d0efebd2cd people tags #387 2026-09-30 17:50:51 +03:30
Hamid Reza Mohammadi
df4ae4bd01 RSecurityBackend package update 2026-09-30 08:51:39 +03:30
Hamid Reza Mohammadi
0cb288228d people tags #387 2026-09-29 21:10:46 +03:30
Hamid Reza Mohammadi
e0ab9915b6 people tags #387 2026-09-29 19:53:09 +03:30
Hamid Reza Mohammadi
bb68c074b0 people tags #387 2026-09-29 19:32:57 +03:30
Hamid Reza Mohammadi
9d12c23400 people tags #387 2026-09-29 17:13:02 +03:30
Hamid Reza Mohammadi
1c65da5ade people tags #387 2026-09-29 12:35:40 +03:30
Hamid Reza Mohammadi
07cb45f58c people tags #387 2026-09-28 20:10:20 +03:30
Hamid Reza Mohammadi
fa8544b62d people tags #387 2026-09-28 15:06:14 +03:30
Hamid Reza Mohammadi
8110e09a07 people tags #387 2026-09-28 14:41:47 +03:30
Hamid Reza Mohammadi
57e6d77df2 people tags #387 2026-09-28 14:26:37 +03:30
Hamid Reza Mohammadi
073222ec6d people tags #387 2026-09-28 13:48:43 +03:30
Hamid Reza Mohammadi
5003f92f00 people tags #387 2026-09-28 08:54:42 +03:30
Hamid Reza Mohammadi
1614b6e7ca people tags #387 2026-09-28 08:49:48 +03:30
Hamid Reza Mohammadi
da4a0f7c14 people tags #387 2026-09-28 08:40:25 +03:30
Hamid Reza Mohammadi
601c29af36 logout from other sessions 2026-09-27 15:49:07 +03:30
Hamid Reza Mohammadi
ab254fefd5 commennt sanitization 2026-09-26 21:32:02 +03:30
Hamid Reza Mohammadi
748b4b5b0a comment sanitzier 2026-09-26 20:50:24 +03:30