Commit Graph

83 Commits

Author SHA1 Message Date
Krishna Ayyalasomayajula
ca99f60751 deps: replace next-mdx-remote and @mdx-js/react with @next/mdx 2026-06-02 00:45:56 -05:00
Krishna Ayyalasomayajula
3a506b04f6 config: add @next/mdx webpack loader with full remark/rehype plugin chain 2026-06-02 00:44:52 -05:00
Krishna Ayyalasomayajula
049bc3e7a3 Revert "feat: serve content files via catch-all route, use content-relative cover images"
This reverts commit 8d582b6ae3.
2026-06-01 23:54:23 -05:00
Krishna Ayyalasomayajula
8d582b6ae3 feat: serve content files via catch-all route, use content-relative cover images 2026-06-01 23:53:28 -05:00
Krishna Ayyalasomayajula
74dfb82069 fix: use CSS variable for TOC sticky offset instead of hardcoded pixels 2026-06-01 23:45:53 -05:00
Krishna Ayyalasomayajula
2c6cbe96d9 fix: push TOC below sticky header by increasing sticky top offset 2026-06-01 23:45:12 -05:00
Krishna Ayyalasomayajula
9531080c7a fix: add scroll-padding-top to prevent header from covering TOC targets 2026-06-01 23:34:50 -05:00
Krishna Ayyalasomayajula
17eac2c406 fix: replace post title in cover image alt text with generic description 2026-06-01 23:34:00 -05:00
Krishna Ayyalasomayajula
9767ff950b fix: use mode-aware colors for code block line numbers 2026-06-01 23:32:46 -05:00
Krishna Ayyalasomayajula
a12b13f7d1 fix: use client-side ref to handle onclick string from transformerCopyButton 2026-06-01 23:31:20 -05:00
Krishna Ayyalasomayajula
473774d0ca fix: remove duplicate blog heading and reduce home page spacing 2026-06-01 23:23:27 -05:00
Krishna Ayyalasomayajula
95f515448a fix: remove duplicate h1 from sample posts (page header already renders title) 2026-06-01 23:21:59 -05:00
Krishna Ayyalasomayajula
a44d8eaddc fix: enable line numbers on all code blocks via filterMetaString 2026-06-01 23:20:43 -05:00
Krishna Ayyalasomayajula
ee791f450c fix: correct button override to spread all props and avoid nested buttons 2026-06-01 23:19:25 -05:00
Krishna Ayyalasomayajula
fe4261f58f fix: add button override to handle transformerCopyButton onclick string 2026-06-01 23:17:51 -05:00
Krishna Ayyalasomayajula
4717dde7a2 fix: add lineNumbers: true to rehype-pretty-code config
- Adds lineNumbers: true so data-line-numbers attribute is generated
- Enables CSS counter-based line numbers in code blocks
- Follows up on mega-review finding
2026-06-01 23:00:33 -05:00
Krishna Ayyalasomayajula
94b2afc914 chore: final build + lint + cleanup
- Run bun run build: succeeded
- Run bun run lint: no errors (3 img warnings acceptable)
- Fix any types in app/posts/[slug]/page.tsx with proper hast/rehype-pretty-code types
- Fix any type in mdx-components.tsx pre component with React.HTMLAttributes
- Remove unused language variable from mdx-components.tsx
- Verify all 3 posts render with <p> tags, code block syntax highlighting, and heading ids
2026-06-01 22:57:49 -05:00
Krishna Ayyalasomayajula
0bb69a12c3 fix: remove @tailwindcss/typography + fix CSS architecture
- Remove @tailwindcss/typography from package.json devDependencies
- Remove @plugin and @utility prose from globals.css
- Fix @custom-variant dark to use &:is(.dark)
- Extract @keyframes outside @supports blocks
- Scope * transition to body/body*/[class*=bg-]/[class*=border-]/[class*=text-]
- Add prefers-reduced-motion rules for scroll-to-top + reading progress
- Add :focus-visible outline on scroll-to-top
2026-06-01 22:53:52 -05:00
Krishna Ayyalasomayajula
126fc53ab3 fix: format PostCard date with toLocaleDateString
- Replace raw {date} with toLocaleDateString formatting
- Matches post detail page date formatting
2026-06-01 22:51:50 -05:00
Krishna Ayyalasomayajula
7a17d4c538 feat: cover image display + date formatting + footer spacing
- PostCard: render coverImage above meta/content with lazy loading
- Post detail: render coverImage below title with lazy loading
- Format dates via toLocaleDateString (e.g. Jan 15, 2025)
- Footer top margin: mt-20 → mt-16
2026-06-01 22:50:10 -05:00
Krishna Ayyalasomayajula
06481d0c26 fix: scroll-to-top visible class + reading progress dark mode
- Wire visible state to className in ScrollToTop component
- Replace hard-coded rgba with color-mix() for theme-aware background
- Dark mode reading progress uses 15% ink color mix
2026-06-01 22:48:18 -05:00
Krishna Ayyalasomayajula
5ac5605933 feat: PostCard card boundary + author + reading time
- Card: rounded-xl, border, bg-canvas, p-6, hover shadow-card
- Author and reading time on meta line with · separators
- Tags use rounded-full pill shape (consistent with post detail)
- Title hover via group-hover:text-accent
- Excerpt uses leading-relaxed text-sm
2026-06-01 22:47:06 -05:00
Krishna Ayyalasomayajula
c9ff29377a fix: KaTeX display blocks + prose spacing
- Replace overflow-x: auto with overflow: visible on .katex-display
- Add white-space: normal on .katex-display > .katex
- Add responsive scaling at 640px breakpoint
- Add prose integration margin rules for spacing between prose and math
2026-06-01 22:44:58 -05:00
Krishna Ayyalasomayajula
9d170e4a43 fix: unify heading typography with utility classes + add h4-h6
- app/page.tsx: h2 uses heading-md (was text-2xl font-semibold)
- app/not-found.tsx: h1 uses heading-xl (was text-4xl font-bold)
- Header.tsx: logo uses heading-sm (was text-xl font-extrabold)
- mdx-components.tsx: add h4/h5/h6 component overrides
- Remove all ad-hoc font-sans from headings
2026-06-01 22:43:27 -05:00
Krishna Ayyalasomayajula
2af31fa5c8 fix: enhance inline code styling in mdx-components
- Distinguish inline vs block code in <code> component
- Inline code: bg-ink/[0.06] light / bg-white/[0.08] dark, no language classes
- Block code: pass className through unchanged (no double-styling)
- <pre> component: remove bg-surface/rounded-xl/overflow-x-auto/p-4
- <pre> now relies on globals.css for block code styling
2026-06-01 22:42:02 -05:00
Krishna Ayyalasomayajula
a024cc5369 feat: comprehensive code block CSS
- Borderless container with subtle shadow
- VS Code filename header with dot indicators
- Line numbers via CSS counter
- Copy button (hover-visible)
- Highlighted line accent stripe
- Highlighted chars background
- Shiki dual theme token color switching
- Light and dark mode overrides for all code elements
2026-06-01 22:40:39 -05:00
Krishna Ayyalasomayajula
bf93e2cf45 feat: install @rehype-pretty/transformers + configure dual themes
- Add @rehype-pretty/transformers dependency
- Add transformerCopyButton import
- Replace github-dark single theme with github-light/github-dark-dimmed dual theme
- Add keepBackground: false, grid: true, onVisitLine fix
- Add onVisitTitle with VS Code dot indicators (red/yellow/green)
- Add transformerCopyButton with visibility hover and 2.5s feedback
2026-06-01 22:39:05 -05:00
Krishna Ayyalasomayajula
d0f600ed66 feat: add 13 code block @theme tokens
Light: --color-code-block through --color-code-dot-green, --radius-code
Dark: code-block, code-block-hover, code-gutter, code-gutter-border,
      code-title-bg, code-title-text, code-line-highlight,
      code-line-highlight-border, code-mark-bg, code-copy, code-copy-hover
