Repository navigation
בדיקת אתר מקיפה: נייד, תרגום מלא ל-EN/ES/FR, סליידר אמיתי, SEO ואבטחה - #3
Merged
Merged
Conversation
…layout and JS bugs Layout and design - Mobile header: every .btn became width:100% under 600px, pushing the menu toggle off-screen and the page 474px wide on a 390px phone. Header buttons keep their size; the GitHub button moves to the drawer under 980px; header height comes from one token. - Before/after slider: the "after" layer was resized, so its text reflowed into a strip (unreadable on phones, and on <768px both layers were stacked). Both versions now share one grid cell at full width and the "after" layer is revealed with clip-path; height follows the content (no empty half). Labels no longer overlap the heading or each other. - Hebrew in "mono" labels fell back to Courier New (JetBrains Mono has no Hebrew): Heebo is now the Hebrew fallback; RTL section labels drop the wide tracking. - Features grid: the sixth card sat alone on its row; tags stretched across the card. - Tables on phones scroll sideways with the row label pinned instead of one word per line. - Floating download widget was unstyled (its classes did not exist in the CSS) and showed before the user reached the download card; it now appears only after scrolling past it. - Footer modal links were 42px tall (global button min-height) and misaligned. - Quotes: no fake italic on Hebrew; mixed-direction quotes and the footer line keep their own direction. Low-contrast PASSED / "Word" badges fixed for light mode. - Removed the dead "pipeline" section CSS/JS (no such markup on the page). Behaviour - Scroll-reveal content is hidden only after main.js runs (was invisible without JS). - Theme: applied before first paint (theme-init.js, no light flash for dark users); localStorage access guarded. - Release links: one cached API call; Windows assets from the latest release, Linux/macOS CLI from the newest release that ships them; version also updated on the floating button. - Modals return focus to the opener and keep Tab inside; drawer label resets on close. - New square logo/icon sizes (logo-96.webp 1.7 KB instead of the 44 KB JPEG in the header).
…ate facts Languages - English/Spanish/French showed a half-Hebrew page (161 of 257 visible text nodes were untranslated) and stayed laid out right-to-left because reset.css forced `direction: rtl` on <html>, overriding the dir attribute. Every UI string is now translated (257 keys per language; Hebrew demo content stays Hebrew on purpose), attributes via data-i18n-attr, and <title>/description follow the language. - ?lang=en|es|fr is honoured (the hreflang links already promised these URLs); switching updates the URL, canonical and og:locale; storage access is guarded. Content - Download links no longer point at v0.6.0 assets: the static fallback is releases/latest (always valid) and JS upgrades it to the current assets. - Test figures were stale (58/58): now 174/174 Rust tests (main @ 1837e84, clippy clean) and the 1,000-page stress test reports 1,001 pages / 49,001 lines in 3.1 s. - "Seven pillars" heading over six cards; literal "$O(1)$"; stale "113 MB" size; an English quote wrapped in Hebrew gershayim so it rendered RTL. - Navigation order now matches the page order. SEO / head - Absolute og:image (relative URLs are not fetched by crawlers) with real dimensions; twitter:* as name= meta; shorter Hebrew <title>. - Removed FAQPage structured data that is not visible on the page (against Google's guidelines), a one-item breadcrumb, a stale softwareVersion and a meta google-site-verification that held the HTML-file token (file verification remains). - Hebrew hreflang points at the canonical root; CSP and referrer policy as meta tags (GitHub Pages cannot set response headers). - 404.html: <base href="/website/"> so nested missing URLs still load styles, noindex, square logo, trimmed font request.
…to /website/ - robots.txt and sitemap.xml referenced https://typesetok.org, which does not resolve; the sitemap also listed #fragments (ignored by crawlers) for sections that do not exist. Now one URL per language with hreflang alternates on typesetok.github.io/website. - Manifest start_url "/" left the project site; icons were a non-square JPEG declared as 512x512. Now ./ scope with proper 192/512 PNG icons. - validate.py skips site-absolute hrefs (404.html's <base>), which are server paths.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
עברתי על האתר מקצה לקצה ובדקתי אותו בפועל: Electron ודפדפן, ברוחב 1440 וברוחב 390, בעברית, באנגלית ובמצב כהה. ה-PR מתקן את מה שנמצא.
השינויים מחולקים לשלושה commits לפי נושא: עיצוב/JS, תרגום ותוכן, SEO. מומלץ לעבור עליהם אחד אחד. לפצל אותם ל-PR-ים נפרדים לא היה מעשי, כי שלושתם נוגעים באותן שורות ב-
index.html.באגים משמעותיים
.btnקיבלwidth:100%, גם כפתור ה-GitHub שבכותרת;reset.cssקבעdirection: rtlעל<html>, וזה גבר על המאפייןdir. כל העמוד נשאר מימין לשמאל, עם נקודות בתחילת משפט ותפריט וטבלה הפוכים.clip-path. ההשוואה אמיתית, והגובה מותאם לתוכן.localStorageבלי try/catch שברה את כל סקריפט הנגישות במצבי פרטיות.אבטחה
'self';api.github.com;github.com/TypesetOK/typesetok/releases/download/.עיצוב ו-UX
ביצועים
logo-96.webpבמשקל 1.7KB, במקום JPEG של 44KB ברוחב 1376px.תוכן ועובדות
1837e84, ו-clippy נקי.$O(1)$שהופיע כטקסט גולמי, וגודל הקובץ "113 מ״ב" שהתיישן (היום 104MB).SEO
robots.txtוה-sitemap הפנו ל-typesetok.org, דומיין שלא קיים. ה-sitemap גם כלל anchors לסעיפים שלא קיימים. עכשיו יש כתובת אחת לכל שפה, עם hreflang.?lang=עובד עכשיו. ה-hreflang כבר הבטיח את הכתובות האלה, אבל הקוד לא קרא את הפרמטר. ה-canonical וה-og:locale מתעדכנים לפי השפה.name=.<title>: קוצר.start_urlהיה/, כלומר השורש של github.io. גם האייקונים היו JPEG לא ריבועי שהוצהר כ-512×512.404.html: ב-Pages הוא נטען לכל כתובת חסרה, כולל כתובות עמוקות, ושם הנתיבים היחסיים נשברו. נוספו<base href="/website/">ו-noindex.מה לא שיניתי, ולמה
בדיקות
python scripts/validate.py: עובר.