neurapress/src/styles/code-themes.css
2025-02-02 09:58:28 +08:00

254 lines
3.9 KiB
CSS

/* GitHub Theme */
.code-theme-github pre {
background-color: #f6f8fa;
color: #24292e;
}
.code-theme-github .token.comment {
color: #6a737d;
}
.code-theme-github .token.keyword {
color: #d73a49;
}
.code-theme-github .token.string {
color: #032f62;
}
.code-theme-github .token.number {
color: #005cc5;
}
.code-theme-github .token.function {
color: #6f42c1;
}
.code-theme-github .token.class-name {
color: #22863a;
}
.code-theme-github .token.operator {
color: #d73a49;
}
/* Dracula Theme */
.code-theme-dracula pre {
background-color: #282a36;
color: #f8f8f2;
}
.code-theme-dracula .token.comment {
color: #6272a4;
}
.code-theme-dracula .token.keyword {
color: #ff79c6;
}
.code-theme-dracula .token.string {
color: #f1fa8c;
}
.code-theme-dracula .token.number {
color: #bd93f9;
}
.code-theme-dracula .token.function {
color: #50fa7b;
}
.code-theme-dracula .token.class-name {
color: #8be9fd;
}
.code-theme-dracula .token.operator {
color: #ff79c6;
}
/* Monokai Theme */
.code-theme-monokai pre {
background-color: #272822;
color: #f8f8f2;
}
.code-theme-monokai .token.comment {
color: #75715e;
}
.code-theme-monokai .token.keyword {
color: #f92672;
}
.code-theme-monokai .token.string {
color: #e6db74;
}
.code-theme-monokai .token.number {
color: #ae81ff;
}
.code-theme-monokai .token.function {
color: #a6e22e;
}
.code-theme-monokai .token.class-name {
color: #66d9ef;
}
.code-theme-monokai .token.operator {
color: #f92672;
}
/* Solarized Light Theme */
.code-theme-solarized-light pre {
background-color: #fdf6e3;
color: #657b83;
}
.code-theme-solarized-light .token.comment {
color: #93a1a1;
}
.code-theme-solarized-light .token.keyword {
color: #859900;
}
.code-theme-solarized-light .token.string {
color: #2aa198;
}
.code-theme-solarized-light .token.number {
color: #d33682;
}
.code-theme-solarized-light .token.function {
color: #268bd2;
}
.code-theme-solarized-light .token.class-name {
color: #b58900;
}
.code-theme-solarized-light .token.operator {
color: #859900;
}
/* Nord Theme */
.code-theme-nord pre {
background-color: #2e3440;
color: #d8dee9;
}
.code-theme-nord .token.comment {
color: #4c566a;
}
.code-theme-nord .token.keyword {
color: #81a1c1;
}
.code-theme-nord .token.string {
color: #a3be8c;
}
.code-theme-nord .token.number {
color: #b48ead;
}
.code-theme-nord .token.function {
color: #88c0d0;
}
.code-theme-nord .token.class-name {
color: #8fbcbb;
}
.code-theme-nord .token.operator {
color: #81a1c1;
}
/* Common styles for all themes */
pre {
padding: 1em;
margin: 0.5em 0;
overflow: auto;
border-radius: 0.3em;
font-family: "Fira Code", Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
font-size: 14px;
line-height: 1.5;
}
code {
font-family: inherit;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
font-style: italic;
}
.token.function,
.token.class-name {
font-weight: bold;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
/* Line Numbers */
.line-numbers .line-numbers-rows {
border-right: 1px solid #999;
padding-right: 0.5em;
}
/* Code Block Header */
.code-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.5em 1em;
font-family: inherit;
font-size: 0.9em;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.code-header .language {
font-weight: bold;
}
.code-header .copy-button {
background: none;
border: none;
cursor: pointer;
padding: 0.2em 0.5em;
border-radius: 0.2em;
transition: background-color 0.2s;
}
.code-header .copy-button:hover {
background-color: rgba(0, 0, 0, 0.1);
}
/* Dark mode adjustments */
@media (prefers-color-scheme: dark) {
.code-header {
border-bottom-color: rgba(255, 255, 255, 0.1);
}
.code-header .copy-button:hover {
background-color: rgba(255, 255, 255, 0.1);
}
}