UNPKG

@rtdui/tailwind-plugin

Version:

tailwind plugin for Rtdui components

352 lines (306 loc) 9.24 kB
/** * Atom One theme for prism.js: https://github.com/PrismJS/prism-themes/blob/master/themes/prism-one-light.css * Based on Atom's One Light theme: https://github.com/atom/atom/tree/master/packages/one-light-syntax * * extra: also added the style required by rehype-prism-plus */ :root { --prism-color-1: hsl(230, 8%, 24%); /* pre color */ --prism-color-2: hsl(230, 1%, 98%); /* pre bg */ --prism-color-3: hsl(230, 1%, 90%); /* selection bg */ --prism-color-4: hsl(230, 4%, 64%); /* comment color */ --prism-color-5: hsl(230, 8%, 24%); /* punctuation color */ --prism-color-6: hsl(301, 63%, 40%); /* keyword color */ --prism-color-7: hsl(5, 74%, 59%); /* symbol color */ --prism-color-8: hsl(198, 99%, 37%); /* url color */ --prism-color-9: hsl(119, 34%, 47%); /* attr-value color */ --prism-color-11: hsl(35, 99%, 36%); /* attr-name color */ --prism-color-12: hsl(221, 87%, 60%); /* variable name color */ --prism-color-13: hsl(344, 84%, 43%); /* template-string color */ /* 插件 */ --prism-color-16: hsl(230, 6%, 44%); /** line-number color */ --prism-color-17: hsla(230, 8%, 24%, 0.05); /** highlight-line bg */ --prism-color-20: hsla(353, 100%, 66%, 0.15); /** diff-deleted line bg */ --prism-color-22: hsla(137, 100%, 55%, 0.15); /** diff-inserted line bg */ } [data-theme="dark"] { --prism-color-1: hsl(220, 14%, 71%); --prism-color-2: hsl(220, 13%, 18%); --prism-color-3: hsl(220, 13%, 28%); --prism-color-4: hsl(220, 10%, 40%); --prism-color-5: hsl(220, 14%, 71%); --prism-color-6: hsl(286, 60%, 67%); --prism-color-7: hsl(355, 65%, 65%); --prism-color-8: hsl(187, 47%, 55%); --prism-color-9: hsl(95, 38%, 62%); --prism-color-11: hsl(29, 54%, 61%); --prism-color-12: hsl(207, 82%, 66%); --prism-color-13: hsl(5, 48%, 51%); /* 插件 */ --prism-color-16: hsl(220, 9%, 55%); --prism-color-17: hsla(220, 100%, 80%, 0.04); --prism-color-20: hsla(353, 100%, 66%, 0.15); --prism-color-22: hsla(137, 100%, 55%, 0.15); } @media (prefers-color-scheme: dark) { :root { --prism-color-1: hsl(220, 14%, 71%); --prism-color-2: hsl(220, 13%, 18%); --prism-color-3: hsl(220, 13%, 28%); --prism-color-4: hsl(220, 10%, 40%); --prism-color-5: hsl(220, 14%, 71%); --prism-color-6: hsl(286, 60%, 67%); --prism-color-7: hsl(355, 65%, 65%); --prism-color-8: hsl(187, 47%, 55%); --prism-color-9: hsl(95, 38%, 62%); --prism-color-11: hsl(29, 54%, 61%); --prism-color-12: hsl(207, 82%, 66%); --prism-color-13: hsl(5, 48%, 51%); /* 插件 */ --prism-color-16: hsl(220, 9%, 55%); --prism-color-17: hsla(220, 100%, 80%, 0.04); --prism-color-20: hsla(353, 100%, 66%, 0.15); --prism-color-22: hsla(137, 100%, 55%, 0.15); } [data-theme="light"] { --prism-color-1: hsl(230, 8%, 24%); /* pre color */ --prism-color-2: hsl(230, 1%, 98%); /* pre bg */ --prism-color-3: hsl(230, 1%, 90%); /* selection bg */ --prism-color-4: hsl(230, 4%, 64%); /* comment color */ --prism-color-5: hsl(230, 8%, 24%); /* punctuation color */ --prism-color-6: hsl(301, 63%, 40%); /* keyword color */ --prism-color-7: hsl(5, 74%, 59%); /* symbol color */ --prism-color-8: hsl(198, 99%, 37%); /* url color */ --prism-color-9: hsl(119, 34%, 47%); /* attr-value color */ --prism-color-11: hsl(35, 99%, 36%); /* attr-name color */ --prism-color-12: hsl(221, 87%, 60%); /* variable name color */ --prism-color-13: hsl(344, 84%, 43%); /* template-string color */ /* 插件 */ --prism-color-16: hsl(230, 6%, 44%); /** line-number color */ --prism-color-17: hsla(230, 8%, 24%, 0.05); /** highlight-line bg */ --prism-color-20: hsla(353, 100%, 66%, 0.15); /** diff-deleted line bg */ --prism-color-22: hsla(137, 100%, 55%, 0.15); /** diff-inserted line bg */ } } pre[class*="language-"] { background-color: var(--prism-color-2) !important; color: var(--prism-color-1) !important; font-family: "Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace; direction: ltr; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; line-height: 1.5; tab-size: 2; hyphens: none; } /* Selection */ pre[class*="language-"] *::-moz-selection { background: var(--prism-color-3); color: inherit; } pre[class*="language-"] *::selection { background: var(--prism-color-3); color: inherit; } /* Code blocks */ pre[class*="language-"] { padding: 1.5rem 1rem; margin: 0.5em 0; overflow: auto; border-radius: 0.3em; position: relative; } /* lang indicator */ pre[data-language]:not([data-processed], [data-no-lang-indicator])::before { content: attr(data-language); position: absolute; right: 0; top: 0; padding: 0 0.25rem; background-color: var(--color-base-300); color: var(--color-gray-500); } /* Inline code */ :not(pre) > code[class*="language-"] { padding: 0.2em 0.3em; border-radius: 0.3em; white-space: normal; } .token.comment, .token.prolog, .token.cdata { color: var(--prism-color-4); } .token.doctype, .token.punctuation, .token.entity { color: var(--prism-color-5); } .token.attr-name, .token.class-name, .token.maybe-class-name, .token.boolean, .token.constant, .token.number, .token.atrule { color: var(--prism-color-11); } .token.keyword { color: var(--prism-color-6); } .token.property, .token.tag, .token.symbol, .token.deleted, .token.important { color: var(--prism-color-7); } .token.selector, .token.string, .token.char, .token.builtin, .token.inserted, .token.regex, .token.attr-value, .token.attr-value > .token.punctuation { color: var(--prism-color-9); } .token.variable, .token.operator, .token.function { color: var(--prism-color-12); } .token.url { color: var(--prism-color-8); } /* HTML overrides */ .token.attr-value > .token.punctuation.attr-equals, .token.special-attr > .token.attr-value > .token.value.css { color: var(--prism-color-5); } /* CSS overrides */ .language-css .token.selector { color: var(--prism-color-7); } .language-css .token.property { color: var(--prism-color-5); } .language-css .token.function, .language-css .token.url > .token.function { color: var(--prism-color-8); } .language-css .token.url > .token.string.url { color: var(--prism-color-9); } .language-css .token.important, .language-css .token.atrule .token.rule { color: var(--prism-color-6); } /* JS overrides */ .language-javascript .token.operator { color: var(--prism-color-6); } .language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation { color: var(--prism-color-13); } /* JSON overrides */ .language-json .token.operator { color: var(--prism-color-5); } .language-json .token.null.keyword { color: var(--prism-color-11); } /* MD overrides */ .language-markdown .token.url, .language-markdown .token.url > .token.operator, .language-markdown .token.url-reference.url > .token.string { color: var(--prism-color-5); } .language-markdown .token.url > .token.content { color: var(--prism-color-12); } .language-markdown .token.url > .token.url, .language-markdown .token.url-reference.url { color: var(--prism-color-8); } .language-markdown .token.blockquote.punctuation, .language-markdown .token.hr.punctuation { color: var(--prism-color-4); font-style: italic; } .language-markdown .token.code-snippet { color: var(--prism-color-9); } .language-markdown .token.bold .token.content { color: var(--prism-color-11); } .language-markdown .token.italic .token.content { color: var(--prism-color-6); } .language-markdown .token.strike .token.content, .language-markdown .token.strike .token.punctuation, .language-markdown .token.list.punctuation, .language-markdown .token.title.important > .token.punctuation { color: var(--prism-color-7); } /* General */ .token.bold { font-weight: bold; } .token.comment, .token.italic { font-style: italic; } .token.entity { cursor: help; } .token.namespace { opacity: 0.8; } /* #region rehype-prism-plus */ pre { overflow-x: auto; } /** * Inspired by gatsby remark prism - https://www.gatsbyjs.com/plugins/gatsby-remark-prismjs/ * 1. Make the element just wide enough to fit its content. * 2. Always fill the visible space in .code-highlight. */ .code-highlight { float: left; /* 1 */ min-width: 100%; /* 2 */ } .code-line { display: block; padding-left: 1em; padding-right: 1em; margin-left: -1em; margin-right: -1em; border-left: 2px solid transparent; /* Set placeholder for highlight accent border color to transparent */ } .code-line.inserted { background-color: var(--prism-color-22); /* Set inserted line (+) color */ } .code-line.deleted { background-color: var(--prism-color-20); /* Set deleted line (-) color */ } .highlight-line { background-color: var(--prism-color-17); /* Set highlight bg color */ border-left: 2px solid var(--prism-color-8); /* Set highlight accent border color */ } .line-number::before { display: inline-block; width: 1rem; text-align: right; margin-right: 1em; margin-left: -0.5em; color: var(--prism-color-16); /* Line number color */ content: attr(line); } /* #endregion rehype-prism-plus */