Skip to content

fix(blog): use root-relative paths for mascot images - #218

Merged
wesleyscholl merged 1 commit into
mainfrom
claude/squish-blog-sync-deploy-8ed169
Jul 7, 2026
Merged

fix(blog): use root-relative paths for mascot images#218
wesleyscholl merged 1 commit into
mainfrom
claude/squish-blog-sync-deploy-8ed169

Conversation

@konjoinfinity

Copy link
Copy Markdown
Collaborator

Summary

Fixes broken mascot images on /blog/category/benchmarks/ and /blog/archive/2026/, reported by the user after checking those pages.

Root cause: the blog post's mascot images (hero, fistpump, flying, building) use raw <img> tags (not standard Markdown image syntax), with hardcoded parent-relative src="../../assets/blog/..." paths. MkDocs only rewrites relative paths inside standard Markdown links/images when it re-renders content elsewhere; hand-written raw HTML paths are left as literal text. Since this post has no excerpt separator, the blog plugin embeds the entire article body on the category and archive listing pages — which sit one directory level deeper than the post's own URL — so the same ../../ prefix that correctly resolves to site root from /blog/local-llm-fast-enough/ instead resolves to /blog/ from those listing pages, 404ing all 4 images there.

Fix: switched all 4 image src attributes to root-relative paths (/assets/blog/squish-*.png), which resolve correctly regardless of the depth of the page embedding the content.

(Also investigated the "table text isn't purple" report from the same message — verified via a fresh headless-browser render of the current build that table td/table th compute to rgb(168, 85, 247) i.e. #a855f7 as intended, and the deployed extra.css on squish.run already contains the correct rule. That looks like a client-side cache issue rather than a deploy bug; no code change needed there.)

Type of change

  • Bug fix
  • New feature
  • Performance improvement
  • Documentation update
  • Refactor / cleanup

Checklist

  • No hardcoded absolute paths (well — this PR intentionally introduces root-relative /assets/... paths, not machine-local absolute paths)
  • No model weights, eval output files, or log files staged for commit
  • Changes are scoped to one logical concern (image path fix)
  • pytest tests/ passes locally — N/A, docs-only change
  • ruff check squish/ tests/ reports no errors — N/A, no Python changed
  • Performance-sensitive changes include a before/after squish bench run — N/A

Verified locally with mkdocs build: all 4 mascot images now resolve to the same root-relative path on the post page, the category listing page, and the archive listing page.

Related issues

Follow-up to #215, #216, #217.


Generated by Claude Code

Parent-relative paths (../../assets/blog/...) only resolved correctly
on the post's own page. The blog plugin re-renders the full post body
on the category and archive listing pages, which sit one directory
level deeper, so the same relative path pointed at the wrong location
and 404'd there. Root-relative paths resolve correctly regardless of
what page depth the content is embedded at.
@wesleyscholl
wesleyscholl marked this pull request as ready for review July 7, 2026 01:39
@wesleyscholl
wesleyscholl merged commit a16df0b into main Jul 7, 2026
16 checks passed
@wesleyscholl
wesleyscholl deleted the claude/squish-blog-sync-deploy-8ed169 branch July 7, 2026 01:39
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.

3 participants