feat: export complete Discourse themes ecosystem (16 themes, SCSS, JS components and color schemes)
This commit is contained in:
@@ -0,0 +1,470 @@
|
||||
/* ═══════════════════════════════════════════════════════════════
|
||||
ONYX — info-board.win
|
||||
Ultra-premium. Near-black. Violet + Cyan. Inspired by Linear.
|
||||
For the professional who demands perfection.
|
||||
═══════════════════════════════════════════════════════════════ */
|
||||
|
||||
.d-header,
|
||||
#main-outlet,
|
||||
html body {
|
||||
--ox-bg: #09090b;
|
||||
--ox-bg2: #0d0d10;
|
||||
--ox-surface: #18181b;
|
||||
--ox-surface2: #1f1f23;
|
||||
--ox-border: #27272a;
|
||||
--ox-border2: #1e1e21;
|
||||
--ox-fg: #fafafa;
|
||||
--ox-fg-dim: #a1a1aa;
|
||||
--ox-fg-muted: #71717a;
|
||||
--ox-violet: #8b5cf6;
|
||||
--ox-violet-dim: rgba(139,92,246,0.12);
|
||||
--ox-cyan: #06b6d4;
|
||||
--ox-cyan-dim: rgba(6,182,212,0.1);
|
||||
--ox-emerald: #10b981;
|
||||
--ox-amber: #f59e0b;
|
||||
--ox-rose: #f43f5e;
|
||||
--ox-pink: #f472b6;
|
||||
--ox-radius: 7px;
|
||||
--ox-radius-lg: 12px;
|
||||
--ox-t: 0.13s ease;
|
||||
}
|
||||
|
||||
/* ── LAYOUT ── */
|
||||
#main-outlet .wrap,
|
||||
.d-header .wrap {
|
||||
max-width: 1420px;
|
||||
padding: 0 40px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, "Inter", "SF Pro Text", "Segoe UI", system-ui, sans-serif;
|
||||
font-size: 15px;
|
||||
line-height: 1.6;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
letter-spacing: -0.005em;
|
||||
}
|
||||
|
||||
/* ── HEADER ── */
|
||||
.d-header {
|
||||
background: rgba(9,9,11,0.96) !important;
|
||||
border-bottom: 1px solid var(--ox-border) !important;
|
||||
box-shadow: 0 1px 0 rgba(255,255,255,0.04) !important;
|
||||
height: 60px;
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
}
|
||||
|
||||
.d-header-icons .btn.icon,
|
||||
.d-header .icons .btn.icon {
|
||||
color: var(--ox-fg-muted) !important;
|
||||
border-radius: var(--ox-radius);
|
||||
transition: color var(--ox-t), background var(--ox-t);
|
||||
}
|
||||
|
||||
.d-header-icons .btn.icon:hover,
|
||||
.d-header .icons .btn.icon:hover {
|
||||
color: var(--ox-violet) !important;
|
||||
background: var(--ox-violet-dim) !important;
|
||||
}
|
||||
|
||||
/* ── NAV ── */
|
||||
.nav-pills .nav-item a {
|
||||
color: var(--ox-fg-muted) !important;
|
||||
border-radius: var(--ox-radius);
|
||||
font-weight: 500;
|
||||
font-size: 0.875rem;
|
||||
padding: 6px 14px;
|
||||
letter-spacing: -0.01em;
|
||||
transition: all var(--ox-t);
|
||||
}
|
||||
|
||||
.nav-pills .nav-item.active a,
|
||||
.nav-pills .nav-item a:hover {
|
||||
color: var(--ox-fg) !important;
|
||||
background: var(--ox-surface) !important;
|
||||
}
|
||||
|
||||
/* ── SIDEBAR ── */
|
||||
.sidebar-wrapper {
|
||||
background: var(--ox-bg) !important;
|
||||
border-right: 1px solid var(--ox-border) !important;
|
||||
}
|
||||
|
||||
.sidebar-sections .sidebar-section-header-wrapper button {
|
||||
color: var(--ox-fg-muted) !important;
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.sidebar-sections .sidebar-section-link-wrapper a {
|
||||
color: var(--ox-fg-dim) !important;
|
||||
border-radius: var(--ox-radius);
|
||||
font-size: 0.875rem;
|
||||
font-weight: 450;
|
||||
padding: 6px 10px;
|
||||
letter-spacing: -0.01em;
|
||||
transition: all var(--ox-t);
|
||||
}
|
||||
|
||||
.sidebar-sections .sidebar-section-link-wrapper a:hover {
|
||||
color: var(--ox-fg) !important;
|
||||
background: var(--ox-surface) !important;
|
||||
}
|
||||
|
||||
.sidebar-sections .sidebar-section-link-wrapper a.active {
|
||||
color: var(--ox-violet) !important;
|
||||
background: var(--ox-violet-dim) !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ── TOPIC LIST ── */
|
||||
.topic-list thead th {
|
||||
font-size: 0.68rem;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
color: var(--ox-fg-muted) !important;
|
||||
border-bottom: 1px solid var(--ox-border) !important;
|
||||
background: transparent !important;
|
||||
padding: 10px 12px;
|
||||
}
|
||||
|
||||
.topic-list tbody .topic-list-item {
|
||||
border-bottom: 1px solid var(--ox-border2) !important;
|
||||
transition: background var(--ox-t);
|
||||
}
|
||||
|
||||
.topic-list tbody .topic-list-item:hover {
|
||||
background: var(--ox-surface) !important;
|
||||
}
|
||||
|
||||
.topic-list .main-link a.title,
|
||||
.topic-list .link-top-line a.title {
|
||||
color: var(--ox-fg) !important;
|
||||
font-weight: 560;
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.45;
|
||||
letter-spacing: -0.015em;
|
||||
transition: color var(--ox-t);
|
||||
}
|
||||
|
||||
.topic-list .main-link a.title:hover,
|
||||
.topic-list .link-top-line a.title:hover {
|
||||
color: var(--ox-violet) !important;
|
||||
}
|
||||
|
||||
.topic-list .link-bottom-line { margin-top: 5px; }
|
||||
|
||||
.topic-list .topic-excerpt {
|
||||
color: var(--ox-fg-muted) !important;
|
||||
font-size: 0.8rem;
|
||||
line-height: 1.5;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.topic-list .num a,
|
||||
.topic-list .num { color: var(--ox-fg-muted) !important; font-size: 0.82rem; }
|
||||
|
||||
/* ── CATEGORY LIST ── */
|
||||
.category-list thead th {
|
||||
font-size: 0.68rem;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
color: var(--ox-fg-muted) !important;
|
||||
border-bottom: 1px solid var(--ox-border) !important;
|
||||
background: transparent !important;
|
||||
padding: 10px 12px;
|
||||
}
|
||||
|
||||
.category-list tbody tr {
|
||||
border-bottom: 1px solid var(--ox-border2) !important;
|
||||
transition: background var(--ox-t);
|
||||
}
|
||||
|
||||
.category-list tbody tr:hover { background: var(--ox-surface) !important; }
|
||||
|
||||
.category-list td.category .category-name a {
|
||||
color: var(--ox-fg) !important;
|
||||
font-weight: 650;
|
||||
font-size: 0.95rem;
|
||||
letter-spacing: -0.01em;
|
||||
transition: color var(--ox-t);
|
||||
}
|
||||
|
||||
.category-list td.category .category-name a:hover { color: var(--ox-violet) !important; }
|
||||
|
||||
.category-list td.category .category-description,
|
||||
.category-list td.category p {
|
||||
color: var(--ox-fg-muted) !important;
|
||||
font-size: 0.81rem;
|
||||
margin-top: 4px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
/* ── POST CONTENT ── */
|
||||
.cooked {
|
||||
font-size: 0.95rem;
|
||||
line-height: 1.85;
|
||||
color: var(--ox-fg) !important;
|
||||
letter-spacing: -0.005em;
|
||||
}
|
||||
|
||||
.cooked p { margin: 0 0 1.1em; }
|
||||
|
||||
.cooked a {
|
||||
color: var(--ox-violet) !important;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid rgba(139,92,246,0.3);
|
||||
transition: border-color var(--ox-t);
|
||||
}
|
||||
|
||||
.cooked a:hover { border-bottom-color: var(--ox-violet); }
|
||||
|
||||
.cooked h1, .cooked h2, .cooked h3,
|
||||
.cooked h4, .cooked h5, .cooked h6 {
|
||||
font-weight: 700;
|
||||
line-height: 1.28;
|
||||
margin: 1.8em 0 0.65em;
|
||||
padding-bottom: 9px;
|
||||
border-bottom: 1px solid var(--ox-border);
|
||||
letter-spacing: -0.025em;
|
||||
}
|
||||
|
||||
.cooked h1 { font-size: 1.65rem; color: var(--ox-fg) !important; font-weight: 800; }
|
||||
.cooked h2 { font-size: 1.3rem; color: var(--ox-fg) !important; }
|
||||
.cooked h3 { font-size: 1.08rem; color: var(--ox-violet) !important; }
|
||||
.cooked h4 { font-size: 0.95rem; color: var(--ox-cyan) !important; border-bottom: none; }
|
||||
.cooked h5, .cooked h6 { font-size: 0.875rem; color: var(--ox-fg-dim) !important; border-bottom: none; }
|
||||
|
||||
.cooked code:not(pre code) {
|
||||
background: var(--ox-surface2) !important;
|
||||
color: var(--ox-cyan) !important;
|
||||
border: 1px solid var(--ox-border) !important;
|
||||
border-radius: 5px;
|
||||
font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;
|
||||
font-size: 0.83em;
|
||||
padding: 2px 7px;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
.cooked pre {
|
||||
background: var(--ox-bg2) !important;
|
||||
border: 1px solid var(--ox-border) !important;
|
||||
border-left: 4px solid var(--ox-violet) !important;
|
||||
border-radius: 0 var(--ox-radius) var(--ox-radius) 0;
|
||||
padding: 20px 22px;
|
||||
margin: 18px 0;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.cooked pre code {
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
padding: 0 !important;
|
||||
color: var(--ox-emerald) !important;
|
||||
font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1.72;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
.cooked blockquote {
|
||||
border-left: 4px solid var(--ox-violet) !important;
|
||||
background: var(--ox-violet-dim) !important;
|
||||
border-radius: 0 var(--ox-radius) var(--ox-radius) 0;
|
||||
padding: 14px 20px;
|
||||
margin: 18px 0;
|
||||
color: var(--ox-fg-dim) !important;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.cooked blockquote p { margin: 0; }
|
||||
|
||||
.cooked ul, .cooked ol { padding-left: 1.5em; margin: 0.8em 0; }
|
||||
.cooked li { margin: 0.4em 0; }
|
||||
|
||||
.cooked table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
margin: 18px 0;
|
||||
border: 1px solid var(--ox-border);
|
||||
border-radius: var(--ox-radius);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cooked table th {
|
||||
background: var(--ox-surface) !important;
|
||||
color: var(--ox-fg-dim) !important;
|
||||
font-size: 0.74rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.07em;
|
||||
padding: 11px 16px;
|
||||
border-bottom: 1px solid var(--ox-border) !important;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.cooked table td {
|
||||
padding: 10px 16px;
|
||||
border-bottom: 1px solid var(--ox-border2) !important;
|
||||
color: var(--ox-fg-dim) !important;
|
||||
}
|
||||
|
||||
.cooked table tr:last-child td { border-bottom: none !important; }
|
||||
.cooked table tr:nth-child(even) td { background: rgba(24,24,27,0.6) !important; }
|
||||
|
||||
.cooked hr { border: none; border-top: 1px solid var(--ox-border); margin: 24px 0; }
|
||||
|
||||
/* ── TOPIC TITLE ── */
|
||||
.fancy-title, #topic-title h1, .title-wrapper h1 {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 800;
|
||||
line-height: 1.28;
|
||||
letter-spacing: -0.03em;
|
||||
color: var(--ox-fg) !important;
|
||||
}
|
||||
|
||||
/* ── BUTTONS ── */
|
||||
.btn {
|
||||
border-radius: var(--ox-radius) !important;
|
||||
font-weight: 600;
|
||||
font-size: 0.875rem;
|
||||
letter-spacing: -0.01em;
|
||||
transition: all var(--ox-t);
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: var(--ox-violet) !important;
|
||||
color: #fff !important;
|
||||
border: none !important;
|
||||
box-shadow: 0 2px 8px rgba(139,92,246,0.3);
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background: #9d6ef8 !important;
|
||||
box-shadow: 0 4px 18px rgba(139,92,246,0.45) !important;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
background: var(--ox-surface) !important;
|
||||
border: 1px solid var(--ox-border) !important;
|
||||
color: var(--ox-fg-dim) !important;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
background: var(--ox-surface2) !important;
|
||||
border-color: var(--ox-fg-muted) !important;
|
||||
color: var(--ox-fg) !important;
|
||||
}
|
||||
|
||||
/* ── POST ACTIONS ── */
|
||||
.post-controls .actions .btn {
|
||||
color: var(--ox-fg-muted) !important;
|
||||
background: transparent !important;
|
||||
border-radius: var(--ox-radius) !important;
|
||||
padding: 5px 10px;
|
||||
font-size: 0.82rem;
|
||||
transition: all var(--ox-t);
|
||||
}
|
||||
|
||||
.post-controls .actions .btn:hover {
|
||||
color: var(--ox-fg-dim) !important;
|
||||
background: var(--ox-surface) !important;
|
||||
}
|
||||
|
||||
.post-controls .actions .btn.like-button.has-like .d-icon { color: var(--ox-rose) !important; }
|
||||
|
||||
/* ── TAGS ── */
|
||||
.discourse-tag {
|
||||
background: var(--ox-surface2) !important;
|
||||
color: var(--ox-fg-dim) !important;
|
||||
border: 1px solid var(--ox-border) !important;
|
||||
border-radius: 5px !important;
|
||||
font-size: 0.71rem;
|
||||
font-weight: 600;
|
||||
padding: 3px 9px !important;
|
||||
letter-spacing: 0.01em;
|
||||
transition: all var(--ox-t);
|
||||
}
|
||||
|
||||
.discourse-tag:hover {
|
||||
background: var(--ox-violet-dim) !important;
|
||||
color: var(--ox-violet) !important;
|
||||
border-color: rgba(139,92,246,0.3) !important;
|
||||
}
|
||||
|
||||
/* ── BADGE ── */
|
||||
.badge-notification {
|
||||
background: var(--ox-violet) !important;
|
||||
color: #fff !important;
|
||||
border-radius: 8px;
|
||||
font-size: 0.68rem;
|
||||
font-weight: 700;
|
||||
padding: 2px 7px;
|
||||
}
|
||||
|
||||
/* ── COMPOSER ── */
|
||||
.d-editor-textarea-wrapper {
|
||||
border-radius: var(--ox-radius) !important;
|
||||
border-color: var(--ox-border) !important;
|
||||
background: var(--ox-surface) !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.d-editor-input {
|
||||
font-family: "JetBrains Mono", "Fira Code", "Consolas", monospace !important;
|
||||
font-size: 0.9rem !important;
|
||||
line-height: 1.65 !important;
|
||||
letter-spacing: 0 !important;
|
||||
}
|
||||
|
||||
.d-editor-preview { background: var(--ox-bg2) !important; border-left: 1px solid var(--ox-border) !important; }
|
||||
|
||||
/* ── INPUTS ── */
|
||||
input[type="text"], input[type="email"],
|
||||
input[type="password"], textarea, select {
|
||||
border-radius: var(--ox-radius) !important;
|
||||
padding: 8px 12px !important;
|
||||
border-color: var(--ox-border) !important;
|
||||
background: var(--ox-surface) !important;
|
||||
color: var(--ox-fg) !important;
|
||||
transition: border-color var(--ox-t), box-shadow var(--ox-t);
|
||||
}
|
||||
|
||||
input:focus, textarea:focus, select:focus {
|
||||
border-color: var(--ox-violet) !important;
|
||||
box-shadow: 0 0 0 3px rgba(139,92,246,0.12) !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
/* ── USER CARD ── */
|
||||
.user-card, .group-card {
|
||||
border-radius: var(--ox-radius-lg) !important;
|
||||
box-shadow: 0 12px 40px rgba(0,0,0,0.7), 0 0 0 1px var(--ox-border) !important;
|
||||
}
|
||||
|
||||
/* ── NOTIFICATIONS ── */
|
||||
.notification.unread { background: rgba(139,92,246,0.06) !important; border-left: 2px solid var(--ox-violet) !important; }
|
||||
|
||||
/* ── STATUS ICONS ── */
|
||||
.topic-status .d-icon-thumbtack { color: var(--ox-amber) !important; }
|
||||
.topic-status .d-icon-lock { color: var(--ox-fg-muted) !important; }
|
||||
|
||||
/* ── SCROLLBAR ── */
|
||||
::-webkit-scrollbar { width: 5px; height: 5px; }
|
||||
::-webkit-scrollbar-track { background: var(--ox-bg); }
|
||||
::-webkit-scrollbar-thumb { background: var(--ox-border); border-radius: 3px; }
|
||||
::-webkit-scrollbar-thumb:hover { background: var(--ox-fg-muted); }
|
||||
|
||||
/* ── RESPONSIVE ── */
|
||||
@media (max-width: 1100px) { #main-outlet .wrap, .d-header .wrap { padding: 0 20px; } }
|
||||
@media (max-width: 768px) {
|
||||
body { font-size: 14px; letter-spacing: 0; }
|
||||
.fancy-title, #topic-title h1 { font-size: 1.2rem; }
|
||||
.cooked { font-size: 0.9rem; }
|
||||
#main-outlet .wrap, .d-header .wrap { padding: 0 14px; }
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"id": 37,
|
||||
"name": "Onyx",
|
||||
"user_selectable": true,
|
||||
"color_scheme": {
|
||||
"id": 42,
|
||||
"name": "Onyx",
|
||||
"theme_id": null,
|
||||
"colors": {
|
||||
"primary": "fafafa",
|
||||
"secondary": "09090b",
|
||||
"tertiary": "8b5cf6",
|
||||
"quaternary": "06b6d4",
|
||||
"header_background": "09090b",
|
||||
"header_primary": "fafafa",
|
||||
"highlight": "f59e0b",
|
||||
"highlight_text": "09090b",
|
||||
"hover": "18181b",
|
||||
"selected": "27272a",
|
||||
"danger": "f43f5e",
|
||||
"success": "10b981",
|
||||
"love": "f472b6"
|
||||
}
|
||||
},
|
||||
"fields_count": 1,
|
||||
"files": [
|
||||
{
|
||||
"field_id": 716,
|
||||
"target_id": 0,
|
||||
"target_name": "common",
|
||||
"name": "scss",
|
||||
"filename": "common_scss.scss",
|
||||
"bytes": 12801
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user