feat: export complete Discourse themes ecosystem (16 themes, SCSS, JS components and color schemes)
This commit is contained in:
@@ -0,0 +1,546 @@
|
||||
/* ═══════════════════════════════════════════════════════════════
|
||||
DRACULA PRO ULTRA — info-board.win
|
||||
The definitive dark theme. Built for focus, built for coders.
|
||||
═══════════════════════════════════════════════════════════════ */
|
||||
|
||||
/* ── CUSTOM PROPERTIES ── */
|
||||
.d-header,
|
||||
#main-outlet,
|
||||
html body {
|
||||
--dp-bg: #282a36;
|
||||
--dp-bg-deep: #1e1f29;
|
||||
--dp-surface: #21222c;
|
||||
--dp-surface2: #2d2f3f;
|
||||
--dp-border: #44475a;
|
||||
--dp-border2: #363849;
|
||||
--dp-fg: #f8f8f2;
|
||||
--dp-comment: #6272a4;
|
||||
--dp-purple: #bd93f9;
|
||||
--dp-purple-dim: rgba(189,147,249,0.12);
|
||||
--dp-pink: #ff79c6;
|
||||
--dp-pink-dim: rgba(255,121,198,0.1);
|
||||
--dp-cyan: #8be9fd;
|
||||
--dp-green: #50fa7b;
|
||||
--dp-yellow: #f1fa8c;
|
||||
--dp-orange: #ffb86c;
|
||||
--dp-red: #ff5555;
|
||||
--dp-radius: 8px;
|
||||
--dp-radius-lg: 12px;
|
||||
--dp-transition: 0.15s ease;
|
||||
}
|
||||
|
||||
/* ── LAYOUT ── */
|
||||
#main-outlet .wrap,
|
||||
.d-header .wrap {
|
||||
max-width: 1420px;
|
||||
padding: 0 36px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, "Inter", "Segoe UI", system-ui, sans-serif;
|
||||
font-size: 15px;
|
||||
line-height: 1.6;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* ── HEADER ── */
|
||||
.d-header {
|
||||
background: var(--dp-bg-deep) !important;
|
||||
border-bottom: 1px solid var(--dp-border) !important;
|
||||
box-shadow: 0 1px 0 rgba(189,147,249,0.12), 0 4px 24px rgba(0,0,0,0.4) !important;
|
||||
height: 62px;
|
||||
}
|
||||
|
||||
.d-header .wrap { display: flex; align-items: center; }
|
||||
|
||||
.d-header-icons .btn.icon,
|
||||
.d-header .icons .btn.icon {
|
||||
color: var(--dp-comment) !important;
|
||||
border-radius: var(--dp-radius);
|
||||
padding: 7px;
|
||||
transition: color var(--dp-transition), background var(--dp-transition);
|
||||
}
|
||||
|
||||
.d-header-icons .btn.icon:hover,
|
||||
.d-header .icons .btn.icon:hover {
|
||||
color: var(--dp-purple) !important;
|
||||
background: var(--dp-purple-dim) !important;
|
||||
}
|
||||
|
||||
/* ── NAVIGATION PILLS ── */
|
||||
.nav-pills .nav-item a {
|
||||
color: var(--dp-comment) !important;
|
||||
border-radius: var(--dp-radius);
|
||||
font-weight: 500;
|
||||
font-size: 0.875rem;
|
||||
padding: 6px 14px;
|
||||
transition: color var(--dp-transition), background var(--dp-transition);
|
||||
}
|
||||
|
||||
.nav-pills .nav-item.active a,
|
||||
.nav-pills .nav-item a:hover {
|
||||
color: var(--dp-purple) !important;
|
||||
background: var(--dp-purple-dim) !important;
|
||||
}
|
||||
|
||||
/* ── SIDEBAR ── */
|
||||
.sidebar-wrapper {
|
||||
background: var(--dp-bg) !important;
|
||||
border-right: 1px solid var(--dp-border2) !important;
|
||||
}
|
||||
|
||||
.sidebar-sections .sidebar-section-header-wrapper button {
|
||||
color: var(--dp-comment) !important;
|
||||
font-size: 0.67rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.sidebar-sections .sidebar-section-link-wrapper a {
|
||||
color: var(--dp-comment) !important;
|
||||
border-radius: var(--dp-radius);
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
padding: 6px 10px;
|
||||
border-left: 2px solid transparent;
|
||||
transition: all var(--dp-transition);
|
||||
}
|
||||
|
||||
.sidebar-sections .sidebar-section-link-wrapper a:hover {
|
||||
color: var(--dp-fg) !important;
|
||||
background: var(--dp-surface2) !important;
|
||||
}
|
||||
|
||||
.sidebar-sections .sidebar-section-link-wrapper a.active {
|
||||
color: var(--dp-purple) !important;
|
||||
background: var(--dp-purple-dim) !important;
|
||||
border-left-color: var(--dp-purple);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ── TOPIC LIST ── */
|
||||
.topic-list thead th {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.09em;
|
||||
color: var(--dp-comment) !important;
|
||||
border-bottom: 1px solid var(--dp-border) !important;
|
||||
background: transparent !important;
|
||||
padding: 10px 12px;
|
||||
}
|
||||
|
||||
.topic-list tbody .topic-list-item {
|
||||
border-bottom: 1px solid var(--dp-border2) !important;
|
||||
transition: background var(--dp-transition);
|
||||
}
|
||||
|
||||
.topic-list tbody .topic-list-item:hover {
|
||||
background: var(--dp-surface) !important;
|
||||
}
|
||||
|
||||
.topic-list .main-link a.title,
|
||||
.topic-list .link-top-line a.title {
|
||||
color: var(--dp-fg) !important;
|
||||
font-weight: 600;
|
||||
font-size: 0.925rem;
|
||||
line-height: 1.4;
|
||||
transition: color var(--dp-transition);
|
||||
}
|
||||
|
||||
.topic-list .main-link a.title:hover,
|
||||
.topic-list .link-top-line a.title:hover {
|
||||
color: var(--dp-purple) !important;
|
||||
}
|
||||
|
||||
.topic-list .link-bottom-line { margin-top: 5px; }
|
||||
|
||||
.topic-list .topic-excerpt {
|
||||
color: var(--dp-comment) !important;
|
||||
font-size: 0.8rem;
|
||||
line-height: 1.5;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.topic-list .num a,
|
||||
.topic-list .num {
|
||||
color: var(--dp-comment) !important;
|
||||
font-size: 0.82rem;
|
||||
}
|
||||
|
||||
.topic-list .posters .avatar { border-radius: 50%; }
|
||||
|
||||
/* ── CATEGORY LIST ── */
|
||||
.category-list thead th {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.09em;
|
||||
color: var(--dp-comment) !important;
|
||||
border-bottom: 1px solid var(--dp-border) !important;
|
||||
background: transparent !important;
|
||||
padding: 10px 12px;
|
||||
}
|
||||
|
||||
.category-list tbody tr {
|
||||
border-bottom: 1px solid var(--dp-border2) !important;
|
||||
transition: background var(--dp-transition);
|
||||
}
|
||||
|
||||
.category-list tbody tr:hover {
|
||||
background: var(--dp-surface) !important;
|
||||
}
|
||||
|
||||
.category-list td.category .category-name a {
|
||||
color: var(--dp-fg) !important;
|
||||
font-weight: 700;
|
||||
font-size: 0.975rem;
|
||||
transition: color var(--dp-transition);
|
||||
}
|
||||
|
||||
.category-list td.category .category-name a:hover {
|
||||
color: var(--dp-purple) !important;
|
||||
}
|
||||
|
||||
.category-list td.category .category-description,
|
||||
.category-list td.category p {
|
||||
color: var(--dp-comment) !important;
|
||||
font-size: 0.82rem;
|
||||
margin-top: 4px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.subcategories .subcategory-list .category-name a {
|
||||
color: var(--dp-comment) !important;
|
||||
font-size: 0.82rem;
|
||||
transition: color var(--dp-transition);
|
||||
}
|
||||
|
||||
.subcategories .subcategory-list .category-name a:hover {
|
||||
color: var(--dp-purple) !important;
|
||||
}
|
||||
|
||||
/* ── POST CONTENT ── */
|
||||
.cooked {
|
||||
font-size: 0.95rem;
|
||||
line-height: 1.82;
|
||||
color: var(--dp-fg) !important;
|
||||
}
|
||||
|
||||
.cooked p { margin: 0 0 1em; }
|
||||
|
||||
.cooked a {
|
||||
color: var(--dp-cyan) !important;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid rgba(139,233,253,0.3);
|
||||
transition: border-color var(--dp-transition), color var(--dp-transition);
|
||||
}
|
||||
|
||||
.cooked a:hover {
|
||||
color: var(--dp-cyan) !important;
|
||||
border-bottom-color: var(--dp-cyan);
|
||||
}
|
||||
|
||||
.cooked h1, .cooked h2, .cooked h3,
|
||||
.cooked h4, .cooked h5, .cooked h6 {
|
||||
font-weight: 700;
|
||||
line-height: 1.3;
|
||||
margin: 1.75em 0 0.65em;
|
||||
padding-bottom: 8px;
|
||||
border-bottom: 1px solid var(--dp-border);
|
||||
}
|
||||
|
||||
.cooked h1 { font-size: 1.7rem; color: var(--dp-pink) !important; font-weight: 800; }
|
||||
.cooked h2 { font-size: 1.35rem; color: var(--dp-purple) !important; }
|
||||
.cooked h3 { font-size: 1.1rem; color: var(--dp-cyan) !important; }
|
||||
.cooked h4 { font-size: 0.975rem; color: var(--dp-yellow) !important; border-bottom: none; }
|
||||
.cooked h5, .cooked h6 { font-size: 0.9rem; color: var(--dp-orange) !important; border-bottom: none; }
|
||||
|
||||
.cooked code:not(pre code) {
|
||||
background: var(--dp-surface) !important;
|
||||
color: var(--dp-pink) !important;
|
||||
border: 1px solid var(--dp-border) !important;
|
||||
border-radius: 5px;
|
||||
font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;
|
||||
font-size: 0.84em;
|
||||
padding: 2px 7px;
|
||||
font-variant-ligatures: contextual;
|
||||
}
|
||||
|
||||
.cooked pre {
|
||||
background: var(--dp-bg-deep) !important;
|
||||
border: 1px solid var(--dp-border) !important;
|
||||
border-left: 4px solid var(--dp-purple) !important;
|
||||
border-radius: 0 var(--dp-radius) var(--dp-radius) 0;
|
||||
padding: 20px 22px;
|
||||
margin: 18px 0;
|
||||
overflow-x: auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cooked pre code {
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
padding: 0 !important;
|
||||
color: var(--dp-green) !important;
|
||||
font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1.7;
|
||||
font-variant-ligatures: contextual;
|
||||
}
|
||||
|
||||
.cooked blockquote {
|
||||
border-left: 4px solid var(--dp-purple) !important;
|
||||
background: var(--dp-purple-dim) !important;
|
||||
border-radius: 0 var(--dp-radius) var(--dp-radius) 0;
|
||||
padding: 14px 20px;
|
||||
margin: 18px 0;
|
||||
color: var(--dp-fg) !important;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.cooked blockquote p { margin: 0; }
|
||||
|
||||
.cooked ul, .cooked ol {
|
||||
padding-left: 1.5em;
|
||||
margin: 0.75em 0;
|
||||
}
|
||||
|
||||
.cooked li { margin: 0.35em 0; }
|
||||
|
||||
.cooked table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
margin: 18px 0;
|
||||
border-radius: var(--dp-radius);
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--dp-border);
|
||||
}
|
||||
|
||||
.cooked table th {
|
||||
background: var(--dp-surface) !important;
|
||||
color: var(--dp-purple) !important;
|
||||
font-size: 0.78rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.06em;
|
||||
padding: 11px 16px;
|
||||
border-bottom: 2px solid var(--dp-border) !important;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.cooked table td {
|
||||
padding: 10px 16px;
|
||||
border-bottom: 1px solid var(--dp-border2) !important;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.cooked table tr:last-child td { border-bottom: none !important; }
|
||||
|
||||
.cooked table tr:nth-child(even) td {
|
||||
background: rgba(68,71,90,0.25) !important;
|
||||
}
|
||||
|
||||
.cooked hr {
|
||||
border: none;
|
||||
border-top: 1px solid var(--dp-border);
|
||||
margin: 24px 0;
|
||||
}
|
||||
|
||||
/* ── TOPIC TITLE ── */
|
||||
.fancy-title,
|
||||
#topic-title h1,
|
||||
.title-wrapper h1 {
|
||||
font-size: 1.55rem;
|
||||
font-weight: 800;
|
||||
line-height: 1.28;
|
||||
letter-spacing: -0.02em;
|
||||
color: var(--dp-fg) !important;
|
||||
}
|
||||
|
||||
/* ── BUTTONS ── */
|
||||
.btn {
|
||||
border-radius: var(--dp-radius) !important;
|
||||
font-weight: 600;
|
||||
font-size: 0.875rem;
|
||||
transition: all var(--dp-transition);
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: var(--dp-purple) !important;
|
||||
color: var(--dp-bg) !important;
|
||||
border: none !important;
|
||||
box-shadow: 0 2px 12px rgba(189,147,249,0.35);
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background: #c9a8fc !important;
|
||||
box-shadow: 0 4px 20px rgba(189,147,249,0.5) !important;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
background: var(--dp-surface) !important;
|
||||
border: 1px solid var(--dp-border) !important;
|
||||
color: var(--dp-fg) !important;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
background: var(--dp-surface2) !important;
|
||||
border-color: var(--dp-purple) !important;
|
||||
color: var(--dp-purple) !important;
|
||||
}
|
||||
|
||||
.btn-danger {
|
||||
background: var(--dp-red) !important;
|
||||
border: none !important;
|
||||
color: var(--dp-fg) !important;
|
||||
}
|
||||
|
||||
/* ── POST ACTIONS ── */
|
||||
.post-controls .actions .btn {
|
||||
color: var(--dp-comment) !important;
|
||||
background: transparent !important;
|
||||
border-radius: var(--dp-radius) !important;
|
||||
padding: 5px 10px;
|
||||
font-size: 0.82rem;
|
||||
transition: all var(--dp-transition);
|
||||
}
|
||||
|
||||
.post-controls .actions .btn:hover {
|
||||
color: var(--dp-purple) !important;
|
||||
background: var(--dp-purple-dim) !important;
|
||||
}
|
||||
|
||||
.post-controls .actions .btn.like-button.has-like .d-icon {
|
||||
color: var(--dp-pink) !important;
|
||||
}
|
||||
|
||||
.post-controls .actions .btn.like-button.has-like:hover {
|
||||
background: var(--dp-pink-dim) !important;
|
||||
}
|
||||
|
||||
/* ── TAGS ── */
|
||||
.discourse-tag {
|
||||
background: var(--dp-purple-dim) !important;
|
||||
color: var(--dp-purple) !important;
|
||||
border: 1px solid rgba(189,147,249,0.3) !important;
|
||||
border-radius: 20px !important;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
padding: 3px 10px !important;
|
||||
transition: all var(--dp-transition);
|
||||
}
|
||||
|
||||
.discourse-tag:hover {
|
||||
background: rgba(189,147,249,0.22) !important;
|
||||
border-color: var(--dp-purple) !important;
|
||||
}
|
||||
|
||||
/* ── BADGE ── */
|
||||
.badge-notification {
|
||||
background: var(--dp-purple) !important;
|
||||
color: var(--dp-bg) !important;
|
||||
border-radius: 10px;
|
||||
font-size: 0.68rem;
|
||||
font-weight: 700;
|
||||
padding: 2px 7px;
|
||||
min-width: 18px;
|
||||
}
|
||||
|
||||
.badge-notification.new-posts,
|
||||
.badge-notification.unread-posts {
|
||||
background: var(--dp-pink) !important;
|
||||
}
|
||||
|
||||
/* ── COMPOSER ── */
|
||||
.d-editor-textarea-wrapper {
|
||||
border-radius: var(--dp-radius) !important;
|
||||
border-color: var(--dp-border) !important;
|
||||
background: var(--dp-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;
|
||||
color: var(--dp-fg) !important;
|
||||
background: var(--dp-surface) !important;
|
||||
}
|
||||
|
||||
.d-editor-preview {
|
||||
background: var(--dp-bg-deep) !important;
|
||||
border-left: 1px solid var(--dp-border) !important;
|
||||
}
|
||||
|
||||
/* ── FORM INPUTS ── */
|
||||
input[type="text"], input[type="email"],
|
||||
input[type="password"], input[type="search"],
|
||||
textarea, select {
|
||||
border-radius: var(--dp-radius) !important;
|
||||
padding: 8px 12px !important;
|
||||
border-color: var(--dp-border) !important;
|
||||
transition: border-color var(--dp-transition), box-shadow var(--dp-transition);
|
||||
}
|
||||
|
||||
input:focus, textarea:focus, select:focus {
|
||||
border-color: var(--dp-purple) !important;
|
||||
box-shadow: 0 0 0 3px rgba(189,147,249,0.15) !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
/* ── NOTIFICATIONS ── */
|
||||
.notification-item.unread,
|
||||
.notification.unread {
|
||||
background: rgba(189,147,249,0.06) !important;
|
||||
border-left: 2px solid var(--dp-purple) !important;
|
||||
}
|
||||
|
||||
/* ── STATUS ── */
|
||||
.topic-status .d-icon-thumbtack { color: var(--dp-yellow) !important; }
|
||||
.topic-status .d-icon-lock { color: var(--dp-comment) !important; }
|
||||
.topic-status .d-icon-far-eye { color: var(--dp-cyan) !important; }
|
||||
|
||||
/* ── USER CARD ── */
|
||||
.user-card, .group-card {
|
||||
border-radius: var(--dp-radius-lg) !important;
|
||||
box-shadow: 0 12px 40px rgba(0,0,0,0.55) !important;
|
||||
border: 1px solid var(--dp-border) !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ── SEARCH ── */
|
||||
.search-menu-container input[type="text"] {
|
||||
border-radius: var(--dp-radius) !important;
|
||||
padding: 9px 14px !important;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
/* ── TOPIC POST ── */
|
||||
.topic-post article.boxed,
|
||||
.post-stream .topic-post {
|
||||
border-bottom: 1px solid var(--dp-border2) !important;
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
/* ── SCROLLBAR ── */
|
||||
::-webkit-scrollbar { width: 6px; height: 6px; }
|
||||
::-webkit-scrollbar-track { background: var(--dp-bg-deep); }
|
||||
::-webkit-scrollbar-thumb { background: var(--dp-border); border-radius: 3px; }
|
||||
::-webkit-scrollbar-thumb:hover { background: var(--dp-comment); }
|
||||
|
||||
/* ── RESPONSIVE ── */
|
||||
@media (max-width: 1100px) {
|
||||
#main-outlet .wrap,
|
||||
.d-header .wrap { padding: 0 20px; }
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
body { font-size: 14px; }
|
||||
.fancy-title, #topic-title h1 { font-size: 1.2rem; }
|
||||
.cooked { font-size: 0.9rem; }
|
||||
#main-outlet .wrap,
|
||||
.d-header .wrap { padding: 0 14px; }
|
||||
}
|
||||
Reference in New Issue
Block a user