Repository navigation
Restore and lock MirrorToolkit docs-site visual identity (Persian RTL + local fonts/flags) - #21
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (8)
Disabled knowledge base sources:
📝 WalkthroughWalkthroughThis PR establishes a UI identity contract for the MirrorToolkit docs-site, locking it to Persian-first RTL layout with local fonts and assets. The contract is defined in a new document, enforced by an automated validation script, implemented across CSS/HTML/JS (fonts, localized strings, RTL markup, component updates), and integrated into the build pipeline and test documentation. ChangesPersian RTL UI Identity Contract
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Motivation
Description
docs/web-ui-identity-contract.mddocumenting the bilingual rule (Persian primary, English technical), roothtmldirection (lang="fa" dir="rtl"), Handjet brand typography, local-only flags, and no-CDN policy.docs-site/src/index.htmlto set<html lang="fa" dir="rtl" class="dark">, add the Persian-first bilingual header/subtitle/helper line, translate action buttons (Persian-first labels), and markenvOutput,dockerInput, anddockerOutputasdir="ltr"while preserving all existing element IDs and functionality.docs-site/src/input.cssto prefer localwoff2(Handjet[wght].woff2), keep Handjet limited to brand via.font-brand, and add reusable classes.ltr,.rtl, and.technicalwhere.technicalenforcesdirection: ltr; text-align: left; unicode-bidi: plaintext;.docs-site/src/app.jsto localize status labels for Persian users (ok → سالم,slow → کند,blocked-by-browser → محدودیت مرورگر,failed → ناموفق,untested → بررسینشده) while preserving raw status values intitle/aria-label, to render region badges via localflag-iconswith support forir, cn, us, de, gb, fr, nl, jp, ruand safe text fallback, and to mark technical URL/ecosystem text with the.technicalclass.docs-site/scripts/check-ui-contract.mjsthat fails if core contract items are missing (rootlang/dir, local flag stylesheet,.font-brand,.technical,getRegionBadge()presence, Persian status labels, or forbidden CDN URLs), and exposed it viadocs-site/package.jsonscriptscheck:ui-contractandtest.docs/github-pages.mdand validationdocs/web-v1-validation.mdto reference the UI contract, no-CDN rule, and required identity checks.Testing
cd docs-site && npm run buildwhich executed the Tailwind build and site copy steps and completed successfully.cd docs-site && npm run check:ui-contractwhich executeddocs-site/scripts/check-ui-contract.mjsand reportedUI identity contract check passed..npm run build && npm run check:ui-contract) was executed and passed in this branch.Codex Task
Summary by CodeRabbit
New Features
Tests
Documentation
Style