Files
tolaria/src/theme.json
lucaronin 3ce3e4e150 fix: wikilink underline now follows type color
The underline was implemented via border-bottom with a hardcoded
var(--accent-blue), ignoring the per-type color set on the element.
Changed to currentColor so the underline inherits the dynamic color.
Also removed the no-op textDecorationColor inline style (text-decoration
is none; the visual underline comes from border-bottom).

Bonus: fixed pre-existing TS build error in useEditorSave.test.ts
(vi.Mock namespace → Mock type import).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 23:08:17 +01:00

140 lines
3.3 KiB
JSON

{
"editor": {
"fontFamily": "'Inter', -apple-system, BlinkMacSystemFont, sans-serif",
"fontSize": 16,
"lineHeight": 1.5,
"maxWidth": 720,
"paddingHorizontal": 40,
"paddingVertical": 20,
"paragraphSpacing": 8
},
"headings": {
"h1": {
"fontSize": 32,
"fontWeight": 700,
"lineHeight": 1.2,
"marginTop": 32,
"marginBottom": 12,
"color": "var(--text-heading)",
"letterSpacing": -0.5
},
"h2": {
"fontSize": 27,
"fontWeight": 600,
"lineHeight": 1.4,
"marginTop": 28,
"marginBottom": 10,
"color": "var(--text-heading)",
"letterSpacing": 0
},
"h3": {
"fontSize": 20,
"fontWeight": 600,
"lineHeight": 1.4,
"marginTop": 24,
"marginBottom": 8,
"color": "var(--text-heading)",
"letterSpacing": 0
},
"h4": {
"fontSize": 20,
"fontWeight": 600,
"lineHeight": 1.4,
"marginTop": 20,
"marginBottom": 6,
"color": "var(--text-heading)",
"letterSpacing": 0
}
},
"lists": {
"bulletSymbol": "•",
"bulletSize": 28,
"bulletColor": "#177bfd",
"indentSize": 24,
"itemSpacing": 4,
"paddingLeft": 8,
"nestedBulletSymbols": ["•", "◦", "▪"],
"bulletGap": 6
},
"checkboxes": {
"size": 18,
"borderRadius": 3,
"checkedColor": "var(--accent-blue)",
"uncheckedBorderColor": "var(--text-muted)",
"gap": 8
},
"inlineStyles": {
"bold": {
"fontWeight": 700,
"color": "var(--text-primary)"
},
"italic": {
"fontStyle": "italic",
"color": "var(--text-primary)"
},
"strikethrough": {
"color": "var(--text-tertiary)",
"textDecoration": "line-through"
},
"code": {
"fontFamily": "'SF Mono', 'Fira Code', monospace",
"fontSize": 14,
"backgroundColor": "var(--bg-hover-subtle)",
"paddingHorizontal": 4,
"paddingVertical": 2,
"borderRadius": 3,
"color": "var(--text-secondary)"
},
"link": {
"color": "var(--accent-blue)",
"textDecoration": "underline"
},
"wikilink": {
"color": "var(--accent-blue)",
"textDecoration": "none",
"borderBottom": "1px dotted currentColor",
"cursor": "pointer"
}
},
"codeBlocks": {
"fontFamily": "'SF Mono', 'Fira Code', monospace",
"fontSize": 13,
"lineHeight": 1.5,
"backgroundColor": "var(--bg-card)",
"paddingHorizontal": 16,
"paddingVertical": 12,
"borderRadius": 6,
"marginVertical": 12
},
"blockquote": {
"borderLeftWidth": 3,
"borderLeftColor": "var(--accent-blue)",
"paddingLeft": 16,
"marginVertical": 12,
"color": "var(--text-secondary)",
"fontStyle": "italic"
},
"table": {
"borderColor": "var(--border-primary)",
"headerBackground": "var(--bg-card)",
"cellPaddingHorizontal": 12,
"cellPaddingVertical": 8,
"fontSize": 14
},
"horizontalRule": {
"color": "var(--border-primary)",
"marginVertical": 24,
"thickness": 1
},
"colors": {
"background": "var(--bg-primary)",
"text": "var(--text-primary)",
"textSecondary": "var(--text-secondary)",
"textMuted": "var(--text-muted)",
"heading": "var(--text-heading)",
"accent": "var(--accent-blue)",
"selection": "var(--bg-selected)",
"cursor": "var(--text-primary)"
}
}