Skip to content

feat: build the site with the Sumi theme - #74

Merged
shenxianpeng merged 3 commits into
mainfrom
feature/sumi-theme
Nov 5, 2026
Merged

shenxianpeng merged 3 commits into
mainfrom
feature/sumi-theme

Conversation

@shenxianpeng

@shenxianpeng shenxianpeng commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Moves the site from Material for MkDocs to Sumi, the MkDocs NG theme. The landing page looks the same as today. The docs pages keep the brand colours, fonts and page width, inside Sumi's own header, sidebar, search and page actions. Every page and blog post keeps its URL.

Before and after

Landing page, light

Landing page, light

Landing page, dark

Landing page, dark

Landing page, whole page

Landing page, whole page

Docs page

Getting started

Docs page, dark

Rules, dark

Blog index

Blog

Phone

Landing page on a phone

What changed

  • mkdocs.yml: theme: sumi and the sumi plugin. Material's blog and social plugins and the Material emoji extension are gone.
  • docs/assets/extra.css: the brand palette (Ink, Signal Blue, Paper), Instrument Sans / JetBrains Mono / Bricolage Grotesque, the 1220px page width and an Ink footer, all set through Sumi's --sumi-* variables. docs/stylesheets/extra.css held Material-only rules for a hero nothing uses any more and is removed, with overrides/home.html.
  • overrides/landing.html and main.html rewritten for Sumi's template blocks. landing.css keeps its rules; only the part that reached into Material's header and page frame changed. landing.js now loads on the landing page only.
  • Blog: Sumi takes a post's URL from its file name, so the posts are renamed YYYY-MM-DD-<current slug>.md and every post URL is unchanged. Material's archive and category pages redirect to the blog index (scripts/mkdocs_hooks.py). The index now has tag filters, a card view and an Atom feed at /blog/feed.xml.
  • Share image: Sumi does not generate per-page cards, so every page uses the current home card (docs/assets/social.png). CI and Netlify no longer need cairo.
  • Two code annotations (# (1)!) are plain # (1) comments, with the numbered note under the block as before. The two Material icons on Getting started are Sumi icons.

What is different from today

  • Header: Sumi's search box with Ctrl K, and a GitHub icon without the version / stars / forks counter.
  • Sidebar sections collapse, pages show breadcrumbs and a "Copy as Markdown" menu, and each page also has a Markdown copy next to it.
  • On a phone the landing page has no menu button (the docs pages do).
  • Blog posts show Sumi's computed reading time, not the readtime front matter.
  • The footer says "Built with MkDocs and Sumi".

Checks

  • mkdocs build --strict passes, and pytest tests/ passes (18).
  • Every URL the current build serves is still served, plus /print/ and /blog/feed.xml.

Summary by CodeRabbit

  • New Features
    • Updated the documentation site with a refreshed theme, typography, colors, and page styling.
    • Added redirects from retired blog archive and category pages to the blog.
  • Bug Fixes
    • Removed the need for system libraries during documentation builds.
    • Updated a blog link to use the correct dated address.
  • Documentation
    • Clarified site build requirements and how blog post filenames determine their URLs.

Switch from Material for MkDocs to Sumi, the MkDocs NG theme, keeping
the site's look: the landing page is unchanged, and the docs pages keep
the brand colours, fonts and page width inside Sumi's header, sidebar
and search.

- Brand palette and fonts mapped onto Sumi's variables.
- Landing template rewritten for Sumi's blocks; its script now loads
  on that page only.
- Blog posts renamed to YYYY-MM-DD-slug.md so every post keeps its URL;
  the archive and category pages redirect to the blog index.
- One share image for every page, since Sumi has no card generator;
  cairo is no longer needed in CI or on Netlify.
- Material icons and code annotations replaced with plain equivalents.
@netlify

netlify Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for commit-check ready!

Name Link
🔨 Latest commit e73cd17
🔍 Latest deploy log https://app.netlify.com/projects/commit-check/deploys/6aecda49c2b32254b9af3d6a
😎 Deploy Preview https://deploy-preview-74--commit-check.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The site now uses the Sumi MkDocs theme. The update changes theme configuration, styles, landing-page templates, and build setup. It also updates site documentation and adds redirects for retired blog URLs.

Changes: Sumi theme migration

Layer / File(s) Summary
Sumi configuration and build setup
docs/requirements.txt, mkdocs.yml, netlify.toml, .github/workflows/deploy.yml, README.md
The MkDocs configuration and dependencies now use Sumi. Build commands no longer install Cairo or set SOCIAL_CARDS=false.
Global Sumi styles
docs/assets/extra.css, docs/overrides/main.html
The global stylesheet now uses Sumi variables and selectors. The main template adds font preconnects and requests Instrument Sans and JetBrains Mono alongside Bricolage Grotesque.
Landing page template and styles
docs/overrides/home.html, docs/overrides/landing.html, docs/overrides/main.html, docs/stylesheets/landing.css, docs/stylesheets/extra.css, docs/index.md
The landing template now renders page content in a Sumi layout and loads its script. Landing-page styles use Sumi theme selectors; the former homepage override and extra stylesheet were removed. The homepage title uses seo_title when present.
Site content and URL updates
README.md, docs/blog/posts/*, scripts/mkdocs_hooks.py, docs/getting-started.md, docs/guides/github-actions.md
The blog link uses the dated post filename, and redirects were added for three retired blog URLs. Documentation examples, icons, and a workflow comment were also updated.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Possibly related PRs

Merge Risk: Minimal · up to e73cd

No concrete merge-blocking issue is identified in the Sumi migration. The change appears mergeable subject to normal build and deployment checks.

Pre-merge checks: Passed 5

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the primary change: migrating the site build to the Sumi theme.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 1 files. (12 skipped: 12 unsupported.)

Finishing Touches

Generate docstrings

  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a218d64f-8282-4606-b628-47968666deff
Commits

Reviewing files that changed from the base of the PR and between f70a92b and e73cd17.

Files ignored due to path filters: 1

  • docs/assets/social.png is excluded by !**/*.png
Files selected for processing: 21

  • .github/workflows/deploy.yml
  • README.md
  • docs/assets/extra.css
  • docs/blog/posts/2026-06-21-ai-native-json-output-and-a-python-api.md
  • docs/blog/posts/2026-06-21-from-zero-config-to-org-wide-policy.md
  • docs/blog/posts/2026-06-21-one-policy-file-for-your-git-history.md
  • docs/blog/posts/2026-07-06-ai-attribution-governance-enforcing-ai-disclosure-policies-at-the-ci-level.md
  • docs/blog/posts/2026-10-11-ai-commit-attribution-policy.md
  • docs/blog/posts/2026-10-24-no-llm-co-authors.md
  • docs/getting-started.md
  • docs/guides/github-actions.md
  • docs/index.md
  • docs/overrides/home.html
  • docs/overrides/landing.html
  • docs/overrides/main.html
  • docs/requirements.txt
  • docs/stylesheets/extra.css
  • docs/stylesheets/landing.css
  • mkdocs.yml
  • netlify.toml
  • scripts/mkdocs_hooks.py
Files with no reviewable changes: 2

  • docs/overrides/home.html
  • docs/stylesheets/extra.css

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@shenxianpeng shenxianpeng self-assigned this Nov 5, 2026
@shenxianpeng
shenxianpeng merged commit 25057d9 into main Nov 5, 2026
8 checks passed
@shenxianpeng
shenxianpeng deleted the feature/sumi-theme branch November 5, 2026 20:08
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