initial to gitea

This commit is contained in:
2025-02-23 10:43:08 +07:00
commit d6e3946296
183 changed files with 22627 additions and 0 deletions

57
styles/editor.css Normal file
View File

@@ -0,0 +1,57 @@
/* GitHub-style editor customizations */
.editor-container {
@apply relative font-mono text-sm leading-relaxed;
height: 100%;
min-height: 600px;
}
.editor-textarea {
@apply w-full h-full min-h-[600px] p-4 pl-14 bg-background resize-none focus:outline-none;
line-height: 1.5rem;
tab-size: 2;
counter-reset: line;
}
/* Line numbers */
.editor-line-numbers {
@apply absolute left-0 top-0 bottom-0 w-10 bg-muted/30 border-r select-none;
padding: 1rem 0;
overflow: hidden;
}
.editor-line-numbers-content {
@apply text-right pr-2 text-muted-foreground/70;
font-size: 13px;
line-height: 1.5rem;
}
.editor-line-numbers-content > div {
height: 1.5rem;
}
.editor-line-numbers-content > div::before {
content: attr(data-line-number);
display: block;
}
/* Selection styling */
.editor-textarea::selection {
@apply bg-primary/20;
}
.dark .editor-textarea::selection {
@apply bg-primary/30;
}
/* Scrollbar styling */
.editor-textarea::-webkit-scrollbar {
@apply w-2;
}
.editor-textarea::-webkit-scrollbar-track {
@apply bg-transparent;
}
.editor-textarea::-webkit-scrollbar-thumb {
@apply bg-muted-foreground/20 rounded-full hover:bg-muted-foreground/30;
}

117
styles/globals.css Normal file
View File

@@ -0,0 +1,117 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@import url("../styles/syntax.css");
@import url("../styles/editor.css");
@layer base {
:root {
--background: 210 50% 95%;
--foreground: 220 20% 15%;
--card: 210 40% 98%;
--card-foreground: 220 20% 15%;
--popover: 210 40% 98%;
--popover-foreground: 220 20% 15%;
--primary: 132 86% 42%;
--primary-foreground: 210 50% 95%;
--secondary: 220 30% 85%;
--secondary-foreground: 220 20% 15%;
--muted: 220 30% 85%;
--muted-foreground: 220 20% 40%;
--accent: 132 86% 32%;
--accent-foreground: 0 0% 100%;
--destructive: 0 65% 55%;
--destructive-foreground: 220 20% 95%;
--border: 220 15% 90%;
--input: 220 15% 90%;
--ring: 132 86% 42%;
--radius: 0.5rem;
--chart-1: 210 60% 50%;
--chart-2: 220 40% 65%;
--chart-3: 132 86% 42%;
--chart-4: 200 60% 55%;
--chart-5: 240 30% 40%;
}
.dark {
--background: 220 20% 10%;
--foreground: 220 80% 90%;
--card: 220 20% 12%;
--card-foreground: 220 80% 90%;
--popover: 220 20% 12%;
--popover-foreground: 220 80% 90%;
--primary: 132 86% 42%;
--primary-foreground: 220 20% 10%;
--secondary: 220 30% 15%;
--secondary-foreground: 220 80% 90%;
--muted: 220 30% 15%;
--muted-foreground: 210 20% 85%;
--accent: 132 86% 32%;
--accent-foreground: 220 80% 90%;
--destructive: 0 65% 55%;
--destructive-foreground: 220 80% 90%;
--border: 220 30% 15%;
--input: 220 30% 15%;
--ring: 132 86% 42%;
--chart-1: 210 60% 50%;
--chart-2: 220 40% 65%;
--chart-3: 132 86% 42%;
--chart-4: 200 60% 55%;
--chart-5: 240 30% 40%;
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground;
}
}
.prose {
margin: 0 !important;
}
pre {
padding: 2px 0 !important;
width: inherit !important;
overflow-x: auto;
}
pre > code {
display: grid;
max-width: inherit !important;
padding: 14px 0 !important;
}
.code-line {
padding: 0.75px 16px;
@apply border-l-2 border-transparent;
}
.line-number::before {
display: inline-block;
width: 1rem;
margin-right: 22px;
margin-left: -2px;
color: rgb(110, 110, 110);
content: attr(line);
font-size: 13.5px;
text-align: right;
}
.highlight-line {
@apply bg-primary/5 border-l-2 border-primary/30;
}
.rehype-code-title {
@apply px-2 -mb-8 w-full text-sm pb-5 font-medium mt-5 font-code;
}
.highlight-comp > code {
background-color: transparent !important;
}

114
styles/syntax.css Normal file
View File

@@ -0,0 +1,114 @@
/* ocean with green variant */
/* Light Mode */
.keyword {
color: #1EAB18; /* Slightly darker green */
/* Dark Lime */
}
.function {
color: #39D833; /* Brighter lime green */
/* Bright Lime */
}
.punctuation {
color: #357C30; /* Muted green-gray */
/* Sage Green */
}
.comment {
color: #5F935B; /* Muted green */
/* Olive Green */
}
.string,
.constant,
.annotation,
.boolean,
.number {
color: #2E8F2A; /* Darker green */
/* Dark Forest Green */
}
.tag {
color: #1FC01B; /* Original vibrant green */
/* Vibrant Green */
}
.attr-name {
color: #4FE34A; /* Light and bright green */
/* Electric Green */
}
.attr-value {
color: #1EAB18; /* Slightly darker green */
/* Dark Lime */
}
/* Dark Mode */
.dark .keyword {
color: #8CFF7D; /* Soft light green */
/* Soft Mint */
}
.dark .function {
color: #A0FF93; /* Light lime green */
/* Minty Green */
}
.dark .string,
.dark .constant,
.dark .annotation,
.dark .boolean,
.dark .number {
color: #72FF73; /* Light green */
/* Spring Green */
}
.dark .tag {
color: #7FFF7A; /* Vibrant green */
/* Neon Green */
}
.dark .attr-name {
color: #B2FFA3; /* Soft pastel green */
/* Mint Green */
}
.dark .attr-value {
color: #8CFF7D; /* Soft light green */
/* Soft Mint */
}
.youtube {
position: relative;
padding-bottom: 56.25%; /* Rasio aspek 16:9 */
height: 0;
overflow: hidden;
background: #000; /* Latar belakang hitam untuk memadukan player */
border-radius: 8px; /* Sudut melengkung */
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); /* Bayangan lembut */
}
.youtube iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
border-radius: 8px; /* Sudut melengkung pada iframe */
}
.youtube:hover {
transform: scale(1.05); /* Efek hover zoom */
transition: transform 0.3s ease;
}
li#changelog {
padding-left: 1.5em;
text-indent: -1.2rem;
}
[id^="version-"] {
scroll-margin-top: 4rem; /* sesuaikan dengan tinggi navbar */
}