explicode 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +156 -0
- package/cli.js +456 -0
- package/ghmd-dark.css +208 -0
- package/ghmd-light.css +153 -0
- package/index.template.html +439 -0
- package/package.json +16 -0
package/ghmd-dark.css
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/* Explicode — GitHub Dark theme for Docsify */
|
|
2
|
+
|
|
3
|
+
/* ── Reset & base ── */
|
|
4
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
5
|
+
* { -webkit-font-smoothing: antialiased; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: none; }
|
|
6
|
+
html, body { height: 100%; }
|
|
7
|
+
body { margin: 0; overflow-x: hidden; background-color: #0d1117; color: #e6edf3; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; }
|
|
8
|
+
img { max-width: 100%; }
|
|
9
|
+
body:not(.ready) { overflow: hidden; }
|
|
10
|
+
body:not(.ready) [data-cloak], body:not(.ready) .app-nav, body:not(.ready) > nav { display: none; }
|
|
11
|
+
div#app { font-size: 30px; font-weight: lighter; margin: 40vh auto; text-align: center; color: #e6edf3; }
|
|
12
|
+
div#app:empty::before { content: 'Loading...'; }
|
|
13
|
+
.progress { background-color: #58a6ff; height: 2px; left: 0; position: fixed; right: 0; top: 0; transition: width 0.2s, opacity 0.4s; width: 0%; z-index: 999999; }
|
|
14
|
+
|
|
15
|
+
/* ── Layout ── */
|
|
16
|
+
main { display: block; position: relative; width: 100vw; height: 100%; z-index: 0; }
|
|
17
|
+
main.hidden { display: none; }
|
|
18
|
+
body.sticky .sidebar, body.sticky .sidebar-toggle { position: fixed; }
|
|
19
|
+
.content { padding-top: 60px; position: absolute; top: 0; right: 0; bottom: 0; left: 270px; transition: left 280ms cubic-bezier(0.4,0,0.2,1); }
|
|
20
|
+
body.close .content { left: 0; }
|
|
21
|
+
|
|
22
|
+
/* ── Sidebar ── */
|
|
23
|
+
.sidebar { background-color: #161b22; border-right: 1px solid #30363d; color: #e6edf3; display: flex; flex-direction: column; overflow: hidden; position: absolute; top: 0; bottom: 0; left: 0; transition: transform 280ms cubic-bezier(0.4,0,0.2,1); width: 270px; z-index: 20; }
|
|
24
|
+
.sidebar > h1 { margin: 0; font-size: 1.05rem; font-weight: 600; text-align: center; flex-shrink: 0; padding: 14px 16px 13px; border-bottom: 1px solid #30363d; }
|
|
25
|
+
.sidebar > h1 a { color: #e6edf3; text-decoration: none; display: block; }
|
|
26
|
+
|
|
27
|
+
/* ── Scrollable nav area ── */
|
|
28
|
+
.xp-sidebar-scroll { flex: 1; overflow-y: auto; padding: 24px 0 8px; min-height: 0; }
|
|
29
|
+
.xp-sidebar-scroll .sidebar-nav { margin-left: 8px; padding-bottom: 16px; }
|
|
30
|
+
.xp-sidebar-scroll::-webkit-scrollbar { width: 4px; }
|
|
31
|
+
.xp-sidebar-scroll::-webkit-scrollbar-thumb { background: transparent; border-radius: 4px; }
|
|
32
|
+
.xp-sidebar-scroll:hover::-webkit-scrollbar-thumb { background: rgba(110,118,129,0.4); }
|
|
33
|
+
.xp-sidebar-scroll:hover::-webkit-scrollbar-track { background: rgba(110,118,129,0.1); }
|
|
34
|
+
.sidebar ul { margin: 0; padding: 0; }
|
|
35
|
+
.sidebar ul, .sidebar ul li { list-style: none; }
|
|
36
|
+
.sidebar ul li a { border-bottom: none; display: block; }
|
|
37
|
+
.sidebar ul li ul { margin-left: 0; }
|
|
38
|
+
.sidebar-nav li.collapse > ul { display: block !important; }
|
|
39
|
+
.sidebar li > p { margin-left: 8px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #6e7681; padding: 12px 8px 4px; }
|
|
40
|
+
.sidebar ul li .section-link { font-size: 12px; color: #8b949e; }
|
|
41
|
+
|
|
42
|
+
/* ── Sidebar footer ── */
|
|
43
|
+
.xp-sidebar-footer { flex-shrink: 0; border-top: 1px solid #21262d; padding: 10px 16px; display: flex; align-items: center; justify-content: center; }
|
|
44
|
+
.xp-sidebar-footer span, .xp-sidebar-footer { font-size: 11px; color: #484f58; white-space: nowrap; }
|
|
45
|
+
.xp-sidebar-footer a { color: #6e7681; text-decoration: none; font-size: 11px; }
|
|
46
|
+
.xp-sidebar-footer a:hover { color: #8b949e; text-decoration: underline; }
|
|
47
|
+
|
|
48
|
+
/* ── Mobile nav button ── */
|
|
49
|
+
#xp-mobile-btn { display: none; position: fixed; top: 14px; left: 14px; z-index: 31; width: 36px; height: 36px; background: none; border: none; cursor: pointer; align-items: center; justify-content: center; padding: 0; }
|
|
50
|
+
@media screen and (max-width: 599px) { #xp-mobile-btn { display: flex; } }
|
|
51
|
+
.xp-mb-bars { display: flex; flex-direction: column; gap: 5px; align-items: center; justify-content: center; }
|
|
52
|
+
.xp-mb-bars span { display: block; width: 16px; height: 1.5px; background: #8b949e; border-radius: 2px; }
|
|
53
|
+
.xp-mb-close { font-size: 14px; color: #8b949e; line-height: 1; }
|
|
54
|
+
#xp-mobile-btn[data-open="false"] .xp-mb-bars { display: flex; }
|
|
55
|
+
#xp-mobile-btn[data-open="false"] .xp-mb-close { display: none; }
|
|
56
|
+
#xp-mobile-btn[data-open="true"] .xp-mb-bars { display: none; }
|
|
57
|
+
#xp-mobile-btn[data-open="true"] .xp-mb-close { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
|
|
58
|
+
|
|
59
|
+
/* ── Folder buttons ── */
|
|
60
|
+
.xp-folder-btn { display: flex; align-items: center; gap: 6px; width: calc(100% - 16px); margin: 0 8px; background: none; border: none; cursor: pointer; color: #8b949e; font-size: 13px; font-weight: 600; padding: 5px 8px; border-radius: 6px; text-align: left; transition: background 0.1s, color 0.1s; }
|
|
61
|
+
.xp-folder-btn:hover { background: rgba(177,186,196,0.08); color: #c9d1d9; }
|
|
62
|
+
.xp-folder-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
63
|
+
.sidebar ul li ul { border-left: 1px solid #21262d; margin-left: 21px !important; padding-left: 0; }
|
|
64
|
+
|
|
65
|
+
/* ── SVG icons via CSS masks ── */
|
|
66
|
+
.xp-item-icon, .xp-folder-icon { display: inline-flex; flex-shrink: 0; width: 14px; height: 14px; background-color: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
|
|
67
|
+
.xp-hash-icon { width: 12px; height: 12px; }
|
|
68
|
+
.xp-home-icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.906.664a1.749 1.749 0 0 1 2.187 0l5.25 4.2c.415.332.657.835.657 1.367v7.019A1.75 1.75 0 0 1 13.25 15h-3.5a.75.75 0 0 1-.75-.75V9H7v5.25a.75.75 0 0 1-.75.75h-3.5A1.75 1.75 0 0 1 1 13.25V6.23c0-.531.242-1.034.657-1.366l5.25-4.2Zm1.25 1.171a.25.25 0 0 0-.312 0l-5.25 4.2a.25.25 0 0 0-.094.196v7.019c0 .138.112.25.25.25H5.5V8.25a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 .75.75v5.25h2.75a.25.25 0 0 0 .25-.25V6.23a.25.25 0 0 0-.094-.195Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.906.664a1.749 1.749 0 0 1 2.187 0l5.25 4.2c.415.332.657.835.657 1.367v7.019A1.75 1.75 0 0 1 13.25 15h-3.5a.75.75 0 0 1-.75-.75V9H7v5.25a.75.75 0 0 1-.75.75h-3.5A1.75 1.75 0 0 1 1 13.25V6.23c0-.531.242-1.034.657-1.366l5.25-4.2Zm1.25 1.171a.25.25 0 0 0-.312 0l-5.25 4.2a.25.25 0 0 0-.094.196v7.019c0 .138.112.25.25.25H5.5V8.25a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 .75.75v5.25h2.75a.25.25 0 0 0 .25-.25V6.23a.25.25 0 0 0-.094-.195Z'/%3E%3C/svg%3E"); }
|
|
69
|
+
.xp-file-icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688Z'/%3E%3C/svg%3E"); }
|
|
70
|
+
.xp-hash-icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.368 1.01a.75.75 0 0 1 .623.859L6.57 4h3.98l.46-2.868a.75.75 0 0 1 1.48.237L12.07 4h2.18a.75.75 0 0 1 0 1.5h-2.42l-.64 4h2.31a.75.75 0 0 1 0 1.5h-2.55l-.46 2.869a.75.75 0 0 1-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 0 1-1.48-.237L3.93 11H1.75a.75.75 0 0 1 0-1.5h2.42l.64-4H2.5a.75.75 0 0 1 0-1.5h2.55l.46-2.868a.75.75 0 0 1 .858-.622ZM9.309 9.5l.64-4H5.969l-.64 4Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.368 1.01a.75.75 0 0 1 .623.859L6.57 4h3.98l.46-2.868a.75.75 0 0 1 1.48.237L12.07 4h2.18a.75.75 0 0 1 0 1.5h-2.42l-.64 4h2.31a.75.75 0 0 1 0 1.5h-2.55l-.46 2.869a.75.75 0 0 1-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 0 1-1.48-.237L3.93 11H1.75a.75.75 0 0 1 0-1.5h2.42l.64-4H2.5a.75.75 0 0 1 0-1.5h2.55l.46-2.868a.75.75 0 0 1 .858-.622ZM9.309 9.5l.64-4H5.969l-.64 4Z'/%3E%3C/svg%3E"); }
|
|
71
|
+
.xp-folder-open { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.513 1.513A1.75 1.75 0 0 1 1.75 1h3.5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 0 0 .2.1H14.25c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25V2.75c0-.464.184-.91.513-1.237ZM1.75 2.5a.25.25 0 0 0-.25.25v.5h13V4.75a.25.25 0 0 0-.25-.25H7.75A1.75 1.75 0 0 1 6.35 3.8l-.9-1.2a.25.25 0 0 0-.2-.1H1.75Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.513 1.513A1.75 1.75 0 0 1 1.75 1h3.5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 0 0 .2.1H14.25c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25V2.75c0-.464.184-.91.513-1.237ZM1.75 2.5a.25.25 0 0 0-.25.25v.5h13V4.75a.25.25 0 0 0-.25-.25H7.75A1.75 1.75 0 0 1 6.35 3.8l-.9-1.2a.25.25 0 0 0-.2-.1H1.75Z'/%3E%3C/svg%3E"); }
|
|
72
|
+
.xp-folder-closed { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1Z'/%3E%3C/svg%3E"); }
|
|
73
|
+
|
|
74
|
+
/* ── Nav link colors (dark) ── */
|
|
75
|
+
.sidebar ul li a { color: #8b949e; font-size: 13px; padding: 5px 8px 5px 16px; margin-right: 8px; border-radius: 6px; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 6px; transition: background 0.1s, color 0.1s; }
|
|
76
|
+
.sidebar ul li a:hover { background: rgba(177,186,196,0.08); color: #e6edf3; }
|
|
77
|
+
.sidebar ul li.active > a { background: rgba(56,139,253,0.1); color: #e6edf3; }
|
|
78
|
+
.sidebar ul li { position: relative; }
|
|
79
|
+
.sidebar ul li a .xp-item-icon { color: #6e7681; }
|
|
80
|
+
.sidebar ul li a:hover .xp-item-icon, .sidebar ul li.active > a .xp-item-icon { color: #8b949e; }
|
|
81
|
+
.xp-folder-btn .xp-folder-icon { color: #484f58; }
|
|
82
|
+
.xp-folder-btn:hover .xp-folder-icon { color: #6e7681; }
|
|
83
|
+
|
|
84
|
+
/* ── Sub-sidebar header links (dark) ── */
|
|
85
|
+
.app-sub-sidebar { margin: 1px 0 3px 0 !important; padding-left: 0 !important; border-left: 1px solid #21262d !important; margin-left: 21px !important; }
|
|
86
|
+
.app-sub-sidebar li > a { padding: 4px 8px !important; font-size: 12px !important; color: #6e7681 !important; display: flex !important; align-items: center !important; gap: 5px !important; }
|
|
87
|
+
.app-sub-sidebar li > a:hover { color: #8b949e !important; background: rgba(177,186,196,0.06) !important; }
|
|
88
|
+
.app-sub-sidebar li.active > a { color: #58a6ff !important; }
|
|
89
|
+
.app-sub-sidebar .xp-item-icon { color: #484f58; }
|
|
90
|
+
.app-sub-sidebar li.active > a .xp-hash-icon { color: #388bfd; }
|
|
91
|
+
|
|
92
|
+
/* ── Drag handle ── */
|
|
93
|
+
.xp-drag { position: fixed; top: 0; left: 270px; width: 6px; height: 100%; cursor: col-resize; z-index: 25; background: rgba(110,118,129,0.2); }
|
|
94
|
+
.xp-drag:hover, .xp-drag:active { background: rgba(88,166,255,0.5); }
|
|
95
|
+
|
|
96
|
+
/* ── Desktop toggle pill ── */
|
|
97
|
+
#xp-toggle { position: fixed; top: 50%; left: 269px; transform: translateY(-50%); z-index: 26; width: 16px; height: 48px; background: #21262d; border: 1px solid #30363d; border-left: none; border-radius: 0 6px 6px 0; cursor: pointer; color: #8b949e; font-size: 14px; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0; transition: background 0.15s, color 0.15s; }
|
|
98
|
+
#xp-toggle:hover { background: #30363d; color: #e6edf3; }
|
|
99
|
+
@media screen and (max-width: 599px) { #xp-toggle { display: none !important; } }
|
|
100
|
+
|
|
101
|
+
/* ── Hide docsify built-in toggle ── */
|
|
102
|
+
.sidebar-toggle { display: none !important; }
|
|
103
|
+
|
|
104
|
+
/* ── Close state ── */
|
|
105
|
+
body.close .sidebar { transform: translateX(-100%); }
|
|
106
|
+
body.close .content { left: 0; }
|
|
107
|
+
|
|
108
|
+
/* ── Markdown content ── */
|
|
109
|
+
.markdown-section { margin: 0 auto; max-width: 860px; padding: 32px 40px 60px; position: relative; }
|
|
110
|
+
.markdown-section > * { box-sizing: border-box; font-size: inherit; }
|
|
111
|
+
.markdown-section > :first-child { margin-top: 0 !important; }
|
|
112
|
+
.markdown-section h1, .markdown-section h2, .markdown-section h3, .markdown-section h4, .markdown-section h5, .markdown-section h6 { font-weight: 600; margin-top: 24px; margin-bottom: 16px; line-height: 1.25; }
|
|
113
|
+
.markdown-section h1, .markdown-section h2, .markdown-section h3, .markdown-section h4, .markdown-section strong { color: #e6edf3; }
|
|
114
|
+
.markdown-section h1 { font-size: 2em; padding-bottom: 0.3em; border-bottom: 1px solid #30363d; }
|
|
115
|
+
.markdown-section h2 { font-size: 1.5em; padding-bottom: 0.3em; border-bottom: 1px solid #30363d; }
|
|
116
|
+
.markdown-section h3 { font-size: 1.25em; }
|
|
117
|
+
.markdown-section h4 { font-size: 1em; }
|
|
118
|
+
.markdown-section h5 { font-size: 0.875em; }
|
|
119
|
+
.markdown-section h6 { font-size: 0.85em; color: #8b949e; }
|
|
120
|
+
.markdown-section h1 a, .markdown-section h2 a, .markdown-section h3 a, .markdown-section h4 a, .markdown-section h5 a, .markdown-section h6 a { text-decoration: none !important; color: inherit !important; }
|
|
121
|
+
.markdown-section p, .markdown-section ul, .markdown-section ol { margin-top: 0; margin-bottom: 16px; line-height: 1.6; }
|
|
122
|
+
.markdown-section ul, .markdown-section ol { padding-left: 2em; }
|
|
123
|
+
.markdown-section li + li { margin-top: 4px; }
|
|
124
|
+
.markdown-section ul.task-list > li { list-style-type: none; }
|
|
125
|
+
.markdown-section a { color: #58a6ff; text-decoration: none; text-underline-offset: 25%; }
|
|
126
|
+
.markdown-section a:hover { text-decoration: underline; }
|
|
127
|
+
.markdown-section hr { border: none; border-bottom: 1px solid #30363d; margin: 24px 0; }
|
|
128
|
+
.markdown-section blockquote { border-left: 4px solid #30363d; color: #8b949e; margin: 16px 0; padding: 0 16px; }
|
|
129
|
+
.markdown-section blockquote p { margin-left: 0; }
|
|
130
|
+
.markdown-section em { color: #8b949e; }
|
|
131
|
+
.markdown-section code, .markdown-section pre { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; }
|
|
132
|
+
.markdown-section code { background-color: rgba(110,118,129,0.4); border-radius: 6px; padding: 0.2em 0.4em; font-size: 85%; color: #e6edf3; }
|
|
133
|
+
.markdown-section pre { background-color: #161b22; border-radius: 6px; padding: 16px; overflow: auto; margin: 0 0 16px; line-height: 1.45; }
|
|
134
|
+
.markdown-section pre > code { background: transparent; padding: 0; font-size: 85%; color: #e6edf3; border-radius: 0; white-space: pre; }
|
|
135
|
+
.markdown-section table { border-collapse: collapse; border-spacing: 0; display: block; margin-bottom: 16px; overflow: auto; width: 100%; }
|
|
136
|
+
.markdown-section th { background-color: #161b22; border: 1px solid #30363d; font-weight: 600; padding: 6px 13px; color: #e6edf3; }
|
|
137
|
+
.markdown-section td { border: 1px solid #30363d; padding: 6px 13px; }
|
|
138
|
+
.markdown-section tr { border-top: 1px solid #30363d; }
|
|
139
|
+
.markdown-section tr:nth-child(2n) { background-color: #161b22; }
|
|
140
|
+
.markdown-section img { max-width: 100%; border-style: none; border-radius: 6px; }
|
|
141
|
+
.markdown-section iframe { border: 1px solid #30363d; width: 1px; min-width: 100%; margin: 1em 0; }
|
|
142
|
+
.markdown-section p.tip { color: #e6edf3; border-left: 3px solid #d29922; padding: 0 1rem; line-height: 2.3; margin: 2em 0; }
|
|
143
|
+
.markdown-section p.tip:before { content: "⚠️ Warning\A"; color: #d29922; font-weight: 600; white-space: pre-wrap; }
|
|
144
|
+
.markdown-section p.warn { color: #e6edf3; border-left: 3px solid #388bfd; padding: 0 1rem; margin: 2em 0; }
|
|
145
|
+
.markdown-section p.warn:before { content: "💡 Tip\A"; color: #388bfd; font-weight: 600; white-space: pre-wrap; line-height: 2.5; }
|
|
146
|
+
|
|
147
|
+
/* ── Prism — One Dark Pro ── */
|
|
148
|
+
.markdown-section pre { background-color: #1e2330 !important; border: 1px solid #2d3248; }
|
|
149
|
+
.token.comment, .token.prolog, .token.doctype, .token.cdata { color: #636d83; font-style: italic; }
|
|
150
|
+
.token.namespace { opacity: 0.8; }
|
|
151
|
+
.token.boolean { color: #c678dd; }
|
|
152
|
+
.token.number { color: #d19a66; }
|
|
153
|
+
.token.punctuation, .token.operator { color: #abb2bf; }
|
|
154
|
+
.token.property { color: #e5c07b; }
|
|
155
|
+
.token.tag { color: #e06c75; }
|
|
156
|
+
.token.string, .token.char, .token.attr-value { color: #98c379; }
|
|
157
|
+
.token.selector, .token.class-name { color: #e5c07b; }
|
|
158
|
+
.token.attr-name { color: #d19a66; }
|
|
159
|
+
.token.entity, .token.url { color: #56b6c2; }
|
|
160
|
+
.token.keyword, .token.rule { color: #c678dd; }
|
|
161
|
+
.token.function, .token.function-name { color: #61afef; }
|
|
162
|
+
.token.regex, .token.atrule { color: #56b6c2; }
|
|
163
|
+
.token.placeholder, .token.variable { color: #e06c75; }
|
|
164
|
+
.token.type-hint, .token.builtin { color: #e5c07b; }
|
|
165
|
+
.token.parameter { color: #abb2bf; }
|
|
166
|
+
.token.deleted { text-decoration: line-through; color: #e06c75; }
|
|
167
|
+
.token.inserted { text-decoration: none; color: #98c379; }
|
|
168
|
+
.token.italic { font-style: italic; }
|
|
169
|
+
.token.important, .token.bold { font-weight: bold; }
|
|
170
|
+
.token.important { color: #e06c75; }
|
|
171
|
+
.token.entity { cursor: help; }
|
|
172
|
+
|
|
173
|
+
/* ── Unrendered (non-clickable) sidebar items ── */
|
|
174
|
+
.xp-unrendered { color: #3d444d; font-size: 13px; padding: 5px 8px 5px 16px; display: flex; align-items: center; gap: 6px; cursor: default; user-select: none; }
|
|
175
|
+
.xp-unrendered::before { content: ''; display: inline-flex; flex-shrink: 0; width: 14px; height: 14px; background-color: #3d444d; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688Z'/%3E%3C/svg%3E"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
|
|
176
|
+
|
|
177
|
+
/* ── GitHub source icon button ── */
|
|
178
|
+
span.xp-unrendered:hover { color: #6e7681; cursor: pointer; }
|
|
179
|
+
|
|
180
|
+
/* ── Title link ── */
|
|
181
|
+
.sidebar > h1 { position: relative; display: flex; align-items: center; justify-content: center; }
|
|
182
|
+
|
|
183
|
+
/* ── GitHub icon — fixed top-right, bare icon, all rendered pages ── */
|
|
184
|
+
#xp-gh-page-btn { position: fixed; top: 14px; right: 16px; z-index: 18; display: flex; align-items: center; justify-content: center; color: #484f58; text-decoration: none !important; transition: color 0.15s, transform 0.15s; }
|
|
185
|
+
#xp-gh-page-btn:hover { color: #8b949e; transform: scale(1.15); }
|
|
186
|
+
#xp-gh-page-btn svg { width: 18px; height: 18px; display: block; }
|
|
187
|
+
@media screen and (max-width: 599px) {
|
|
188
|
+
body:not(.close) #xp-gh-page-btn { display: none; }
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/* ── Drag hidden when sidebar closed ── */
|
|
192
|
+
body.close .xp-drag { opacity: 0 !important; pointer-events: none !important; }
|
|
193
|
+
|
|
194
|
+
/* ── Responsive ── */
|
|
195
|
+
@media screen and (max-width: 1100px) and (min-width: 600px) {
|
|
196
|
+
.sidebar { width: 240px; }
|
|
197
|
+
.content { left: 240px; }
|
|
198
|
+
.xp-drag { left: 240px; }
|
|
199
|
+
#xp-toggle { left: 239px; }
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
@media screen and (max-width: 599px) {
|
|
203
|
+
.sidebar { position: fixed; width: 100vw !important; z-index: 30; }
|
|
204
|
+
.content { left: 0 !important; padding-top: 56px; }
|
|
205
|
+
.xp-drag { display: none !important; }
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
@media print { .sidebar, #xp-toggle, #xp-mobile-btn, .xp-drag, .app-nav, #xp-gh-page-btn { display: none !important; } .content { left: 0 !important; } }
|
package/ghmd-light.css
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/* Explicode — GitHub Light theme for Docsify */
|
|
2
|
+
|
|
3
|
+
/* ── Reset & base ── */
|
|
4
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
5
|
+
* { -webkit-font-smoothing: antialiased; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: none; }
|
|
6
|
+
html, body { height: 100%; }
|
|
7
|
+
body { margin: 0; overflow-x: hidden; background-color: #ffffff; color: #1f2328; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; }
|
|
8
|
+
img { max-width: 100%; }
|
|
9
|
+
body:not(.ready) { overflow: hidden; }
|
|
10
|
+
body:not(.ready) [data-cloak], body:not(.ready) .app-nav, body:not(.ready) > nav { display: none; }
|
|
11
|
+
div#app { font-size: 30px; font-weight: lighter; margin: 40vh auto; text-align: center; color: #1f2328; }
|
|
12
|
+
div#app:empty::before { content: 'Loading...'; }
|
|
13
|
+
.progress { background-color: #0969da; height: 2px; left: 0; position: fixed; right: 0; top: 0; transition: width 0.2s, opacity 0.4s; width: 0%; z-index: 999999; }
|
|
14
|
+
main { display: block; position: relative; width: 100vw; height: 100%; z-index: 0; }
|
|
15
|
+
main.hidden { display: none; }
|
|
16
|
+
body.sticky .sidebar, body.sticky .sidebar-toggle { position: fixed; }
|
|
17
|
+
.content { padding-top: 60px; position: absolute; top: 0; right: 0; bottom: 0; left: 270px; transition: left 280ms cubic-bezier(0.4,0,0.2,1); }
|
|
18
|
+
body.close .content { left: 0; }
|
|
19
|
+
.sidebar { background-color: #f6f8fa; border-right: 1px solid #d0d7de; color: #1f2328; display: flex; flex-direction: column; overflow: hidden; position: absolute; top: 0; bottom: 0; left: 0; transition: transform 280ms cubic-bezier(0.4,0,0.2,1); width: 270px; z-index: 20; }
|
|
20
|
+
.sidebar > h1 { margin: 0; font-size: 1.05rem; font-weight: 600; text-align: center; flex-shrink: 0; padding: 14px 16px 13px; border-bottom: 1px solid #d0d7de; }
|
|
21
|
+
.sidebar > h1 a { color: #1f2328; text-decoration: none; display: block; }
|
|
22
|
+
.xp-sidebar-scroll { flex: 1; overflow-y: auto; padding: 24px 0 8px; min-height: 0; }
|
|
23
|
+
.xp-sidebar-scroll .sidebar-nav { margin-left: 8px; padding-bottom: 16px; }
|
|
24
|
+
.xp-sidebar-scroll::-webkit-scrollbar { width: 4px; }
|
|
25
|
+
.xp-sidebar-scroll::-webkit-scrollbar-thumb { background: transparent; border-radius: 4px; }
|
|
26
|
+
.xp-sidebar-scroll:hover::-webkit-scrollbar-thumb { background: rgba(136,136,136,0.4); }
|
|
27
|
+
.xp-sidebar-scroll:hover::-webkit-scrollbar-track { background: rgba(136,136,136,0.1); }
|
|
28
|
+
.sidebar ul { margin: 0; padding: 0; }
|
|
29
|
+
.sidebar ul, .sidebar ul li { list-style: none; }
|
|
30
|
+
.sidebar ul li a { border-bottom: none; display: block; }
|
|
31
|
+
.sidebar ul li ul { margin-left: 0; }
|
|
32
|
+
.sidebar-nav li.collapse > ul { display: block !important; }
|
|
33
|
+
.sidebar li > p { margin-left: 8px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #6e7781; padding: 12px 8px 4px; }
|
|
34
|
+
.sidebar ul li .section-link { font-size: 12px; color: #57606a; }
|
|
35
|
+
.xp-sidebar-footer { flex-shrink: 0; border-top: 1px solid #d0d7de; padding: 10px 16px; display: flex; align-items: center; justify-content: center; }
|
|
36
|
+
.xp-sidebar-footer span, .xp-sidebar-footer { font-size: 11px; color: #8c959f; white-space: nowrap; }
|
|
37
|
+
.xp-sidebar-footer a { color: #6e7781; text-decoration: none; font-size: 11px; }
|
|
38
|
+
.xp-sidebar-footer a:hover { color: #57606a; text-decoration: underline; }
|
|
39
|
+
#xp-mobile-btn { display: none; position: fixed; top: 14px; left: 14px; z-index: 31; width: 36px; height: 36px; background: none; border: none; cursor: pointer; align-items: center; justify-content: center; padding: 0; }
|
|
40
|
+
@media screen and (max-width: 599px) { #xp-mobile-btn { display: flex; } }
|
|
41
|
+
.xp-mb-bars { display: flex; flex-direction: column; gap: 5px; align-items: center; justify-content: center; }
|
|
42
|
+
.xp-mb-bars span { display: block; width: 16px; height: 1.5px; background: #57606a; border-radius: 2px; }
|
|
43
|
+
.xp-mb-close { font-size: 14px; color: #57606a; line-height: 1; }
|
|
44
|
+
#xp-mobile-btn[data-open="false"] .xp-mb-bars { display: flex; }
|
|
45
|
+
#xp-mobile-btn[data-open="false"] .xp-mb-close { display: none; }
|
|
46
|
+
#xp-mobile-btn[data-open="true"] .xp-mb-bars { display: none; }
|
|
47
|
+
#xp-mobile-btn[data-open="true"] .xp-mb-close { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
|
|
48
|
+
.xp-folder-btn { display: flex; align-items: center; gap: 6px; width: calc(100% - 16px); margin: 0 8px; background: none; border: none; cursor: pointer; color: #57606a; font-size: 13px; font-weight: 600; padding: 5px 8px; border-radius: 6px; text-align: left; transition: background 0.1s, color 0.1s; }
|
|
49
|
+
.xp-folder-btn:hover { background: rgba(208,215,222,0.32); color: #1f2328; }
|
|
50
|
+
.xp-folder-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
51
|
+
.sidebar ul li ul { border-left: 1px solid #d0d7de; margin-left: 21px !important; padding-left: 0; }
|
|
52
|
+
.xp-item-icon, .xp-folder-icon { display: inline-flex; flex-shrink: 0; width: 14px; height: 14px; background-color: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
|
|
53
|
+
.xp-hash-icon { width: 12px; height: 12px; }
|
|
54
|
+
.xp-home-icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.906.664a1.749 1.749 0 0 1 2.187 0l5.25 4.2c.415.332.657.835.657 1.367v7.019A1.75 1.75 0 0 1 13.25 15h-3.5a.75.75 0 0 1-.75-.75V9H7v5.25a.75.75 0 0 1-.75.75h-3.5A1.75 1.75 0 0 1 1 13.25V6.23c0-.531.242-1.034.657-1.366l5.25-4.2Zm1.25 1.171a.25.25 0 0 0-.312 0l-5.25 4.2a.25.25 0 0 0-.094.196v7.019c0 .138.112.25.25.25H5.5V8.25a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 .75.75v5.25h2.75a.25.25 0 0 0 .25-.25V6.23a.25.25 0 0 0-.094-.195Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.906.664a1.749 1.749 0 0 1 2.187 0l5.25 4.2c.415.332.657.835.657 1.367v7.019A1.75 1.75 0 0 1 13.25 15h-3.5a.75.75 0 0 1-.75-.75V9H7v5.25a.75.75 0 0 1-.75.75h-3.5A1.75 1.75 0 0 1 1 13.25V6.23c0-.531.242-1.034.657-1.366l5.25-4.2Zm1.25 1.171a.25.25 0 0 0-.312 0l-5.25 4.2a.25.25 0 0 0-.094.196v7.019c0 .138.112.25.25.25H5.5V8.25a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 .75.75v5.25h2.75a.25.25 0 0 0 .25-.25V6.23a.25.25 0 0 0-.094-.195Z'/%3E%3C/svg%3E"); }
|
|
55
|
+
.xp-file-icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688Z'/%3E%3C/svg%3E"); }
|
|
56
|
+
.xp-hash-icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.368 1.01a.75.75 0 0 1 .623.859L6.57 4h3.98l.46-2.868a.75.75 0 0 1 1.48.237L12.07 4h2.18a.75.75 0 0 1 0 1.5h-2.42l-.64 4h2.31a.75.75 0 0 1 0 1.5h-2.55l-.46 2.869a.75.75 0 0 1-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 0 1-1.48-.237L3.93 11H1.75a.75.75 0 0 1 0-1.5h2.42l.64-4H2.5a.75.75 0 0 1 0-1.5h2.55l.46-2.868a.75.75 0 0 1 .858-.622ZM9.309 9.5l.64-4H5.969l-.64 4Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.368 1.01a.75.75 0 0 1 .623.859L6.57 4h3.98l.46-2.868a.75.75 0 0 1 1.48.237L12.07 4h2.18a.75.75 0 0 1 0 1.5h-2.42l-.64 4h2.31a.75.75 0 0 1 0 1.5h-2.55l-.46 2.869a.75.75 0 0 1-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 0 1-1.48-.237L3.93 11H1.75a.75.75 0 0 1 0-1.5h2.42l.64-4H2.5a.75.75 0 0 1 0-1.5h2.55l.46-2.868a.75.75 0 0 1 .858-.622ZM9.309 9.5l.64-4H5.969l-.64 4Z'/%3E%3C/svg%3E"); }
|
|
57
|
+
.xp-folder-open { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.513 1.513A1.75 1.75 0 0 1 1.75 1h3.5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 0 0 .2.1H14.25c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25V2.75c0-.464.184-.91.513-1.237ZM1.75 2.5a.25.25 0 0 0-.25.25v.5h13V4.75a.25.25 0 0 0-.25-.25H7.75A1.75 1.75 0 0 1 6.35 3.8l-.9-1.2a.25.25 0 0 0-.2-.1H1.75Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.513 1.513A1.75 1.75 0 0 1 1.75 1h3.5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 0 0 .2.1H14.25c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25V2.75c0-.464.184-.91.513-1.237ZM1.75 2.5a.25.25 0 0 0-.25.25v.5h13V4.75a.25.25 0 0 0-.25-.25H7.75A1.75 1.75 0 0 1 6.35 3.8l-.9-1.2a.25.25 0 0 0-.2-.1H1.75Z'/%3E%3C/svg%3E"); }
|
|
58
|
+
.xp-folder-closed { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1Z'/%3E%3C/svg%3E"); }
|
|
59
|
+
.sidebar ul li a { color: #57606a; font-size: 13px; padding: 5px 8px 5px 16px; margin-right: 8px; border-radius: 6px; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 6px; transition: background 0.1s, color 0.1s; }
|
|
60
|
+
.sidebar ul li a:hover { background: rgba(208,215,222,0.32); color: #1f2328; }
|
|
61
|
+
.sidebar ul li.active > a { background: rgba(208,215,222,0.48); color: #1f2328; }
|
|
62
|
+
.sidebar ul li { position: relative; }
|
|
63
|
+
.sidebar ul li a .xp-item-icon { color: #57606a; }
|
|
64
|
+
.sidebar ul li a:hover .xp-item-icon, .sidebar ul li.active > a .xp-item-icon { color: #1f2328; }
|
|
65
|
+
.xp-folder-btn .xp-folder-icon { color: #8c959f; }
|
|
66
|
+
.xp-folder-btn:hover .xp-folder-icon { color: #57606a; }
|
|
67
|
+
.app-sub-sidebar { margin: 1px 0 3px 0 !important; padding-left: 0 !important; border-left: 1px solid #d0d7de !important; margin-left: 21px !important; }
|
|
68
|
+
.app-sub-sidebar li > a { padding: 4px 8px !important; font-size: 12px !important; color: #8c959f !important; display: flex !important; align-items: center !important; gap: 5px !important; }
|
|
69
|
+
.app-sub-sidebar li > a:hover { color: #57606a !important; background: rgba(208,215,222,0.2) !important; }
|
|
70
|
+
.app-sub-sidebar li.active > a { color: #0969da !important; }
|
|
71
|
+
.app-sub-sidebar .xp-item-icon { color: #b1bac4; }
|
|
72
|
+
.app-sub-sidebar li.active > a .xp-hash-icon { color: #0969da; }
|
|
73
|
+
.xp-drag { position: fixed; top: 0; left: 270px; width: 6px; height: 100%; cursor: col-resize; z-index: 25; background: rgba(140,149,159,0.2); }
|
|
74
|
+
.xp-drag:hover, .xp-drag:active { background: rgba(9,105,218,0.4); }
|
|
75
|
+
#xp-toggle { position: fixed; top: 50%; left: 269px; transform: translateY(-50%); z-index: 26; width: 16px; height: 48px; background: #eaeef2; border: 1px solid rgba(27,31,35,0.15); border-left: none; border-radius: 0 6px 6px 0; cursor: pointer; color: #57606a; font-size: 14px; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0; transition: background 0.15s, color 0.15s; }
|
|
76
|
+
#xp-toggle:hover { background: #d0d7de; color: #1f2328; }
|
|
77
|
+
@media screen and (max-width: 599px) { #xp-toggle { display: none !important; } }
|
|
78
|
+
.sidebar-toggle { display: none !important; }
|
|
79
|
+
body.close .sidebar { transform: translateX(-100%); }
|
|
80
|
+
body.close .content { left: 0; }
|
|
81
|
+
.markdown-section { margin: 0 auto; max-width: 860px; padding: 32px 40px 60px; position: relative; }
|
|
82
|
+
.markdown-section > * { box-sizing: border-box; font-size: inherit; }
|
|
83
|
+
.markdown-section > :first-child { margin-top: 0 !important; }
|
|
84
|
+
.markdown-section h1, .markdown-section h2, .markdown-section h3, .markdown-section h4, .markdown-section h5, .markdown-section h6 { font-weight: 600; margin-top: 24px; margin-bottom: 16px; line-height: 1.25; }
|
|
85
|
+
.markdown-section h1, .markdown-section h2, .markdown-section h3, .markdown-section h4, .markdown-section strong { color: #1f2328; }
|
|
86
|
+
.markdown-section h1 { font-size: 2em; padding-bottom: 0.3em; border-bottom: 1px solid #d8dee4; }
|
|
87
|
+
.markdown-section h2 { font-size: 1.5em; padding-bottom: 0.3em; border-bottom: 1px solid #d8dee4; }
|
|
88
|
+
.markdown-section h3 { font-size: 1.25em; }
|
|
89
|
+
.markdown-section h4 { font-size: 1em; }
|
|
90
|
+
.markdown-section h5 { font-size: 0.875em; }
|
|
91
|
+
.markdown-section h6 { font-size: 0.85em; color: #636c76; }
|
|
92
|
+
.markdown-section h1 a, .markdown-section h2 a, .markdown-section h3 a, .markdown-section h4 a, .markdown-section h5 a, .markdown-section h6 a { text-decoration: none !important; color: inherit !important; }
|
|
93
|
+
.markdown-section p, .markdown-section ul, .markdown-section ol { margin-top: 0; margin-bottom: 16px; line-height: 1.6; }
|
|
94
|
+
.markdown-section ul, .markdown-section ol { padding-left: 2em; }
|
|
95
|
+
.markdown-section li + li { margin-top: 4px; }
|
|
96
|
+
.markdown-section ul.task-list > li { list-style-type: none; }
|
|
97
|
+
.markdown-section a { color: #0969da; text-decoration: none; text-underline-offset: 25%; }
|
|
98
|
+
.markdown-section a:hover { text-decoration: underline; }
|
|
99
|
+
.markdown-section hr { border: none; border-bottom: 1px solid #d8dee4; margin: 24px 0; }
|
|
100
|
+
.markdown-section blockquote { border-left: 4px solid #d0d7de; color: #656d76; margin: 16px 0; padding: 0 16px; }
|
|
101
|
+
.markdown-section blockquote p { margin-left: 0; }
|
|
102
|
+
.markdown-section em { color: #57606a; }
|
|
103
|
+
.markdown-section code, .markdown-section pre { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; }
|
|
104
|
+
.markdown-section code { background-color: rgba(175,184,193,0.2); border-radius: 6px; padding: 0.2em 0.4em; font-size: 85%; color: #1f2328; }
|
|
105
|
+
.markdown-section pre { background-color: #f6f8fa; border-radius: 6px; padding: 16px; overflow: auto; margin: 0 0 16px; line-height: 1.45; }
|
|
106
|
+
.markdown-section pre > code { background: transparent; padding: 0; font-size: 85%; color: #1f2328; border-radius: 0; white-space: pre; }
|
|
107
|
+
.markdown-section table { border-collapse: collapse; border-spacing: 0; display: block; margin-bottom: 16px; overflow: auto; width: 100%; }
|
|
108
|
+
.markdown-section th { background-color: #f6f8fa; border: 1px solid #d0d7de; font-weight: 600; padding: 6px 13px; }
|
|
109
|
+
.markdown-section td { border: 1px solid #d0d7de; padding: 6px 13px; }
|
|
110
|
+
.markdown-section tr { border-top: 1px solid #d0d7de; }
|
|
111
|
+
.markdown-section tr:nth-child(2n) { background-color: #f6f8fa; }
|
|
112
|
+
.markdown-section img { max-width: 100%; border-style: none; border-radius: 6px; }
|
|
113
|
+
.markdown-section iframe { border: 1px solid #d0d7de; width: 1px; min-width: 100%; margin: 1em 0; }
|
|
114
|
+
.markdown-section p.tip { color: #1f2328; border-left: 3px solid #9a6700; padding: 0 1rem; line-height: 2.3; margin: 2em 0; }
|
|
115
|
+
.markdown-section p.tip:before { content: "⚠️ Warning\A"; color: #9a6700; font-weight: 600; white-space: pre-wrap; }
|
|
116
|
+
.markdown-section p.warn { color: #1f2328; border-left: 3px solid #0969da; padding: 0 1rem; margin: 2em 0; }
|
|
117
|
+
.markdown-section p.warn:before { content: "💡 Tip\A"; color: #0969da; font-weight: 600; white-space: pre-wrap; line-height: 2.5; }
|
|
118
|
+
.markdown-section pre { background-color: #fafafa !important; border: 1px solid #e8eaed; }
|
|
119
|
+
.token.comment, .token.prolog, .token.doctype, .token.cdata { color: #a0a1a7; font-style: italic; }
|
|
120
|
+
.token.namespace { opacity: 0.8; }
|
|
121
|
+
.token.boolean { color: #0184bb; }
|
|
122
|
+
.token.number { color: #986801; }
|
|
123
|
+
.token.punctuation, .token.operator { color: #383a42; }
|
|
124
|
+
.token.property { color: #986801; }
|
|
125
|
+
.token.tag { color: #e45649; }
|
|
126
|
+
.token.string, .token.char, .token.attr-value { color: #50a14f; }
|
|
127
|
+
.token.selector, .token.class-name { color: #986801; }
|
|
128
|
+
.token.attr-name { color: #986801; }
|
|
129
|
+
.token.entity, .token.url { color: #0184bb; }
|
|
130
|
+
.token.keyword, .token.rule { color: #a626a4; }
|
|
131
|
+
.token.function, .token.function-name { color: #4078f2; }
|
|
132
|
+
.token.regex, .token.atrule { color: #0184bb; }
|
|
133
|
+
.token.placeholder, .token.variable { color: #e45649; }
|
|
134
|
+
.token.type-hint, .token.builtin { color: #986801; }
|
|
135
|
+
.token.parameter { color: #383a42; }
|
|
136
|
+
.token.deleted { text-decoration: line-through; color: #e45649; }
|
|
137
|
+
.token.inserted { text-decoration: none; color: #50a14f; }
|
|
138
|
+
.token.italic { font-style: italic; }
|
|
139
|
+
.token.important, .token.bold { font-weight: bold; }
|
|
140
|
+
.token.important { color: #e45649; }
|
|
141
|
+
.token.entity { cursor: help; }
|
|
142
|
+
.xp-unrendered { color: #c8cdd3; font-size: 13px; padding: 5px 8px 5px 16px; display: flex; align-items: center; gap: 6px; cursor: default; user-select: none; }
|
|
143
|
+
.xp-unrendered::before { content: ''; display: inline-flex; flex-shrink: 0; width: 14px; height: 14px; background-color: #c8cdd3; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688Z'/%3E%3C/svg%3E"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
|
|
144
|
+
span.xp-unrendered:hover { color: #8c959f; cursor: pointer; }
|
|
145
|
+
.sidebar > h1 { position: relative; display: flex; align-items: center; justify-content: center; }
|
|
146
|
+
#xp-gh-page-btn { position: fixed; top: 14px; right: 16px; z-index: 18; display: flex; align-items: center; justify-content: center; color: #b1bac4; text-decoration: none !important; transition: color 0.15s, transform 0.15s; }
|
|
147
|
+
#xp-gh-page-btn:hover { color: #57606a; transform: scale(1.15); }
|
|
148
|
+
#xp-gh-page-btn svg { width: 18px; height: 18px; display: block; }
|
|
149
|
+
@media screen and (max-width: 599px) { body:not(.close) #xp-gh-page-btn { display: none; } }
|
|
150
|
+
body.close .xp-drag { opacity: 0 !important; pointer-events: none !important; }
|
|
151
|
+
@media screen and (max-width: 1100px) and (min-width: 600px) { .sidebar { width: 240px; } .content { left: 240px; } .xp-drag { left: 240px; } #xp-toggle { left: 239px; } }
|
|
152
|
+
@media screen and (max-width: 599px) { .sidebar { position: fixed; width: 100vw !important; z-index: 30; } .content { left: 0 !important; padding-top: 56px; } .xp-drag { display: none !important; } }
|
|
153
|
+
@media print { .sidebar, #xp-toggle, #xp-mobile-btn, .xp-drag, .app-nav, #xp-gh-page-btn { display: none !important; } .content { left: 0 !important; } }
|