<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hutch.git/Hutch/Views/Repositories/MarkdownHTMLRenderer.swift, branch v3.11.0</title>
<subtitle>ios client for sourcehut. swiftui.
</subtitle>
<id>http://git.krz.sh/krz/hutch.git/atom?h=v3.11.0</id>
<link rel='self' href='http://git.krz.sh/krz/hutch.git/atom?h=v3.11.0'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/'/>
<updated>2026-08-07T07:45:31+00:00</updated>
<entry>
<title>Add multi-language syntax highlighting (#16)</title>
<updated>2026-08-07T07:45:31+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T07:45:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=b410fd16b76146f4116538c5b82330818dd47da9'/>
<id>urn:sha1:b410fd16b76146f4116538c5b82330818dd47da9</id>
<content type='text'>
Splash (Swift-only, since removed) left code rendering unhighlighted
everywhere. Add Highlightr (highlight.js) behind a small SyntaxHighlighter
service and use it on both surfaces:

- Native file viewer: highlight NSAttributedString by language inferred
  from the filename, picking a light/dark theme from the trait style and
  re-highlighting on style changes. Falls back to plain text for unknown
  languages or very large files.
- Markdown/org code blocks in the WKWebView (READMEs, tickets, comments):
  the web view disables JavaScript, so highlight server-side into inline
  color-styled spans. The color scheme is now part of the render/cache
  key since colors are baked into the HTML.

Covered by unit tests for language mapping and highlighted output.
</content>
</entry>
<entry>
<title>fix: fixes dead relative links in md/org with a new single-file viewer when tapped</title>
<updated>2026-04-15T21:07:09+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-15T21:07:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=7d5ca0607c091f76aa29cd6fa8c76cfeb1e02ac8'/>
<id>urn:sha1:7d5ca0607c091f76aa29cd6fa8c76cfeb1e02ac8</id>
<content type='text'>
Fixes: https://todo.sr.ht/~ccleberg/hutch/63
</content>
</entry>
<entry>
<title>feat(markdown): finalize migration to apple/swift-markdown renderer</title>
<updated>2026-03-30T21:44:49+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-30T21:44:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=02fbc13ddb5b66ecf1d0dff3e7173a845984e006'/>
<id>urn:sha1:02fbc13ddb5b66ecf1d0dff3e7173a845984e006</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate README markdown rendering to swift-markdown and fix badge images</title>
<updated>2026-03-30T21:22:59+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-30T21:22:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=ddb310ed15fcd693a5487e5f38b5ba74cdf27843'/>
<id>urn:sha1:ddb310ed15fcd693a5487e5f38b5ba74cdf27843</id>
<content type='text'>
- replace the hand-rolled markdown parser with a MarkupVisitor renderer
- keep the org-mode rendering path and shared sanitization helpers intact
- update WKWebView styling and height measurement for README content
- fix linked image and query-string badge rendering in markdown output
- expand README rendering tests and add markdown syntax coverage

Implements: https://todo.sr.ht/~ccleberg/Hutch/2
</content>
</entry>
</feed>
