This repository was archived by the owner on Jul 13, 2026. It is now read-only.
Adopt shared typeset.css for chat markdown - #14
Open
heyinterspace wants to merge 1 commit into
Open
Conversation
Replace the hand-coded prose typography in Markdown.module.scss with the shared typeset system (app/styles/typeset.css). The chat message container now carries `typeset typeset-chat`; typeset owns headings, paragraphs, lists, blockquotes, tables and inline code, mapped to exobase's own faces (Archivo/ Outfit/Space Mono) and shadcn tokens. This also fixes the dark-mode table bug (hardcoded light #f6f8fa/#dfe2e5 cells) since tables now use theme colors. Markdown.module.scss keeps only chat-specific behavior: streaming line breaks, artifact spacing, and the shiki code-block frame.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Replaces the hand-coded prose typography in the chat renderer with a single, shared
typeset.csssystem, following shadcn/typeset. Addclass="typeset"to a container and everything inside (headings, paragraphs, lists, blockquotes, tables, inline code) is styled from one place.Changes
app/styles/typeset.css— the shared system. Portable by design: colors default tocurrentColorand derive muted/border/code tones withcolor-mix, so it reads correctly on any background. Fonts and colors come from--typeset-*variables, so it inherits each project's look. Three knobs per context:--typeset-size,--typeset-leading,--typeset-flow. Streaming-safe (> * + *spacing). A trailing block maps the variables to exobase's own faces (Archivo / Outfit / Space Mono) and shadcn tokens.app/root.tsx— import and registertypeset.cssas a stylesheet link.app/components/chat/Markdown.tsx— the message container now carriestypeset typeset-chat.app/components/chat/Markdown.module.scss— slimmed to only chat-specific concerns: streaming line breaks (white-space: pre-wrap), artifact spacing, and the shiki code-block frame. All generic prose type now lives in typeset.Why this is better
#f6f8fa/#dfe2e5) that looked wrong in exobase's dark-only UI. Tables now use theme colors.To verify before merge
<CodeBlock>) are unchanged and not double-framed.Part of a cross-project rollout. The same
typeset.csscore ships to interspace; the trailing theme block is the only per-project difference (a shadcn registry can formalize this later so it is pulled once, not copied).