@@ -3,14 +3,14 @@ package site |
| 3 |
const siteCSS = `:root { |
3 |
const siteCSS = `:root { |
| 4 |
--bg: #ffffff; |
4 |
--bg: #ffffff; |
| 5 |
--canvas: #f6f8fa; |
5 |
--canvas: #f6f8fa; |
| 6 |
--border: #d0d7de; |
6 |
--canvas-subtle: #f8f9fa; |
|
|
7 |
--border: #d1d9e0; |
| 7 |
--border-muted: #d8dee4; |
8 |
--border-muted: #d8dee4; |
| 8 |
--text: #1f2328; |
9 |
--text: #1f2328; |
| 9 |
--muted: #656d76; |
10 |
--muted: #59636e; |
| 10 |
--blue: #0969da; |
11 |
--blue: #0969da; |
| 11 |
--green: #1f883d; |
12 |
--green: #1f883d; |
| 12 |
--green-hover: #1a7f37; |
13 |
--green-hover: #1a7f37; |
| 13 |
--nav: #25292e; |
|
|
| 14 |
--shadow: 0 1px 0 rgba(31,35,40,.04); |
14 |
--shadow: 0 1px 0 rgba(31,35,40,.04); |
| 15 |
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; |
15 |
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; |
| 16 |
color: var(--text); |
16 |
color: var(--text); |
@@ -19,72 +19,93 @@ const siteCSS = `:root { |
| 19 |
* { box-sizing: border-box; } |
19 |
* { box-sizing: border-box; } |
| 20 |
[hidden] { display: none !important; } |
20 |
[hidden] { display: none !important; } |
| 21 |
body { margin: 0; min-width: 320px; background: var(--bg); font-size: 14px; line-height: 1.5; } |
21 |
body { margin: 0; min-width: 320px; background: var(--bg); font-size: 14px; line-height: 1.5; } |
|
|
22 |
body.dialog-open { overflow: hidden; } |
| 22 |
a { color: var(--blue); text-decoration: none; } |
23 |
a { color: var(--blue); text-decoration: none; } |
| 23 |
a:hover { text-decoration: underline; } |
24 |
a:hover { text-decoration: underline; } |
| 24 |
button, input { font: inherit; } |
25 |
button, input { font: inherit; } |
| 25 |
.icon { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; vertical-align: text-bottom; } |
26 |
.icon { display: inline-block; width: 16px; height: 16px; flex: none; fill: currentColor; stroke: none; overflow: visible; vertical-align: text-bottom; } |
|
|
27 |
.icon-chevron { width: 12px; height: 12px; } |
| 26 |
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; } |
28 |
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; } |
| 27 |
.topbar { height: 64px; padding: 0 28px; display: flex; align-items: center; gap: 18px; background: var(--nav); color: white; } |
29 |
|
| 28 |
.brand { display: inline-flex; align-items: center; gap: 9px; color: white; font-size: 16px; font-weight: 650; letter-spacing: -.2px; } |
30 |
.topbar { min-height: 64px; padding: 16px 32px; display: flex; align-items: center; gap: 12px; background: var(--canvas); } |
|
|
31 |
.brand { display: inline-grid; place-items: center; color: var(--text); } |
| 29 |
.brand:hover { text-decoration: none; } |
32 |
.brand:hover { text-decoration: none; } |
| 30 |
.brand-mark { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #6e7681; border-radius: 50%; font-family: ui-monospace, monospace; font-weight: 800; } |
33 |
.brand-mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #24292f; color: #fff; font: 800 17px/1 ui-monospace, SFMono-Regular, Consolas, monospace; } |
| 31 |
.top-search { width: 300px; height: 34px; border: 1px solid #57606a; border-radius: 6px; display: flex; align-items: center; padding: 0 12px; color: #b6bec8; font-size: 13px; } |
34 |
.header-crumbs { min-width: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; } |
| 32 |
.top-link { margin-left: auto; color: white; font-weight: 600; } |
35 |
.header-crumbs a { color: var(--text); white-space: nowrap; } |
| 33 |
.repo-head { background: var(--canvas); border-bottom: 1px solid var(--border); padding: 22px 32px 0; } |
36 |
.header-repo { overflow: hidden; font-weight: 650; text-overflow: ellipsis; } |
| 34 |
.repo-title { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; gap: 7px; font-size: 20px; } |
37 |
.header-crumbs span { color: var(--muted); } |
| 35 |
.repo-icon { color: var(--muted); display: inline-flex; margin-right: 2px; } |
38 |
.repo-nav { background: var(--canvas); border-bottom: 1px solid var(--border); } |
| 36 |
.repo-icon .icon { width: 20px; height: 20px; } |
39 |
.tabs { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; gap: 8px; } |
| 37 |
.repo-name { font-weight: 650; } |
40 |
.tab { position: relative; display: flex; align-items: center; gap: 7px; padding: 8px 10px 10px; color: var(--text); font-size: 14px; font-weight: 500; } |
| 38 |
.slash { color: var(--muted); } |
41 |
.tab:hover { text-decoration: none; background: rgba(175,184,193,.18); border-radius: 6px; } |
| 39 |
.visibility { color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 1px 8px; font-size: 12px; font-weight: 600; margin-left: 5px; } |
|
|
| 40 |
.tabs { max-width: 1280px; margin: 20px auto 0; display: flex; gap: 8px; } |
|
|
| 41 |
.tab { position: relative; display: flex; align-items: center; gap: 7px; padding: 9px 12px 12px; color: var(--text); font-weight: 500; } |
|
|
| 42 |
.tab:hover { text-decoration: none; background: rgba(175,184,193,.16); border-radius: 6px 6px 0 0; } |
|
|
| 43 |
.tab.active { font-weight: 650; } |
42 |
.tab.active { font-weight: 650; } |
| 44 |
.tab.active:after { content: ""; height: 2px; background: #fd8c73; position: absolute; left: 8px; right: 8px; bottom: -1px; } |
43 |
.tab.active:after { content: ""; height: 2px; background: #fd8c73; position: absolute; left: 8px; right: 8px; bottom: -1px; } |
| 45 |
.counter { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: rgba(175,184,193,.25); color: var(--text); font-size: 12px; font-weight: 600; } |
44 |
.counter { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: rgba(175,184,193,.25); color: var(--text); font-size: 12px; font-weight: 600; } |
| 46 |
.content-shell { max-width: 1280px; margin: 24px auto 64px; padding: 0 24px; } |
45 |
|
| 47 |
.repo-grid { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 30px; } |
46 |
.content-shell { max-width: 1280px; margin: 0 auto 64px; padding: 24px; } |
|
|
47 |
.repo-overview-head { min-height: 34px; margin-bottom: 18px; display: flex; align-items: center; gap: 16px; } |
|
|
48 |
.repo-title { min-width: 0; display: flex; align-items: center; gap: 7px; font-size: 20px; } |
|
|
49 |
.repo-title > a { overflow: hidden; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; } |
|
|
50 |
.repo-icon { display: inline-flex; color: var(--muted); } |
|
|
51 |
.repo-icon .icon { width: 18px; height: 18px; } |
|
|
52 |
.visibility { color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 1px 8px; font-size: 12px; font-weight: 600; } |
|
|
53 |
.repo-overview-head .fork-button { margin-left: auto; } |
|
|
54 |
.repo-grid { display: grid; grid-template-columns: minmax(0, 1fr) 296px; gap: 32px; } |
| 48 |
.primary { min-width: 0; } |
55 |
.primary { min-width: 0; } |
| 49 |
.full-width { width: 100%; } |
56 |
.full-width { width: 100%; } |
| 50 |
.toolbar { min-height: 38px; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; } |
57 |
|
| 51 |
.branch-button, .clone-button, .blob-actions a, .blob-actions button { min-height: 32px; border: 1px solid rgba(31,35,40,.15); border-radius: 6px; background: #f6f8fa; box-shadow: var(--shadow); color: var(--text); display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; font-weight: 600; font-size: 13px; } |
58 |
.toolbar { min-height: 34px; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; } |
| 52 |
.branch-button .icon-chevron { width: 12px; margin-left: 3px; color: var(--muted); } |
59 |
.toolbar-spacer { flex: 1 1 auto; } |
| 53 |
.clone-menu { position: relative; margin-left: auto; } |
60 |
.branch-menu, .clone-menu { position: relative; } |
| 54 |
.clone-button { background: var(--green); border-color: rgba(31,35,40,.15); color: white; cursor: pointer; } |
61 |
.branch-button, .clone-button, .secondary-button, .blob-actions a, .blob-actions button { min-height: 32px; border: 1px solid rgba(31,35,40,.15); border-radius: 6px; background: var(--canvas); box-shadow: var(--shadow); color: var(--text); display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 5px 12px; font-weight: 600; font-size: 13px; line-height: 20px; cursor: pointer; } |
|
|
62 |
.branch-button:hover, .secondary-button:hover, .blob-actions a:hover, .blob-actions button:hover { background: #eff2f5; text-decoration: none; } |
|
|
63 |
.branch-button { max-width: 240px; } |
|
|
64 |
.branch-button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
|
|
65 |
.clone-button { background: var(--green); border-color: rgba(31,35,40,.15); color: white; } |
| 55 |
.clone-button:hover { background: var(--green-hover); } |
66 |
.clone-button:hover { background: var(--green-hover); } |
| 56 |
.clone-button .icon-chevron { width: 12px; } |
67 |
.fork-button { white-space: nowrap; } |
| 57 |
.clone-popover { position: absolute; z-index: 10; top: calc(100% + 7px); right: 0; width: 380px; padding: 16px; border: 1px solid var(--border); border-radius: 8px; background: white; box-shadow: 0 8px 24px rgba(140,149,159,.35); } |
68 |
.branch-popover, .clone-popover { position: absolute; z-index: 30; top: calc(100% + 7px); border: 1px solid var(--border); border-radius: 8px; background: white; box-shadow: 0 8px 24px rgba(140,149,159,.28); } |
| 58 |
.clone-popover:before { content: ""; position: absolute; top: -6px; right: 22px; width: 10px; height: 10px; transform: rotate(45deg); border-left: 1px solid var(--border); border-top: 1px solid var(--border); background: white; } |
69 |
.branch-popover { left: 0; width: 300px; overflow: hidden; } |
|
|
70 |
.branch-popover h3 { margin: 0; padding: 12px 16px 10px; border-bottom: 1px solid var(--border-muted); font-size: 14px; } |
|
|
71 |
.branch-list { max-height: 300px; padding: 6px 0; overflow-y: auto; } |
|
|
72 |
.branch-option { min-height: 34px; padding: 6px 16px 6px 38px; position: relative; display: block; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
|
|
73 |
.branch-option:hover { background: var(--canvas); text-decoration: none; } |
|
|
74 |
.branch-option.selected { font-weight: 650; } |
|
|
75 |
.branch-option.selected:before { content: "✓"; position: absolute; left: 16px; color: var(--text); } |
|
|
76 |
.clone-popover { right: 0; width: 390px; padding: 16px; } |
| 59 |
.clone-popover h3 { margin: 0; font-size: 14px; } |
77 |
.clone-popover h3 { margin: 0; font-size: 14px; } |
| 60 |
.clone-popover p { margin: 3px 0 12px; color: var(--muted); font-size: 12px; } |
78 |
.clone-popover p { margin: 3px 0 12px; color: var(--muted); font-size: 12px; } |
| 61 |
.clone-input-group { display: flex; } |
79 |
.clone-input-group { display: flex; } |
| 62 |
.clone-input-group input { min-width: 0; flex: 1; height: 34px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 6px 0 0 6px; color: var(--text); background: var(--canvas); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; } |
80 |
.clone-input-group input { min-width: 0; flex: 1; height: 34px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 6px 0 0 6px; color: var(--text); background: var(--canvas); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; } |
| 63 |
.clone-input-group button { width: 38px; display: grid; place-items: center; border: 1px solid var(--border); border-left: 0; border-radius: 0 6px 6px 0; color: var(--text); background: var(--canvas); cursor: pointer; } |
81 |
.clone-input-group button { width: 40px; display: grid; place-items: center; border: 1px solid var(--border); border-left: 0; border-radius: 0 6px 6px 0; color: var(--text); background: var(--canvas); cursor: pointer; } |
| 64 |
.clone-input-group button:hover { background: #eef1f4; } |
82 |
.clone-input-group button:hover { background: #eef1f4; } |
|
|
83 |
.clone-input-group button.is-copied { color: var(--green); background: #dafbe1; } |
| 65 |
.clone-popover > code { display: block; margin-top: 12px; padding: 9px 10px; overflow: hidden; border-radius: 6px; color: var(--muted); background: var(--canvas); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; } |
84 |
.clone-popover > code { display: block; margin-top: 12px; padding: 9px 10px; overflow: hidden; border-radius: 6px; color: var(--muted); background: var(--canvas); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; } |
|
|
85 |
.menu-status { margin: 0; padding: 12px 16px; color: var(--muted); font-size: 13px; } |
| 66 |
.toolbar-path { border-bottom: 1px solid var(--border-muted); padding-bottom: 14px; } |
86 |
.toolbar-path { border-bottom: 1px solid var(--border-muted); padding-bottom: 14px; } |
| 67 |
.breadcrumbs { min-width: 0; display: flex; align-items: center; gap: 6px; font-size: 16px; overflow: hidden; } |
87 |
.breadcrumbs { min-width: 0; display: flex; align-items: center; gap: 6px; overflow: hidden; font-size: 14px; } |
| 68 |
.breadcrumbs a { color: var(--text); white-space: nowrap; } |
88 |
.breadcrumbs a { color: var(--text); white-space: nowrap; } |
| 69 |
.breadcrumbs a:last-child { font-weight: 650; } |
89 |
.breadcrumbs a:last-child { overflow: hidden; font-weight: 650; text-overflow: ellipsis; } |
| 70 |
.breadcrumbs span { color: var(--muted); } |
90 |
.breadcrumbs span { color: var(--muted); } |
|
|
91 |
|
| 71 |
.tree-card, .readme-card, .blob-card { border: 1px solid var(--border); border-radius: 6px; overflow: hidden; background: var(--bg); } |
92 |
.tree-card, .readme-card, .blob-card { border: 1px solid var(--border); border-radius: 6px; overflow: hidden; background: var(--bg); } |
| 72 |
.commit-row { min-height: 54px; display: grid; grid-template-columns: 32px minmax(120px,1fr) auto auto auto; align-items: center; gap: 9px; padding: 9px 14px; background: var(--canvas); border-bottom: 1px solid var(--border); } |
93 |
.commit-row { min-height: 54px; display: grid; grid-template-columns: 32px minmax(120px,1fr) auto auto auto; align-items: center; gap: 9px; padding: 9px 14px; background: var(--canvas); border-bottom: 1px solid var(--border); } |
| 73 |
.avatar { width: 28px; height: 28px; display: block; border-radius: 50%; object-fit: cover; background: #eaeef2; } |
94 |
.avatar { width: 28px; height: 28px; display: block; border-radius: 50%; object-fit: cover; background: #eaeef2; } |
| 74 |
.latest-commit { min-width: 0; display: flex; align-items: baseline; gap: 9px; } |
95 |
.latest-commit { min-width: 0; display: flex; align-items: baseline; gap: 9px; } |
| 75 |
.latest-commit strong { flex: none; } |
96 |
.latest-commit strong { flex: none; } |
| 76 |
.commit-message { min-width: 0; overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; } |
97 |
.commit-message { min-width: 0; overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; } |
| 77 |
.commit-hash, .commit-row time { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; } |
98 |
.commit-hash, .commit-row time { color: var(--muted); font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; } |
| 78 |
.commit-row time { font-family: inherit; white-space: nowrap; } |
99 |
.commit-row time { font-family: inherit; white-space: nowrap; } |
| 79 |
.commit-count-link { min-height: 30px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-left: 1px solid var(--border-muted); color: var(--text); white-space: nowrap; } |
100 |
.commit-count-link { min-height: 30px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 0 4px 10px; border-left: 1px solid var(--border-muted); color: var(--text); white-space: nowrap; } |
| 80 |
.commit-count-link:hover { color: var(--blue); text-decoration: none; } |
101 |
.commit-count-link:hover { color: var(--blue); text-decoration: none; } |
| 81 |
.tree-rows { width: 100%; } |
102 |
.tree-rows { width: 100%; } |
| 82 |
.tree-row { min-height: 42px; display: grid; grid-template-columns: 24px minmax(180px, 2fr) minmax(120px, 3fr) 75px; align-items: center; gap: 8px; padding: 6px 16px; color: var(--text); border-top: 1px solid var(--border-muted); } |
103 |
.tree-row { min-height: 42px; display: grid; grid-template-columns: 24px minmax(180px, 2fr) minmax(120px, 3fr) 75px; align-items: center; gap: 8px; padding: 6px 16px; color: var(--text); border-top: 1px solid var(--border-muted); } |
| 83 |
.tree-row:first-child { border-top: 0; } |
104 |
.tree-row:first-child { border-top: 0; } |
| 84 |
.tree-row:hover { background: var(--canvas); text-decoration: none; } |
105 |
.tree-row:hover { background: var(--canvas); text-decoration: none; } |
| 85 |
.file-icon { display: inline-flex; color: #59636e; } |
106 |
.file-icon { width: 18px; height: 18px; display: inline-grid; place-items: center; color: var(--muted); } |
| 86 |
.file-icon.folder { color: #54aeff; } |
107 |
.file-icon.folder { color: #54aeff; } |
| 87 |
.file-icon .icon { width: 17px; height: 17px; stroke-width: 1.25; } |
108 |
.file-icon .icon { width: 16px; height: 16px; } |
| 88 |
.file-name { color: var(--blue); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
109 |
.file-name { color: var(--blue); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
| 89 |
.row-message { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
110 |
.row-message { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
| 90 |
.file-size { color: var(--muted); text-align: right; font-size: 12px; white-space: nowrap; } |
111 |
.file-size { color: var(--muted); text-align: right; font-size: 12px; white-space: nowrap; } |
@@ -104,7 +125,8 @@ button, input { font: inherit; } |
| 104 |
.markdown-body pre { padding: 16px; overflow: auto; border-radius: 6px; background: var(--canvas); } |
125 |
.markdown-body pre { padding: 16px; overflow: auto; border-radius: 6px; background: var(--canvas); } |
| 105 |
.markdown-body pre code { padding: 0; background: transparent; } |
126 |
.markdown-body pre code { padding: 0; background: transparent; } |
| 106 |
.markdown-body blockquote { margin-left: 0; padding-left: 1em; color: var(--muted); border-left: .25em solid var(--border); } |
127 |
.markdown-body blockquote { margin-left: 0; padding-left: 1em; color: var(--muted); border-left: .25em solid var(--border); } |
| 107 |
.sidebar { padding-top: 48px; } |
128 |
|
|
|
129 |
.sidebar { padding-top: 50px; } |
| 108 |
.sidebar-section { padding: 0 0 20px; margin: 0 0 20px; border-bottom: 1px solid var(--border-muted); } |
130 |
.sidebar-section { padding: 0 0 20px; margin: 0 0 20px; border-bottom: 1px solid var(--border-muted); } |
| 109 |
.sidebar-section:last-child { border-bottom: 0; } |
131 |
.sidebar-section:last-child { border-bottom: 0; } |
| 110 |
.sidebar h2 { margin: 0 0 10px; font-size: 16px; } |
132 |
.sidebar h2 { margin: 0 0 10px; font-size: 16px; } |
@@ -113,6 +135,7 @@ button, input { font: inherit; } |
| 113 |
.about-description { margin: 0 0 12px; color: var(--text); font-size: 16px; line-height: 1.45; } |
135 |
.about-description { margin: 0 0 12px; color: var(--text); font-size: 16px; line-height: 1.45; } |
| 114 |
.about-description.muted { color: var(--muted); } |
136 |
.about-description.muted { color: var(--muted); } |
| 115 |
.about-link { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 4px 0; color: var(--blue); font-weight: 600; } |
137 |
.about-link { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 4px 0; color: var(--blue); font-weight: 600; } |
|
|
138 |
.about-link .icon { width: 16px; height: 16px; } |
| 116 |
.about-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
139 |
.about-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
| 117 |
.contributors-list { display: flex; flex-direction: column; gap: 8px; } |
140 |
.contributors-list { display: flex; flex-direction: column; gap: 8px; } |
| 118 |
.contributor { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 8px; } |
141 |
.contributor { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 8px; } |
@@ -127,14 +150,15 @@ button, input { font: inherit; } |
| 127 |
.language-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
150 |
.language-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
| 128 |
.language-list li > span:last-child { color: var(--muted); } |
151 |
.language-list li > span:last-child { color: var(--muted); } |
| 129 |
.language-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--language-color); } |
152 |
.language-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--language-color); } |
|
|
153 |
|
| 130 |
.blob-card { border-radius: 6px; } |
154 |
.blob-card { border-radius: 6px; } |
| 131 |
.blob-heading { min-height: 54px; padding: 10px 14px; display: flex; align-items: center; gap: 12px; background: var(--canvas); border-bottom: 1px solid var(--border); } |
155 |
.blob-heading { min-height: 54px; padding: 10px 14px; display: flex; align-items: center; gap: 12px; background: var(--canvas); border-bottom: 1px solid var(--border); } |
| 132 |
.blob-heading > div:first-child { min-width: 0; display: flex; flex-direction: column; } |
156 |
.blob-heading > div:first-child { min-width: 0; display: flex; flex-direction: column; } |
| 133 |
.blob-heading strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
157 |
.blob-heading strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
| 134 |
.blob-heading span { color: var(--muted); font-size: 12px; } |
158 |
.blob-heading span { color: var(--muted); font-size: 12px; } |
| 135 |
.blob-actions { margin-left: auto; display: flex; gap: 6px; } |
159 |
.blob-actions { margin-left: auto; display: flex; gap: 6px; } |
| 136 |
.blob-actions a, .blob-actions button { min-height: 28px; padding: 3px 10px; cursor: pointer; } |
160 |
.blob-actions a, .blob-actions button { min-height: 28px; padding: 3px 10px; } |
| 137 |
.blob-actions button .icon { width: 14px; height: 14px; } |
161 |
.blob-actions button.is-copied { color: var(--green); background: #dafbe1; } |
| 138 |
.code-view { overflow: auto; font: 12px/1.5 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; } |
162 |
.code-view { overflow: auto; font: 12px/1.5 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; } |
| 139 |
.code-view .chroma { margin: 0; padding: 0; background: white; } |
163 |
.code-view .chroma { margin: 0; padding: 0; background: white; } |
| 140 |
.code-view .chroma table { width: 100%; border-spacing: 0; } |
164 |
.code-view .chroma table { width: 100%; border-spacing: 0; } |
@@ -147,7 +171,8 @@ button, input { font: inherit; } |
| 147 |
.binary-notice > span .icon { width: 44px; height: 44px; } |
171 |
.binary-notice > span .icon { width: 44px; height: 44px; } |
| 148 |
.binary-notice strong { color: var(--text); font-size: 16px; } |
172 |
.binary-notice strong { color: var(--text); font-size: 16px; } |
| 149 |
.binary-notice p { margin: 5px 0 14px; } |
173 |
.binary-notice p { margin: 5px 0 14px; } |
| 150 |
.history-toolbar { justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--border-muted); } |
174 |
|
|
|
175 |
.history-toolbar { padding-bottom: 14px; border-bottom: 1px solid var(--border-muted); } |
| 151 |
.history-total { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); } |
176 |
.history-total { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); } |
| 152 |
.history-heading { margin: 22px 0 24px; } |
177 |
.history-heading { margin: 22px 0 24px; } |
| 153 |
.history-heading h1 { margin: 0; font-size: 24px; } |
178 |
.history-heading h1 { margin: 0; font-size: 24px; } |
@@ -167,7 +192,21 @@ button, input { font: inherit; } |
| 167 |
.commit-list-body > span strong { color: var(--text); } |
192 |
.commit-list-body > span strong { color: var(--text); } |
| 168 |
.commit-sha { padding: 4px 8px; border: 1px solid var(--border); border-radius: 6px; color: var(--text); background: var(--canvas); font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; } |
193 |
.commit-sha { padding: 4px 8px; border: 1px solid var(--border); border-radius: 6px; color: var(--text); background: var(--canvas); font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; } |
| 169 |
.commit-sha:hover { color: var(--blue); text-decoration: none; } |
194 |
.commit-sha:hover { color: var(--blue); text-decoration: none; } |
| 170 |
footer { min-height: 90px; max-width: 1232px; margin: 0 auto; border-top: 1px solid var(--border-muted); color: var(--muted); display: flex; justify-content: center; gap: 28px; align-items: center; font-size: 12px; } |
195 |
|
|
|
196 |
.dialog-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; align-items: start; justify-items: center; padding: 12vh 20px 20px; background: rgba(31,35,40,.45); } |
|
|
197 |
.file-dialog { width: min(680px, 100%); max-height: 70vh; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); box-shadow: 0 16px 48px rgba(31,35,40,.3); } |
|
|
198 |
.file-dialog > header { min-height: 48px; padding: 8px 10px 8px 16px; display: flex; align-items: center; border-bottom: 1px solid var(--border-muted); } |
|
|
199 |
.file-dialog h2 { margin: 0; font-size: 16px; } |
|
|
200 |
.icon-button { width: 32px; height: 32px; margin-left: auto; display: grid; place-items: center; border: 0; border-radius: 6px; color: var(--muted); background: transparent; cursor: pointer; } |
|
|
201 |
.icon-button:hover { color: var(--text); background: var(--canvas); } |
|
|
202 |
.file-search { margin: 12px 16px; padding: 0 10px; display: flex; align-items: center; gap: 8px; border: 1px solid #818b98; border-radius: 6px; } |
|
|
203 |
.file-search:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(9,105,218,.2); } |
|
|
204 |
.file-search .icon { color: var(--muted); } |
|
|
205 |
.file-search input { width: 100%; height: 36px; border: 0; outline: 0; background: transparent; } |
|
|
206 |
.file-results { min-height: 110px; overflow-y: auto; border-top: 1px solid var(--border-muted); } |
|
|
207 |
.file-result { padding: 8px 16px; display: block; color: var(--text); font: 13px ui-monospace, SFMono-Regular, Consolas, monospace; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } |
|
|
208 |
.file-result:hover, .file-result:focus { background: var(--canvas); color: var(--blue); text-decoration: none; outline: 0; } |
|
|
209 |
|
| 171 |
@media (max-width: 900px) { |
210 |
@media (max-width: 900px) { |
| 172 |
.repo-grid { grid-template-columns: 1fr; } |
211 |
.repo-grid { grid-template-columns: 1fr; } |
| 173 |
.sidebar { padding-top: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; } |
212 |
.sidebar { padding-top: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; } |
@@ -176,23 +215,26 @@ footer { min-height: 90px; max-width: 1232px; margin: 0 auto; border-top: 1px so |
| 176 |
.commit-hash, .commit-row time { display: none; } |
215 |
.commit-hash, .commit-row time { display: none; } |
| 177 |
} |
216 |
} |
| 178 |
@media (max-width: 650px) { |
217 |
@media (max-width: 650px) { |
| 179 |
.topbar { padding: 0 16px; } |
218 |
.topbar { min-height: 56px; padding: 12px 16px; } |
| 180 |
.top-search, .top-link { display: none; } |
219 |
.tabs { padding: 0 12px; } |
| 181 |
.repo-head { padding-left: 16px; padding-right: 16px; } |
220 |
.content-shell { padding: 16px 12px; margin-bottom: 40px; } |
|
|
221 |
.repo-overview-head { align-items: flex-start; } |
| 182 |
.repo-title { font-size: 17px; } |
222 |
.repo-title { font-size: 17px; } |
| 183 |
.content-shell { padding: 0 12px; margin-top: 16px; } |
223 |
.fork-button { padding-left: 9px; padding-right: 9px; } |
| 184 |
.sidebar { display: block; } |
224 |
.sidebar { display: block; } |
|
|
225 |
.repo-toolbar { flex-wrap: wrap; } |
|
|
226 |
.toolbar-path { align-items: flex-start; flex-wrap: wrap; } |
|
|
227 |
.toolbar-path .breadcrumbs { order: 5; width: 100%; } |
|
|
228 |
.go-file-button { padding-left: 9px; padding-right: 9px; } |
| 185 |
.commit-row { grid-template-columns: 32px minmax(0,1fr) auto; } |
229 |
.commit-row { grid-template-columns: 32px minmax(0,1fr) auto; } |
| 186 |
.commit-count-link { border-left: 0; padding-right: 0; } |
230 |
.commit-count-link { border-left: 0; padding-right: 0; } |
| 187 |
.commit-count-link strong { display: none; } |
231 |
.commit-count-link strong, .latest-commit strong { display: none; } |
| 188 |
.latest-commit strong { display: none; } |
|
|
| 189 |
.tree-row { grid-template-columns: 22px minmax(100px,1fr) 70px; } |
232 |
.tree-row { grid-template-columns: 22px minmax(100px,1fr) 70px; } |
| 190 |
.row-message { display: none; } |
233 |
.row-message { display: none; } |
| 191 |
.markdown-body { padding: 22px 18px; } |
234 |
.markdown-body { padding: 22px 18px; } |
| 192 |
.toolbar-path { align-items: flex-start; flex-direction: column; } |
235 |
.branch-popover, .clone-popover { position: fixed; top: 74px; left: 12px; right: 12px; width: auto; } |
| 193 |
.clone-popover { position: fixed; top: 74px; left: 12px; right: 12px; width: auto; } |
|
|
| 194 |
.clone-popover:before { display: none; } |
|
|
| 195 |
.commit-list-row { grid-template-columns: 34px minmax(0,1fr); } |
236 |
.commit-list-row { grid-template-columns: 34px minmax(0,1fr); } |
| 196 |
.commit-sha { display: none; } |
237 |
.commit-sha { display: none; } |
| 197 |
footer { flex-direction: column; gap: 4px; } |
238 |
.dialog-backdrop { padding: 7vh 10px 10px; } |
|
|
239 |
.file-dialog { max-height: 82vh; } |
| 198 |
}` |
240 |
}` |