This commit is contained in:
Hadi
2026-04-06 15:12:34 +02:00
commit 4989225671
117 changed files with 11454 additions and 0 deletions

144
front/src/styles/gfm.css Normal file
View File

@@ -0,0 +1,144 @@
/* ANSI Terminal Output */
.ansi-output {
font-family: monospace;
font-size: 0.8rem;
line-height: 1.5;
white-space: pre-wrap;
word-break: break-all;
background-color: var(--color-base-100);
border: 1px solid color-mix(in srgb, var(--color-base-content) 10%, transparent);
border-radius: 0.5rem;
padding: 0.75rem 1rem;
overflow-x: auto;
max-height: 600px;
overflow-y: auto;
}
/* GitHub Flavored Markdown - Code Blocks */
.code-block {
border: 1px solid color-mix(in srgb, var(--color-base-content) 12%, transparent);
border-radius: 0.5rem;
overflow: hidden;
margin: 1.25rem 0;
font-size: 0.875rem;
}
.code-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.4rem 0.75rem;
background-color: color-mix(in srgb, var(--color-base-content) 6%, transparent);
border-bottom: 1px solid color-mix(in srgb, var(--color-base-content) 10%, transparent);
}
.code-lang {
font-family: monospace;
font-size: 0.75rem;
color: var(--color-base-content);
opacity: 0.5;
text-transform: lowercase;
}
.copy-btn {
display: flex;
align-items: center;
gap: 0.3rem;
font-size: 0.7rem;
padding: 0.2rem 0.5rem;
border-radius: 0.3rem;
border: 1px solid color-mix(in srgb, var(--color-base-content) 15%, transparent);
background: transparent;
color: var(--color-base-content);
opacity: 0.5;
cursor: pointer;
transition: opacity 0.15s;
}
.copy-btn:hover { opacity: 1; }
.copy-btn.copied { color: var(--color-success); opacity: 1; }
.code-block pre {
margin: 0 !important;
border-radius: 0 !important;
border: none !important;
padding: 1rem 0 !important;
}
.code-block pre code {
counter-reset: line;
}
.code-block pre code .line::before {
counter-increment: line;
content: counter(line);
display: inline-block;
width: 2rem;
text-align: right;
margin-right: 1.25rem;
color: var(--color-base-content);
opacity: 0.25;
user-select: none;
}
/* GitHub Flavored Markdown - Alerts */
.markdown-alert {
border-left: 4px solid;
padding: 0.75rem 1rem;
border-radius: 0 0.5rem 0.5rem 0;
margin: 1.25rem 0;
}
.markdown-alert p {
margin: 0;
}
.markdown-alert-title {
display: flex;
align-items: center;
gap: 0.4rem;
font-weight: 600;
font-size: 0.875rem;
margin-bottom: 0.4rem;
}
.markdown-alert-note {
border-color: var(--color-info);
background-color: color-mix(in srgb, var(--color-info) 10%, transparent);
}
.markdown-alert-note .markdown-alert-title {
color: var(--color-info);
}
.markdown-alert-tip {
border-color: var(--color-success);
background-color: color-mix(in srgb, var(--color-success) 10%, transparent);
}
.markdown-alert-tip .markdown-alert-title {
color: var(--color-success);
}
.markdown-alert-important {
border-color: var(--color-secondary);
background-color: color-mix(in srgb, var(--color-secondary) 10%, transparent);
}
.markdown-alert-important .markdown-alert-title {
color: var(--color-secondary);
}
.markdown-alert-warning {
border-color: var(--color-warning);
background-color: color-mix(in srgb, var(--color-warning) 10%, transparent);
}
.markdown-alert-warning .markdown-alert-title {
color: var(--color-warning);
}
.markdown-alert-caution {
border-color: var(--color-error);
background-color: color-mix(in srgb, var(--color-error) 10%, transparent);
}
.markdown-alert-caution .markdown-alert-title {
color: var(--color-error);
}

View File

@@ -0,0 +1,84 @@
@import "tailwindcss";
@plugin "@tailwindcss/typography";
@plugin "daisyui" {
themes: dark --prefersdark --default;
}
@plugin "daisyui/theme" {
name: "dark";
default: true;
prefersdark: true;
color-scheme: dark;
--color-primary: #E9F7A7;
--color-primary-content: #11111b;
--color-secondary: #f5c2e7;
--color-secondary-content: #11111b;
--color-accent: #94e2d5;
--color-accent-content: #11111b;
--color-neutral: #313244;
--color-neutral-content: #cdd6f4;
--color-base-300: #1a1a2a;
--color-base-200: #12121F;
--color-base-100: #0C0C16;
--color-base-content: #cdd6f4;
--color-info: #89b4fa;
--color-info-content: #11111b;
--color-success: #a6e3a1;
--color-success-content: #11111b;
--color-warning: #f9e2af;
--color-warning-content: #11111b;
--color-error: #f38ba8;
--color-error-content: #11111b;
--radius-selector: 1rem;
--radius-field: 0.5rem;
--radius-box: 1rem;
--size-selector: 0.25rem;
--size-field: 0.25rem;
--border: 1px;
--depth: 0;
--noise: 0;
}
@theme {
--font-unbounded: "Unbounded", sans-serif;
}
@utility logo-gradient {
@apply bg-gradient-to-b from-[#E9F7A7] via-[#E9BED9] to-[#BBA6EB] bg-clip-text text-transparent;
}
.animate-fade-in {
animation: fadeIn 0.6s ease-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@font-face {
font-family: 'Unbounded';
src: url('/fonts/unbounded-black.ttf') format('truetype');
font-weight: 900;
font-style: normal;
font-display: swap;
}

View File

@@ -0,0 +1,20 @@
@reference "./global.css";
.link-card {
@apply flex items-center justify-between p-4 bg-base-200 rounded-xl border border-base-300 no-underline hover:border-primary transition-all mb-4;
}
.link-card h4 {
@apply font-bold m-0 text-base;
}
.link-card p {
@apply text-sm opacity-70 m-0;
}
.link-card::after {
content: "";
@apply w-5 h-5 bg-current shrink-0 ml-4;
mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>') no-repeat center;
mask-size: contain;
}