12567631a5Merge pull request 'Nastaliq note on switching; titles clear of the path line; sliders the same length' (#108) from feature/nastaliq-hint into main
main
anas2026-10-09 23:20:04 +0000
c8f5459ad7Display settings: both sliders the same length (labels share one width)
feature/nastaliq-hint
Anas Rashid
2026-10-10 01:19:26 +0200
07e85d7a54Nastaliq titles: more line height and space above, so tall letters no longer reach into the path line
Anas Rashid
2026-10-10 01:18:33 +0200
cc797fd262Switching to Nastaliq shows a short note that it is for the text and the rest of the site stays Naskh
Anas Rashid
2026-10-10 01:17:45 +0200
e16b4b412eMerge pull request 'Fonts: interface always Naskh, reading font for the literature; radif spacing' (#107) from feature/ui-naskh into mainanas2026-10-09 23:09:40 +0000
804cf0dc09Fonts, one rule: the interface is always Naskh (menus, forms, paths, footer, moderation); the reading font only for the literature (verses, prose, titles, contents, intros, excerpts, the editor). The radif line no longer overlaps the buttons above it
feature/ui-naskh
Anas Rashid
2026-10-10 01:09:19 +0200
be7140841aMerge pull request 'Poet and book editors: details, intro and titles through the pipeline' (#106) from feature/poet-book-editors into mainanas2026-10-09 23:08:07 +0000
6874a4e4a2Poet and book editors (#32): a poet's name, pen name, years and intro, and a book or section's title, as drafts through the pipeline; published to divan-data (divan/<url>.poet, .book) and the site; history, compare and revert like works; intros in paragraphs
feature/poet-book-editors
Anas Rashid
2026-10-10 01:05:32 +0200
a165f63eceMerge pull request 'One keyboard design across the site' (#105) from feature/unified-keyboard into mainanas2026-10-09 23:00:56 +0000
e9eb3c6f88Merge pull request 'Text size slider in the display settings' (#104) from feature/text-size into mainanas2026-10-09 23:00:44 +0000
24fcbccccdOne keyboard design everywhere: fixed rows that never wrap, a letter a tenth of the row, shift and delete a bit wider, the space bar filling its row; up to 640px wide and centred, in the header, under a field, in the note dialog and docked in the editor
feature/unified-keyboard
Anas Rashid
2026-10-10 01:00:03 +0200
61321b5130Display settings: text size slider (90%-150%) beside Naskh's weight; the whole page scales, remembered, applied before paint
feature/text-size
Anas Rashid
2026-10-10 00:58:01 +0200
77c07c1552Merge pull request 'Attribution: Divan by Muhammad Anas Rashid' (#103) from feature/owner-name into mainanas2026-10-09 22:54:57 +0000
fdb42e78d8Merge pull request 'Profile: Urdu keyboard on name and bio; field keyboards open under the field' (#102) from feature/profile-keyboard into mainanas2026-10-09 22:54:42 +0000
0694a2ed4fMerge pull request 'Naskh weight slider in the display settings' (#101) from feature/naskh-weight into mainanas2026-10-09 22:54:33 +0000
586f49f836Merge pull request 'How to use the site: readers, moderators and admins' (#100) from feature/help-guide into mainanas2026-10-09 22:54:27 +0000
4fc4e644d6Merge pull request 'Statistics for admins: views, visitors, moderation, accounts (no cookies)' (#99) from feature/stats into mainanas2026-10-09 22:54:19 +0000
f037968ef2Attribution: Divan by Muhammad Anas Rashid (NOTICE, TRADEMARKS, README, brand.ts)
feature/owner-name
Anas Rashid
2026-10-10 00:53:33 +0200
de2e3eb751Profile: the Urdu keyboard and Roman typing on the name and bio; a field's keyboard opens right under that field (was at the top of the page, out of sight) and goes back to the header when closed
feature/profile-keyboard
Anas Rashid
2026-10-10 00:53:08 +0200
de1d7eb0a0Display settings: a slider for Naskh's weight (regular to bold), heavier text for reading on phones; remembered, applied before paint; off for Nastaliq
feature/naskh-weight
Anas Rashid
2026-10-10 00:50:24 +0200
b2461e228aHow to use the site: accounts and tag search for readers; moderators' tools (pipeline, editing, history and revert, arranging, tags, e-books, home page) and admins' (users, roles, permissions, statistics), shown to those roles
feature/help-guide
Anas Rashid
2026-10-10 00:46:56 +0200
86b26ba737Statistics for admins (#86): page views, daily visitors and referring sites without cookies or stored addresses (one-day salted hash); moderation activity, accounts and library counts; /admin/stats; privacy page updated
feature/stats
Anas Rashid
2026-10-10 00:45:08 +0200
650b684ae8Merge pull request 'Version history: compare versions, revert through the pipeline, log filters' (#98) from feature/version-history into mainanas2026-10-09 22:43:15 +0000
5c8559c8e9Version history (#51): compare any two versions of a work, arrangement or tags (0 = the Wikisource text), bring an old version back as a draft through the pipeline, filter the moderation log by person, kind and step; one history table for the three pages
feature/version-history
Anas Rashid
2026-10-10 00:42:26 +0200
709b5d4594Merge pull request 'SEO: page descriptions, canonical URLs, structured data' (#97) from feature/seo-pages into mainanas2026-10-09 22:36:51 +0000
46b3372433SEO (#83): descriptions for works (opening couplet), books, poets, e-books, e-book and tag pages; canonical URLs on every page; structured data for poets (Person), books (CollectionPage) and e-books (Book)
feature/seo-pages
Anas Rashid
2026-10-10 00:36:09 +0200
7d398cc19dMerge pull request 'Tags at the end of a page: «ٹیگ» at the start of the line, the tags following it on the same line and wrapping across the width when opened (a sample on /design)' (#96) from anas/tags-help into mainanas2026-10-09 22:25:43 +0000
aa57dcd78cTags at the end of a page: «ٹیگ» at the start of the line, the tags following it on the same line and wrapping across the width when opened (a sample on /design)
feature/tags-help
Anas Rashid
2026-10-10 00:24:30 +0200
faf8931f44Merge pull request 'Tags folded at the end of a page; a how-to-use page instead of the hint' (#95) from anas/tags-help into mainanas2026-10-09 22:16:23 +0000
f20cc25080Tags folded at the end of a page; a "how to use" page instead of the hint
Anas Rashid
2026-10-10 00:13:45 +0200
6fddb3b2e8Merge pull request 'Phones: couplet tools on tap, e-book tabs on one line, a header that steps aside' (#94) from anas/mobile-polish into mainanas2026-10-09 22:03:22 +0000
c2766922b5Phones: couplet tools on tap, e-book tabs on one line, a header that steps aside
Anas Rashid
2026-10-09 23:59:46 +0200
b7facedf95Merge branch 'feature/sticky-header-footer' into main: sticky header, a footer that uses its width (#93)
Anas Rashid
2026-10-09 23:52:24 +0200
7077524dcbFooter: the made-in line on its own row below the logo and tagline
Anas Rashid
2026-10-09 23:51:06 +0200
93ccabdf29Footer: no red دیوان heading (the logo says it; its tall letters collided with the tagline); the tagline beside the logo
Anas Rashid
2026-10-09 23:50:35 +0200
575ef530a7Sticky header and a footer that uses its width
Anas Rashid
2026-10-09 23:33:06 +0200
9f61da990dMerge pull request 'robots.txt, sitemap.xml and an RSS feed of new content' (#92) from feature/robots-sitemap-rss into mainanas2026-10-09 19:55:29 +0000
415459d55fMerge pull request 'Monitoring: /health for uptime checks, structured error logging, API errors without internal details' (#90) from feature/monitoring into mainanas2026-10-09 19:49:08 +0000
ce1adc4dcdMerge pull request 'Fix: stop tracking node_modules links (committed by mistake in #78)' (#89) from fix/untrack-node-modules into mainanas2026-10-09 19:48:58 +0000
b6f6c708a1Merge pull request 'Launch: privacy and terms pages, Urdu 404 and error pages' (#88) from feature/launch-pages into mainanas2026-10-09 19:48:33 +0000
13eaf9fe90robots.txt, sitemap.xml and an RSS feed of new versions, e-books, arrangements and tags (rss.xml, linked in the head and footer)
Anas Rashid
2026-10-09 19:32:55 +0200
0511f7d2eeMonitoring: /health (site, API, database) for an uptime monitor; errors logged as one JSON line each by the API and the site; the API answers errors without internal details
feature/monitoring
Anas Rashid
2026-10-09 19:30:09 +0200
19aace12ffStop tracking api/node_modules and web/node_modules: links to a local folder were committed by mistake in #78; .gitignore now ignores node_modules whether a folder or a link
Anas Rashid
2026-10-09 19:29:27 +0200
8ca681fc5bLaunch pages: privacy (رازداری) and terms (استعمال کی شرائط) in Urdu, Urdu 404 and error pages; footer and sign-up links; contact in brand.ts
feature/launch-pages
Anas Rashid
2026-10-09 19:26:45 +0200
dd5771a128Merge pull request 'Editor keyboard: docked at the bottom, following the writing cursor' (#79) from feature/floating-keyboard into mainanas2026-10-09 16:18:35 +0000
1de1da5410Merge pull request 'Divan text: source link field ماخذ_لنک (was ماخذ_ربط)' (#78) from fix/source-link-name into mainanas2026-10-09 16:18:28 +0000
6a62df9ee0Editor keyboard: docked at the bottom of the window and the page keeps the writing line above it; a close key; search keeps the header keyboard
feature/floating-keyboard
Anas Rashid
2026-10-09 18:15:26 +0200
c1cf7c01a8Divan text: the source link field is ماخذ_لنک (was ماخذ_ربط), in the converter, the editor's suggested fields, the guide and the examples
fix/source-link-name
Anas Rashid
2026-10-09 18:10:51 +0200
bc51aa66abMerge pull request 'Brand protection: GPL section 7 terms, TRADEMARKS.md, the name and taglines in one file' (#77) from feature/brand-protection into mainanas2026-10-09 16:01:30 +0000
d7da7458c0Brand protection: GPL v3 section 7 additional terms (attribution, marked modified versions, no rights to the name and logos) in NOTICE; TRADEMARKS.md; the name and taglines in web/src/lib/brand.ts
feature/brand-protection
Anas Rashid
2026-10-09 17:59:50 +0200
30d66517bdMerge pull request 'Security: a made-up x-client-ip can no longer get round the sign-in and sign-up limits' (#76) from fix/trusted-client-ip into mainanas2026-10-09 15:58:41 +0000
ad7f3cb666Rate limits can't be dodged with a made-up x-client-ip: the API believes it only from the site (DIVAN_SITE_KEY in x-site-key, timing-safe; this machine only when no key is set)
fix/trusted-client-ip
Anas Rashid
2026-10-09 17:38:55 +0200
7c375d70b8Merge branch 'feature/reading-mode' into main: reading mode, pages the browser's reader understands (#75)
Anas Rashid
2026-10-09 17:36:39 +0200
9f401fe2afMerge branch 'feature/ux-motion' into main: notes (separate from bookmarks, notes page), share and download a couplet as an image, Urdu confirm dialog, toasts, busy buttons, page transitions and motion, moderation dashboard, timelines (#74)
Anas Rashid
2026-10-09 17:32:19 +0200
b0c7cbccf1Couplet tools at the couplet's left edge (on the bottom line, clear of the text) instead of centred
Anas Rashid
2026-10-09 17:27:52 +0200
f122eb8f10Couplet tools in one row; share and download apart; Urdu keyboard in the note box
Anas Rashid
2026-10-09 17:27:04 +0200
bab7ffa37fShare card: always Nastaliq (the card loads its own Nastaliq faces, so a page that has not used bold Nastaliq no longer falls back to a wider font) and one line per misra (verse shrinks to fit; only prose wraps); the title line in Nastaliq too
Anas Rashid
2026-10-09 17:22:07 +0200
86be5db6eaModeration dashboard (count tiles that jump to each queue; queue items as cards with icon, status and age) and timelines for the moderation activity and the admin record (a coloured dot per kind of action, relative times, filter chips on the record)
Anas Rashid
2026-10-09 17:20:02 +0200
8d0a6aa36bShare a couplet as an image: a share glyph under each couplet's note glyph draws a square card (frame, logo, the couplet in Nastaliq, the couplet line, the poet) and hands it to the share sheet, or downloads it
Anas Rashid
2026-10-09 17:17:38 +0200
1485781fb7Notes on couplets and selected text, and the site's own dialog, toasts and busy buttons
Anas Rashid
2026-10-09 17:14:59 +0200
2bdf6c9ddeMerge pull request 'Home masthead: no second دیوان (the logo says it); اردو کا کلاسیکی ادب is the heading, between two couplet lines' (#73) from anas/user-access-footer-logo into mainanas2026-10-09 15:03:24 +0000
80f887f175Home masthead: no second دیوان (the logo says it); اردو کا کلاسیکی ادب is the heading, between two couplet lines
Anas Rashid
2026-10-09 16:59:35 +0200
ce9adbe9e1Merge pull request 'User access redesign, Libron, spacing, footer, headline, logo concepts' (#72) from anas/user-access-footer-logo into mainanas2026-10-09 14:43:52 +0000
5a5657803dHome logo turns on hover like the header's: pale rays one way, gold lobes the other, the disc and دیوان still
Anas Rashid
2026-10-09 16:43:33 +0200
aa96828aefHome masthead (as the share image): ترنج beside a large دیوان and اردو کا کلاسیکی ادب in a gold double frame, divided by the couplet line (half-lines and ✤); stacks on phones
Anas Rashid
2026-10-09 16:42:37 +0200
add4666364Logo everywhere it is looked for: PNG favicon and favicon.ico beside the SVG, a web app manifest with 192/512 and maskable icons, theme-color for light and dark, a share image (og-image.png) with Open Graph and Twitter tags; the logo in the footer, on sign-in and sign-up, embedded as the static reader's favicon and at the top of the README
Anas Rashid
2026-10-09 16:40:10 +0200
d1e921a738Logo: ترنج (the lobed shamsa) everywhere: header, home page, favicon and home-screen icon. On hover its pale rays turn one way and the gold lobes the other; the disc and دیوان stay still. The plain shamsa files are removed
Anas Rashid
2026-10-09 16:38:17 +0200
58ded69178Logo: the shamsa everywhere; the home page's large logo is shamsa.svg and turanj.svg is removed
Anas Rashid
2026-10-09 16:36:38 +0200
ebbf39d365Logo hover: the long rays turn clockwise and the short rays anticlockwise; the blue disc and دیوان stay still (the SVG is inline so its layers can move; no motion with reduced-motion)
Anas Rashid
2026-10-09 16:35:37 +0200
a423952b26Header: the full shamsa logo (دیوان inside the medallion) in place of the text, 52–72px with the viewport
Anas Rashid
2026-10-09 16:33:22 +0200
808150eefbHeader logo: the shamsa medallion beside the Nastaliq دیوان (turns a little on hover), lined up with the word at every width; a home-screen icon (apple-touch-icon) from the same medallion
Anas Rashid
2026-10-09 16:32:00 +0200
4d6e7406c4Logo: the shamsa (illuminated medallion). The sunburst version is the favicon and small icon, the lobed version (ترنج) sits above the home headline; both are outlined SVGs in web/public/logo, shown on /design. Rounds two and three of the concepts in docs/logo-concepts
Anas Rashid
2026-10-09 16:28:56 +0200
571eca5523User access redesign: the users list filters by role (with counts) and shows each user in one row (avatar, role badge, permissions, last seen); one page per user for role (one click, with what each role may do), permissions (cards, chips, a poet picked by name) and account actions. Libron for Latin text. Spacing: search-box icons, page action rows and list buttons no longer touch. Footer: grouped links with icons and notes. Headline: اردو کا کلاسیکی ادب. Four logo concepts in docs/logo-concepts
Anas Rashid
2026-10-09 16:22:03 +0200
ff8d8ea3aeLocal launch config: the web dev server on port 4201 (shows /design)
Anas Rashid
2026-10-09 16:00:17 +0200
9cd8067e52Merge branch 'feature/design-system' into main: role tokens, shared controls, mobile layout, arrow and editor icons, centred wrapped verses
Anas Rashid
2026-10-09 15:57:04 +0200
1e3fd3066eMerge branch 'feature/icons-palette' into main: header icons, colour roles, palettes, display settings, Eastern/Western numerals
Anas Rashid
2026-10-09 15:57:04 +0200
ada721fd6dDesign system: colour tokens named by role (surfaces, text, link, accent, active, focus, ok, danger), each palette written once with light-dark(); radius, type and shadow scales; one base for every button, chip and tab and one for every text box; a /design reference page (dev only). Phones: the search box no longer overlaps the header icons or pushes the page sideways (its own row), دیوان clears it, poet cards keep whole names. Arrows instead of پچھلا/اگلا, an exit icon for full-screen PDFs, an icon toolbar in the editor. Long half-lines wrap centred
feature/design-system
Anas Rashid
2026-10-09 15:56:56 +0200
3305a514baNumerals: Eastern (۱۲۳) or Western (123) in the display settings; the server sends pages with the chosen digits (scripts and styles untouched) and script-drawn numbers follow. Settings button lines up with the other icons
feature/icons-palette
Anas Rashid
2026-10-09 15:34:38 +0200
e04ed0d4afColour palettes and a display settings panel: sepia, فیروزی، نیلگوں، سبز، گلابی (each light and dark); font, palette and light/dark/automatic in one header button
Anas Rashid
2026-10-09 15:31:17 +0200
a37ba82829Header: font list in Naskh at a fixed height (Nastaliq spilled out in Safari); the ع is laid over the book icon as text (Safari drew the SVG text too large)
Anas Rashid
2026-10-09 15:29:27 +0200
70e44f705dHeader: the font is a list (نسخ / نستعلیق, each in its own font); the word book icon has ع, not a Latin A; log out lines up with the other icons
Anas Rashid
2026-10-09 15:27:30 +0200
c4bf52dd97Icons and colour roles: header icons with tooltips and a red log out; buttons coloured by what they do; محفوظ شدہ and پسندیدہ لکھاری
Anas Rashid
2026-10-09 15:23:06 +0200
3f6f7e503aMerge pull request 'E-books: a section for every poet (tabs, covers), right-to-left PDF reader, page bookmarks, book details' (#70) from feature/ebooks-section into mainanas2026-10-09 13:17:31 +0000
0a507d1fddE-books as a section of every poet, with tabs and covers; a right-to-left PDF reader; page bookmarks; book details
feature/ebooks-section
Anas Rashid
2026-10-09 15:16:06 +0200
cdfa5f9020Merge pull request 'Fix publishing: URL is not a constructor' (#69) from fix/url-shadowing into mainanas2026-10-09 12:59:04 +0000
3fffbcc514Fix publishing: a constant named URL hid the global URL (default divan-data folder), so every publish failed with 'URL is not a constructor'
fix/url-shadowing
Anas Rashid
2026-10-09 14:58:56 +0200
b2746bfd08Merge pull request 'Fix: e-books in the moderation queue and log had no title or link' (#68) from fix/ebook-queue-titles into mainanas2026-10-09 12:57:27 +0000
4cf3c6cb8aE-books in the moderation queue and activity log: their title and link (were blank); rows say what kind of change they are
Anas Rashid
2026-10-09 14:56:32 +0200
526312aa8eE-books in the moderation queue and activity log: their title and link (were blank); rows say what kind of change they are
feature/ebooks
Anas Rashid
2026-10-09 14:56:32 +0200
6f96548f7aMerge pull request 'E-books: upload with its own permission, review, and viewers for PDF, EPUB, text and archive.org' (#67) from feature/ebooks into mainanas2026-10-09 12:54:27 +0000
09336ead0eE-books: a poet's books as PDF, EPUB, text (DOCX made text) or archive.org items, uploaded with their own permission and approved like any change
Anas Rashid
2026-10-09 14:52:23 +0200
67f0cdbd7fMerge pull request 'Footer tagline: made by a Pakistani, for Pakistan (with the flag)' (#66) from feature/footer-pakistan into mainanas2026-10-09 12:45:09 +0000
bafabb3d59Footer tagline: ایک پاکستانی کی طرف سے، پاکستان کے لیے, with Pakistan's flag (SVG)
feature/footer-pakistan
Anas Rashid
2026-10-09 14:44:29 +0200