Skip to content

Rewrite docs site UI: fix mobile overflow, polish visual design - #19

Merged
magi8101 merged 1 commit into
masterfrom
docs/redesign-site
Sep 18, 2026
Merged

magi8101 merged 1 commit into
masterfrom
docs/redesign-site

Conversation

@magi8101

@magi8101 magi8101 commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fixes a real mobile bug, not just a look-and-feel change: the hero section's CSS Grid had no min-width: 0 on its items, so its unwrapped <pre> code sample forced the whole grid wider than the viewport on phones - body { overflow-x: hidden } then clipped it instead of scrolling, cutting off text and buttons. Confirmed with headless-Chrome screenshots at 375/768/1440px before and after.
  • Full visual rewrite of docs/index.html + docs/styles.css: replaced the gradient-heavy orange/navy theme and emoji-as-icon cards/badges with a flatter, single-accent dark theme and inline SVG icons (Vercel/Linear-style dev-tool docs look).
  • Content refreshed to match PR Bind datetime/uuid/Decimal/dict/bytes params natively; decode BYTEA #17/Update README/docs for native param binding and array support #18: the API reference type table now lists BYTEA and bool/int/float/text arrays; the quick-start "Advanced" tab shows native datetime/uuid/Decimal/dict/array/bytes binding instead of the old str() + ::cast pattern.
  • docs/script.js cleanup: removed dead placeholder code (empty theme-toggle/analytics/service-worker stubs, deprecated performance.timing logging) and a duplicate JS-injected search input; kept every actually-used behavior (mobile menu, scroll-spy nav, tabs, copy-to-clipboard, API sidebar, scroll-to-top, basic text search).

Test plan

  • Served docs/ locally, screenshotted at 375px/768px/1440px via headless Chrome before and after the fix - 375px was genuinely broken before (clipped hero), clean after
  • Full-page mobile and desktop screenshots checked section by section (features, installation, quick start, API reference, examples, performance, footer)
  • Checked headless Chrome's console log for JS errors on load - none from script.js/index.html
  • No build step / new dependency - still plain HTML/CSS/JS, same as before

Summary by CodeRabbit

  • Documentation

    • Redesigned the PostPyro documentation site with improved navigation, search, responsive menus, and updated footer content.
    • Added clearer installation guidance for synchronous PyPI and asynchronous source builds.
    • Expanded usage examples, API reference material, native type bindings, error handling, integrations, and performance comparisons.
    • Added examples covering awaited transactions, query_one, dates, UUIDs, decimals, JSON, bytes, arrays, and unsupported types.
  • Style

    • Introduced a refreshed dark developer-tool visual design with improved responsive layouts, focus states, print styles, and mobile usability.

What: full rewrite of docs/index.html, docs/styles.css, docs/script.js.

Root cause fixed: the hero section's CSS Grid had no min-width: 0 on
its items, so its unwrapped <pre> code sample forced the whole grid
wider than the viewport on narrow screens - body's overflow-x: hidden
then clipped it instead of scrolling, cutting off text and buttons
("PostPy...", "PyPI Packa..."). Confirmed via headless-Chrome
screenshots at 375/768/1440px before and after: 375px was genuinely
broken (content clipped), everything below the hero already rendered
fine. Fixed by giving hero-content/hero-code min-width: 0 so the code
panel scrolls within itself; re-verified clean at all three widths
plus full-page mobile and desktop screenshots.

Visual rewrite: replaced the orange/navy gradient-heavy theme and
emoji-as-icon feature cards/comparison badges with a flatter,
single-accent dark theme (near-black surfaces, 1px borders instead of
glow/shadow) and inline SVG icons throughout, closer to Vercel/Linear-
style dev-tool docs.

Content refreshed to match PR #17/#18: API reference type table now
lists BYTEA and bool/int/float/text arrays; the quick-start "Advanced"
tab shows native datetime/uuid/Decimal/dict/array/bytes binding
instead of the old str()+::cast pattern.

script.js cleanup: removed dead placeholder code (empty theme-toggle/
analytics/service-worker stubs, deprecated performance.timing
logging) and the duplicate JS-injected search input (index.html now
has one static #doc-search wired directly) - kept every actually-used
behavior (mobile menu, scroll-spy nav, tabs, copy-to-clipboard,
API sidebar, scroll-to-top, basic text search).

Verified: served locally, screenshotted at 375/768/1440px (mobile,
tablet, desktop) via headless Chrome before and after, checked the
console log for JS errors on load (none from script.js/index.html).
Copilot AI lite review requested due to automatic review settings September 18, 2026 16:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 1d9964cf-8794-451a-9a39-39728b52d934

📥 Commits

Reviewing files that changed from the base of the PR and between ca61b2f and e106759.

📒 Files selected for processing (3)
  • docs/index.html
  • docs/script.js
  • docs/styles.css
 _______________________________________________________________
< You're one `console.log` away from enlightenment. Keep going. >
 ---------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@magi8101
magi8101 merged commit f9c4a6d into master Sep 18, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants