1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
//! Lapis: 0x4200.cafe's illuminated manuscript (web/theme/lapis.css) as a
//! pardes theme. Ultramarine vellum, gold leaf and vermilion rubrics: the
//! page is lapis-deep, the tags lapis with their names in gold, the text
//! vellum. The site's ornament comes with it as the theme's `decor`, drawn
//! inside the existing chrome (docs/render-pipeline.md §10, decision 1):
//! a gold dot grid on the page under the pane bodies, a gold and lapis
//! checker in the scroll column, every tag a gold-framed plaque with the
//! trail's hard vermilion shadow (inside its own band: in a tiled layout a
//! shadow past it would fall on the next pane or its grip, and no ornament
//! may cover a focus indicator), the focused one striped like the code
//! window's title bar, and the file name's vermilion offset shadow.
pub const theme = .{
.name = "lapis",
// --lapis-deep, --vellum
.bg = .{ 0x0a, 0x10, 0x30 },
.fg = .{ 0xee, 0xe6, 0xd2 },
// A gold highlight in lapis ink, as the directory's current entry.
.sel_bg = .{ 0xe8, 0xc4, 0x6a },
.sel_fg = .{ 0x0f, 0x1a, 0x4a },
// --lapis, --vellum-dim
.tag_bg = .{ 0x0f, 0x1a, 0x4a },
.tag_fg = .{ 0x9a, 0xa6, 0xd9 },
.tag_name_fg = .{ 0xe8, 0xc4, 0x6a },
.tag_active_name_fg = .{ 0xf2, 0xd2, 0x80 },
// The plaques' hover lapis, taken a step further: 1.5:1 off the tag.
.tag_active_bg = .{ 0x25, 0x39, 0x7d },
.tag_active_fg = .{ 0xee, 0xe6, 0xd2 },
.box = .{ 0xe8, 0xc4, 0x6a },
.box_dim = .{ 0x3a, 0x4a, 0x8a },
.box_border = .{ 0x9a, 0xa6, 0xd9 },
.box_dirty = .{ 0xff, 0x6a, 0x4a },
.column_box = .{ 0xff, 0x6a, 0x4a },
.column_box_dim = .{ 0x8a, 0x3a, 0x3a },
// Rubrics: vermilion keywords, gilded strings, the code window's green
// for numbers, vellum-dim comments.
.kw = .{ 0xff, 0x6a, 0x4a },
.str = .{ 0xe8, 0xc4, 0x6a },
.num = .{ 0xe7, 0xff, 0xe0 },
.comment = .{ 0x9a, 0xa6, 0xd9 },
.lineno = .{ 0x5a, 0x6a, 0xa8 },
.lineno_active = .{ 0x6a, 0x7a, 0xb8 },
// --lapis-ink under a gold thumb (the page's scrollbar-color).
.scroll_track = .{ 0x05, 0x0a, 0x24 },
.scroll_thumb = .{ 0xe8, 0xc4, 0x6a },
// Gold rules, a vermilion hairline between a tag and its text.
.border = .{ 0xe8, 0xc4, 0x6a },
// An empty column is the page, not a slab of gold leaf.
.empty_col = .{ 0x0a, 0x10, 0x30 },
.tag_rule = .{ 0xd4, 0x41, 0x2f },
.search_bg = .{ 0x6a, 0x2a, 0x1c },
.search_fg = .{ 0xff, 0xd0, 0xb0 },
.diagnostic_error = .{ 0xff, 0x6a, 0x4a },
.diagnostic_warning = .{ 0xe8, 0xc4, 0x6a },
.diagnostic_info = .{ 0x9a, 0xc6, 0xff },
.diagnostic_hint = .{ 0xa8, 0xe0, 0xc0 },
.decor = .{
.page_dots = .{ 0xe8, 0xc4, 0x6a },
// #e8c46a22 on the site: a dot a pixel and a half across every 22.
.page_dot_alpha = 0x22,
.page_dot_px = 22,
.rail_checker = .{ 0xe8, 0xc4, 0x6a },
.rail_checker_px = 3,
// The trail: a 2px gold frame and a 5px vermilion shadow; the code
// window's title bar: gold and lapis stripes of 2px.
.tag_border = .{ 0xe8, 0xc4, 0x6a },
.tag_border_px = 2,
.tag_shadow = .{ 0xd4, 0x41, 0x2f },
.tag_shadow_px = 5,
.tag_stripe = .{ 0xe8, 0xc4, 0x6a },
.tag_stripe_px = 2,
.title_shadow = .{ 0xd4, 0x41, 0x2f },
.title_shadow_px = 2,
},
.palette = .{
.{ 0x0a, 0x10, 0x30 },
.{ 0xff, 0x6a, 0x4a },
.{ 0xa8, 0xe0, 0xc0 },
.{ 0xe8, 0xc4, 0x6a },
.{ 0x9a, 0xc6, 0xff },
.{ 0xd8, 0xa0, 0xe8 },
.{ 0x8a, 0xd8, 0xd8 },
.{ 0xee, 0xe6, 0xd2 },
.{ 0x9a, 0xa6, 0xd9 },
.{ 0xff, 0x9a, 0x6a },
.{ 0xc8, 0xf0, 0xd8 },
.{ 0xff, 0xde, 0x90 },
.{ 0xc0, 0xdc, 0xff },
.{ 0xe8, 0xc0, 0xf4 },
.{ 0xb0, 0xec, 0xec },
.{ 0xff, 0xf8, 0xe8 },
},
};
|