A single static file, no build step, no server — proof that ganjoor-tajik-data is directly
usable, and specifically that its deliberately thin poem files (just vOrder + tajikText, no
duplicated metre/rhyme/section data) work exactly as documented: cross-referenced against
ganjoor-data by matching verse order.
What it does differently from mini-ganjoor
- Two data sources, one page. Every poem fetch pulls from both
ganjoor-tajik-data(for the Tajik text) andganjoor-data(for hemistich structure — which verse is the right/left half of a couplet). They're merged client-side by matchingvOrder, exactly asganjoor-tajik-data's ownAPI.mddescribes. If the structure lookup fails for any reason, it falls back to showing the Tajik lines unpaired rather than breaking. - Left-to-right, not right-to-left. Tajik written in Cyrillic reads LTR, unlike Persian — so
unlike mini-ganjoor this page is
dir="ltr"throughout, with a serif that actually supports Cyrillic well (PT Serif) instead of a Perso-Arabic display face. - Sparse by nature. Most poets/categories/poems have no Tajik translation at all — 404s while browsing are expected and explained in the UI, not treated as errors.
- Same id-index jump-to-poem feature as mini-ganjoor, same underlying design (bucketed
index/poems-by-id/{id / shardSize}.json).
- Copy
index.htmlinto the root of a repo (this one,ganjoor/tjmini, already has it). - Push.
- Repo → Settings → Pages → Source: Deploy from a branch →
main/(root)→ Save.
No build step, no dependencies beyond what's already in the file.
Same as mini-ganjoor: no search, no offline support, and uncommon poem structures fall back to one line per verse rather than reproducing every classical form exactly. This is a proof of concept for the data design, not a production reading app.