Skip to content

how-to coverage, pycal theming, RFC citation audit - #62

Merged
SashankBhamidi merged 3 commits into
mainfrom
docs/full-docs-overhaul
Oct 8, 2026
Merged

SashankBhamidi merged 3 commits into
mainfrom
docs/full-docs-overhaul

Conversation

@SashankBhamidi

Copy link
Copy Markdown
Member

Wrote the how-to guides that were missing: scheduling, free/busy, contacts, push notifications, attachments, running the conversion functions standalone, logging, and a full sync-to-SQLite example. Filled out calendar management and task sync, which only covered part of the client before. Added reference pages for constants, session, and convert, none of which autodoc was pulling in despite being fully documented in source. Added a server-compatibility page collecting the Cyrus/Stalwart quirks that were scattered across how-to pages.

explanation/design.rst got a few "Why" sections it was missing: CONFERENCE/VCONFERENCE URI correlation, recurrence override patches comparing by value, participant address handling, alert trigger shape, Link conversion scope, recurrence UNTIL time zones.

Moved the docs site off the Sphinx theme's default colors onto pycal's own, light and dark. pycal.org is light-only, so I built the dark variant myself from the same palette. Split the navbar into sections with their own landing pages; it was dumping every page into one list that overflowed into a cutoff dropdown.

Hit a real bug of my own doing the color work: a stray */ inside a CSS comment I wrote closed it early and broke parsing of everything after, including the whole light-mode block. Dark mode worked the whole time, which is why it took a while to find. Separately, pydata-sphinx-theme never syncs data-theme to Bootstrap's data-bs-theme, so Bootstrap components stayed in light colors in dark mode regardless of the theme's own variables. Fixed with a script that mirrors the attribute.

Added SEO metadata: canonical link, description, social preview image per page, using pycal's branding. A few pages' social cards were pulling garbled text, since the extension grabs whatever's first on the page instead of an explicit description. Gave those pages a real opening paragraph.

Moved CHANGES.rst to docs/changelog.rst. It had :rfc:/:class: roles GitHub's raw viewer can't render.

Checked every :rfc: role in the autodoc'd modules against the actual RFC text. Some had regressed to plain text, some should've been plain (private helpers autodoc skips) but had dead roles instead. Fixed both directions.

get_jmap_client/get_async_jmap_client were silently dropping a caller's own auth object before it reached the client. Fixed on both clients, with a test on each.

@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@read-the-docs-community

read-the-docs-community Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

@SashankBhamidi
SashankBhamidi merged commit 004c6b4 into main Oct 8, 2026
14 checks passed
@SashankBhamidi
SashankBhamidi deleted the docs/full-docs-overhaul branch October 8, 2026 07:21
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.

1 participant