// Define base colors and fonts for light and dark themes :root { --code-font: 'Courier New', monospace; --bg-primary: var(--bg-1); --text-color: var(--text-0); // Color of the code text --label-color: #f0f0f0; // Text color of the label --hightlight-color: #f0f0f0; } :root.dark { --hightlight-color: #204e8a; } // Define language colors map $language-colors: ( "js": (#f7df1e, "JavaScript"), "yaml": (#f71e6a, "YAML"), "shell": (#4eaa25, "Shell"), // Updated to a more specific green shade "json": (dodgerblue, "JSON"), "python": (#3572A5, "Python"), // Using the specific Python blue "css": (#264de4, "CSS"), "go": (#00ADD8, "Go"), // Official Go color "markdown": (#0000ff, "Markdown"), "rust": (#ff4647, "Rust"), // Adjusted to match Rust's branding "java": (#f89820, "Java"), // Oracle Java color "csharp": (#178600, "C#"), "ruby": (#701516, "Ruby"), "swift": (#f05138, "Swift"), "php": (#777bb4, "PHP"), "typescript": (#3178c6, "TypeScript"), "scala": (#c22d40, "Scala"), "kotlin": (#F18E33, "Kotlin"), "lua": (#000080, "Lua"), "perl": (#0298c3, "Perl"), "haskell": (#5e5086, "Haskell"), "r": (#198ce7, "R"), "dart": (#00d2b8, "Dart"), "elixir": (#6e4a7e, "Elixir"), "clojure": (#5881d8, "Clojure"), "bash": (#4eaa25, "Bash"), "default": (#333, "Code"), ); @mixin base-label-style($bg-color, $text-color: var(--label-color)) { background: $bg-color; color: $text-color; border-radius: 0 0 0.25rem 0.25rem; font-size: 12px; letter-spacing: 0.025rem; padding: 0.1rem 0.5rem; text-align: right; text-transform: uppercase; position: absolute; right: 0; top: 0; margin-top: 0.1rem; } // Example usage within a specific class for clarity .code-label { @include base-label-style(#333); // Default background color } @each $lang, $color-info in $language-colors { .label-#{$lang} { @include base-label-style(nth($color-info, 1)); } } code { background-color: var(--bg-primary); padding: 0.1em 0.2em; border-radius: 5px; border: 1px solid var(--border-color); font-family: var(--code-font); } pre { background-color: var(--bg-primary) !important; border-radius: 5px; border: 1px solid var(--border-color); line-height: 1.4; overflow-x: auto; padding: 1em; position: relative; mark { background-color: var(--hightlight-color) !important; // Ensure mark uses the theme background padding: 0; border-radius: 0px; } code { background-color: transparent !important; color: var(--text-color); font-size: 100%; padding: 0; border: none; font-family: var(--code-font); table { margin: 0; border-collapse: collapse; font-family: var(--code-font); mark { display: block; color: unset; padding: 0; background-color: var(--hightlight-color) !important; filter: brightness(1.2); // Example to slightly increase brightness } } td, th, tr { padding: 0; border-bottom: none; border: none; // Ensure no borders around rows } tbody td:first-child { text-align: center; user-select: none; min-width: 60px; border-right: none, } tbody tr:nth-child(even), thead tr { background-color: unset; } } } .clipboard-button, .clipboard-button svg { all: unset; cursor: pointer; position: absolute; bottom: 5px; /* 5px from the bottom */ right: 5px; /* 5px from the right */ z-index: 10; background-color: transparent; border: none; fill: #ef5350; /* Sets the color of the SVG, assuming it's an SVG icon */ }