Repository navigation
Conversation
- Standardize section paddings and header typography across all index pages. - Update individual roadmap headers to match the Landing page's dark hero theme. - Add responsive sizing to Roadmap cards and CTA buttons. - Fix Markdown content margin bug to ensure uniform top-spacing across all roadmaps.
…tatement sections - hero: Figma SVG gradient/ray/highlight, typography and spacing tuning - add Values section with per-card pillar SVGs - add Statement section (STOP IMAGINING / START BUILDING) - mobile nav overlay matches header, z-index fix for close button
…imation - Convert hero/values background gradients from SVG files to pure CSS radial gradients (P3 + sRGB), with green blend glow at their meeting point - Rasterize blurred ray/pillar SVGs to WebP (blur pre-baked, no runtime filter cost) - Statement section: scroll-hijacked pop-up animation, reversible, momentum-clamped, extracted to own file to fix hydration - Navigation: dark glass drawer, scroll-safe icon buttons, gap-3 fix for hidden siblings, h-14 bar - Footer: match navbar CI (mark + wordmark lockup, border) - Hero: mobile line breaks for description, left-only padding
- Self-host Afacad + IBM Plex Sans Thai woff2 subsets, drop Google Fonts (duplicate @import + link tags) and unused Inter/Atkinson fonts - Card design tokens + .card primitive with glass corner-light ring; unify roadmap/blog/video cards (padding, radius, shadow, face color) - Restyle /roadmap, /blog, and roadmap detail pages to landing CI (dark theme, display font, tokened markdown colors, 68ch measure) - Footer: brand tagline, Explore/Connect columns, social links, bottom gradient echoing hero - Navigation: active-page state (desktop + drawer), drawer social row, Escape close + scroll lock + aria labels, token borders - Statement: fix scroll-hijack flicker (overflow lock replaces scroll clamping), keyboard progress support - Landing: section background alternation, uniform card gaps and header spacing, roadmap teaser capped at 4, videos at 2 with lazy iframes, CTA hierarchy (one filled primary + outline secondaries) - Per-page titles, og:image prop wiring, skip-to-content link, BlogCard h3 + aspect-ratio, dvh hero height, footer touch targets
…adability fixes - Add authors[] to roadmap content schema; render byline (avatar + name) under the article header, sourced from markdown frontmatter - Add back-link from article header to /roadmap listing - Fix heading hierarchy: demote markdown H1s in git.md/uxui-beginner.md so each article has exactly one page-level H1 - Fix dead .content body CSS selector (never matched any element) so intended line-height/word-wrap actually apply - Raise body/link contrast and de-emphasize link font-weight in article content; add table overflow wrapper for responsiveness - Widen article content measure (68ch -> 80ch), align header column to match, and match article background to landing's Blogs section - Brighten and reorient roadmap header + footer gradients to echo hero
…rkness Drawer used fixed inset-0 without a dvh-based height, so on iOS Safari the box could size against a stale viewport snapshot when the address bar toggled after opening, pushing the bottom section off-screen. Pin to 100dvh (with 100vh fallback), make the drawer scrollable as a fallback, and respect env(safe-area-inset-bottom) for the bottom section. Also reduce drawer overlay darkness per feedback.
overflow:hidden on <html> doesn't reliably prevent background scroll on iOS Safari, letting the page rubber-band behind the open drawer and retrigger the toolbar show/hide, which kept moving the drawer's viewport target and caused content to overflow off-screen. Lock body with position:fixed + preserved scroll offset instead.
The fixed-body technique (78d32b0) broke the site entirely (black screen site-wide, not just in the drawer). Reverting Navigation.tsx to the f39cbdb state: dvh-based drawer sizing and lowered darkness stay, scroll lock goes back to the simpler overflow:hidden approach.
justify-content:center on overflowing flex content is unreachable via scroll in some browsers. Use margin:auto centering instead (collapses to 0 when space runs out) so links stay centered when they fit, while the drawer remains scrollable to reach the bottom Main Site/contact section if content overflows a short viewport.
…ctions Both Roadmaps and Blogs sections had min-h-screen, forcing 100vh minimum regardless of content length; on large viewports with few items this left a large empty gap before the footer. Also align the roadmap grid's breakpoint with blog/videos (sm: instead of md:) and fix a contrast failure on video card descriptions (text-tertiary -> text-secondary). Landing.tsx: rework Hero/Values responsive layout (line-length cap on hero description, Values 3-column layout now gated to lg: instead of md: to avoid a grid alignment bug at the narrower md range), widen nav container at lg:.
…tent polish - Add opt-in `wide` prop to Section (lg:max-w-screen-xl) so landing's Roadmaps/Blogs/Videos sections realign with the widened nav container; /roadmap, /blog, /videos standalone pages stay untouched - Bump nav and footer font sizes at lg: (logo, links, Main Site button, footer headings/links/copyright), previously static across all sizes - Bump card description/title sizes (RoadmapCard, BlogCard, video cards) at md: — were static text-sm/text-lg with no responsive scale - Fetch larger Medium thumbnail variant (400 -> 800) to avoid upscaling blur now that blog cards render wider - Add missing table border styles in markdown content (content.css) - Statement section: taller at lg:; nav height h-14 -> h-16 - Hero: cap description line-length at sm:max-w-[50vw], retune padding/positioning across sm/lg tiers
…utton tokens - Body copy: IBM Plex Sans Thai (own latin subset) instead of pairing separate IBM Plex Sans + IBM Plex Sans Thai families, so mixed Thai/ English text renders from one typeface - Roadmap markdown (.content): Noto Sans Thai for Thai, Inter for Latin (headings + body), no underline on links, responsive heading sizes - Fix ch-unit max-width mismatch between Header and .content caused by differing font-family on the two boxes - Fix concentric border-radius mismatch on card thumbnails (BlogCard, video iframe) relative to .card's padding - Add .btn-primary/.btn-secondary/.btn-icon/.btn-ghost tokens (global.css) and migrate every CTA/icon-button instance onto them for brand consistency; restore hero phonetic block, responsive hero sizing
…ons, mobile markdown sizing - Self-host Inter + Noto Sans Thai (markdown content fonts) instead of Google Fonts CDN, remove the CDN link/preconnects from BaseHead.astro - Roadmap/Blogs/Videos section headers: cap description width at 50% of the row from sm onward so it wraps within its own half instead of colliding with the CTA chip at in-between viewport widths - Roadmap markdown base font-size 18px -> 16px on mobile (headings scale with it via em units), non-breaking hyphen fix on hero "hands-on", responsive sizing for hero phonetic/noun
- New TableOfContents component: sticky scrollspy sidebar on desktop (>=lg), collapsible native <details> accordion on mobile/tablet, both driven by the same headings data from Astro's content render() - Roadmap layout widened to match nav's container (max-w-screen-xl at lg+) so sidebar+content align with the wordmark; falls back to the original narrow reading width below lg where the sidebar is hidden - Self-host JetBrains Mono for --font-family-mono (was 'Afacad', monospace -- Afacad isn't a monospace face, so code was silently rendering in a proportional font) - content.css: scroll-margin-top on headings so anchor jumps (TOC, #hash links) clear the fixed nav; code block sizing/weight tuned down
Mobile accordion and desktop sidebar share the same list markup; size/padding now scale down for mobile since it was inheriting the desktop-tuned values.
Fix Thai typos (duplicate tone marks, stray zero-width spaces, one duplicated word), translate headings that mixed Thai into English-only since they feed the table-of-contents sidebar, and trim several headings that ran long enough to crowd the TOC column — moved the dropped context (SSR/SSG, CSR) into body text instead of deleting it. Also fixes the Instagram handle (thinc.in.th -> thinc.th, matching Footer/Navigation) and two internal links in frontend-react.md that pointed at the wrong roadmap slug on a hardcoded wrong domain.
Desktop's Main Site link is outline/ghost styled; mobile drawer had it as btn-primary (orange fill, black text), which looked like a different button on a different site depending on viewport.
text-base/lg read oversized next to the roadmap body copy; drop one step to text-sm/base.
.content ul had a margin override and custom bullet marker to survive Tailwind Preflight's list reset; .content ol had neither, so numbered lists (e.g. the Design Thinking steps) rendered with zero spacing and no numbers. Mirror the ul treatment with a CSS counter.
Feat/renovation 2026
- adjust style - create level tag extract func
This branch was successfully deployed
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.
No description provided.