2026-06-01 22:36:52 -05:00
Krishna Ayyalasomayajula
52b955de86 feat: deep black dark + pure white light theme tokens
- Canvas: oklch(1 0 0) light / oklch(0 0 0) dark (true black)
- Surface: oklch(0.98 0 0) light / oklch(0.07 0 0) dark
- Ink: oklch(0.08 0 0) light / oklch(1 0 0) dark (pure white)
- Ink-soft: oklch(0.40 0 0) light / oklch(0.72 0 0) dark
- Border: oklch(0.92 0 0) light / oklch(0.17 0 0) dark
- Accent: oklch(0.45 0.18 250) light / oklch(0.68 0.20 250) dark
- Shadow-card updated for both modes
2026-06-01 22:35:35 -05:00
Krishna Ayyalasomayajula
04adc7b896 feat: swap Merriweather → Inter + define @layer base
- Remove Merriweather font import and config from layout.tsx
- Add Inter with weight/style/adjustFontFallback
- Apply inter.className to body instead of font-serif
- Update --font-serif in @theme to use Inter
- Add @layer base with body, h1-h6, code, and link rules
2026-06-01 22:34:02 -05:00
Krishna Ayyalasomayajula
769a52b924 chore: final build validation and cleanup 2026-06-01 21:40:50 -05:00
Krishna Ayyalasomayajula
bca19fa179 chore: enhance sample posts with author, tags, and coverImage frontmatter 2026-06-01 21:39:35 -05:00
Krishna Ayyalasomayajula
fac252efa9 feat: display author, tags, and reading time on post pages and cards 2026-06-01 21:37:57 -05:00
Krishna Ayyalasomayajula
6888df0c76 feat: enhance MDX link component with external link detection 2026-06-01 21:35:57 -05:00
Krishna Ayyalasomayajula
a7889135a1 feat: add missing MDX component overrides (ul, ol, figure, kbd, details, etc.) 2026-06-01 21:35:26 -05:00
Krishna Ayyalasomayajula
a65740ea2c style: update MDX component headings to use heading-xl/lg/md utilities 2026-06-01 21:34:04 -05:00
Krishna Ayyalasomayajula
0a1032d1ee style: unify typography — use heading-xl/lg/md utilities in all pages 2026-06-01 21:33:23 -05:00
Krishna Ayyalasomayajula
e8ee286d2f style: unify typography with heading-xl/lg/md/sm utilities and text-5xl token 2026-06-01 21:32:40 -05:00
Krishna Ayyalasomayajula
e1944ec7fd feat: add rehype-external-links for external link security 2026-06-01 21:31:02 -05:00
Krishna Ayyalasomayajula
0d44f5be6e feat: add remark-smartypants for typographic improvements 2026-06-01 21:28:25 -05:00
Krishna Ayyalasomayajula
34525ffd83 fix: compute reading time from post content not title 2026-06-01 21:25:57 -05:00
Krishna Ayyalasomayajula
648055f405 fix: spread props on MDX heading components to enable TOC IDs 2026-06-01 21:24:26 -05:00
Krishna Ayyalasomayajula
d679b804fc feat: add rehype-slug for TableOfContents heading IDs 2026-06-01 21:22:49 -05:00
Krishna Ayyalasomayajula
6dc42c1ba8 fix: fix empty post bodies — stop double-compiling MDX 2026-06-01 21:20:44 -05:00
Krishna Ayyalasomayajula
7685a81f76 content: expand hybrid post with full body 2026-06-01 20:57:26 -05:00
Krishna Ayyalasomayajula
42d6c6e653 content: expand hello-world post with full body 2026-06-01 20:56:06 -05:00
Krishna Ayyalasomayajula
aeed9ef805 content: expand euler-identity post with full body 2026-06-01 20:56:03 -05:00
Krishna Ayyalasomayajula
d4d2ac1a51 fix: use m.button instead of motion.button in ScrollToTop 2026-06-01 20:47:57 -05:00
Krishna Ayyalasomayajula
d2f1768294 fix: use m.ul instead of motion.ul in PostList 2026-06-01 20:47:52 -05:00
Krishna Ayyalasomayajula
9b6c20b2eb fix: use m.article instead of motion.article in PostCard 2026-06-01 20:46:03 -05:00