solarized.scss 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. @charset "utf-8";
  2. // Solarized skin
  3. // ==============
  4. // Created by Sander Voerman <mailto:sander@savoerman.nl> using the Solarized
  5. // color scheme by Ethan Schoonover <https://ethanschoonover.com/solarized>.
  6. // This style sheet implements three options for the minima.skin setting:
  7. // "solarized-light" for light mode, "solarized-dark" for dark mode, and
  8. // "solarized" for light or dark mode depending on user preference.
  9. $sol-is-auto: true !default;
  10. $sol-is-dark: false !default;
  11. // Color scheme
  12. // ------------
  13. // The inline comments show the canonical L*a*b values for each color.
  14. //
  15. // Some colors were altered from the canonical scheme to comply with
  16. // WCAG-contrast criteria between foreground and background colors.
  17. $sol-base03: #002b36; // 15 -12 -12
  18. $sol-base02: #073642; // 20 -12 -12
  19. $sol-base01: #586e75; // 45 -07 -07
  20. $sol-base00: #4e626a; // original hex: #657b83 ; L*a*b: 50 -07 -07
  21. $sol-base0: #91a0a1; // original hex: #839496 ; L*a*b: 60 -06 -03
  22. $sol-base1: #93a1a1; // 65 -05 -02
  23. $sol-base2: #eee8d5; // 92 -00 10
  24. $sol-base3: #fdf6e3; // 97 00 10
  25. $sol-yellow: #b58900; // 60 10 65
  26. $sol-orange: #cb4b16; // 50 50 55
  27. $sol-red: #dc322f; // 50 65 45
  28. $sol-magenta: #d33682; // 50 65 -05
  29. $sol-violet: #6c71c4; // 50 15 -45
  30. $sol-blue: #268bd2; // 55 -10 -45
  31. $sol-cyan: #2aa198; // 60 -35 -05
  32. $sol-green: #859900; // 60 -20 65
  33. // Non-canonical; Derived to comply with WCAG-contrast criterion.
  34. $sol-light-blue: #469edd;
  35. $sol-light-blue2: #64a5ce;
  36. $sol-dark-blue: #2072ac;
  37. $sol-dark-blue2: #376a8b;
  38. // Mixed colors
  39. // ------------
  40. // While not part of the original Solarized base tones, these derived tones
  41. // are meant to replicate the visual style of the classic skin. They should
  42. // not be used in cases where sufficiently contrasting colors are needed.
  43. $sol-light-mix1: mix($sol-base1, $sol-base3);
  44. $sol-light-mix2: mix($sol-blue, $sol-base00);
  45. $sol-light-mix3: mix($sol-base2, $sol-base3);
  46. $sol-light-mix4: #e8e3d4; // custom mixture of `$sol-base1` and `$sol-base3`.
  47. $sol-dark-mix1: mix($sol-base01, $sol-base03);
  48. $sol-dark-mix2: mix($sol-blue, $sol-base0);
  49. $sol-dark-mix3: mix($sol-base02, $sol-base03);
  50. $sol-dark-mix4: #193843; // custom mixture of `$sol-base01` and `$sol-base03`.
  51. // Mode selection
  52. // --------------
  53. $sol-mono3: $sol-base3;
  54. $sol-mono2: $sol-base2;
  55. $sol-mono1: $sol-base1;
  56. $sol-mono00: $sol-base00;
  57. $sol-mono01: $sol-base01;
  58. $sol-mix1: $sol-light-mix1;
  59. $sol-mix2: $sol-light-mix2;
  60. $sol-mix3: $sol-light-mix3;
  61. $sol-mix4: $sol-light-mix4;
  62. $sol-mono1-dimmed: darken($sol-base1, 20%);
  63. $sol-link-color: $sol-dark-blue;
  64. $sol-link-visited: $sol-dark-blue2;
  65. $sol-mark-line-bgcolor: #ffffcc;
  66. @if $sol-is-dark {
  67. $sol-mono3: $sol-base03;
  68. $sol-mono2: $sol-base02;
  69. $sol-mono1: $sol-base01;
  70. $sol-mono00: $sol-base0;
  71. $sol-mono01: $sol-base1;
  72. $sol-mix1: $sol-dark-mix1;
  73. $sol-mix2: $sol-dark-mix2;
  74. $sol-mix3: $sol-dark-mix3;
  75. $sol-mix4: $sol-dark-mix4;
  76. $sol-mono1-dimmed: lighten($sol-base01, 16%);
  77. $sol-link-color: $sol-light-blue;
  78. $sol-link-visited: $sol-light-blue2;
  79. $sol-mark-line-bgcolor: #164145;
  80. }
  81. @if $sol-is-auto {
  82. :root {
  83. --solarized-mono3: #{$sol-base3};
  84. --solarized-mono2: #{$sol-base2};
  85. --solarized-mono1: #{$sol-base1};
  86. --solarized-mono00: #{$sol-base00};
  87. --solarized-mono01: #{$sol-base01};
  88. --solarized-mix1: #{$sol-light-mix1};
  89. --solarized-mix2: #{$sol-light-mix2};
  90. --solarized-mix3: #{$sol-light-mix3};
  91. --solarized-mix4: #{$sol-light-mix4};
  92. --solarized-mono1-dimmed: #{darken($sol-base1, 20%)};
  93. --solarized-link-color: #{$sol-dark-blue};
  94. --solarized-link-visited: #{$sol-dark-blue2};
  95. --solarized-mark-line-bg-color: #ffffcc;
  96. }
  97. @media (prefers-color-scheme: dark) {
  98. :root {
  99. --solarized-mono3: #{$sol-base03};
  100. --solarized-mono2: #{$sol-base02};
  101. --solarized-mono1: #{$sol-base01};
  102. --solarized-mono00: #{$sol-base0};
  103. --solarized-mono01: #{$sol-base1};
  104. --solarized-mix1: #{$sol-dark-mix1};
  105. --solarized-mix2: #{$sol-dark-mix2};
  106. --solarized-mix3: #{$sol-dark-mix3};
  107. --solarized-mix4: #{$sol-dark-mix4};
  108. --solarized-mono1-dimmed: #{lighten($sol-base01, 16%)};
  109. --solarized-link-color: #{$sol-light-blue};
  110. --solarized-link-visited: #{$sol-light-blue2};
  111. --solarized-mark-line-bg-color: #164145;
  112. }
  113. }
  114. $sol-mono3: var(--solarized-mono3);
  115. $sol-mono2: var(--solarized-mono2);
  116. $sol-mono1: var(--solarized-mono1);
  117. $sol-mono00: var(--solarized-mono00);
  118. $sol-mono01: var(--solarized-mono01);
  119. $sol-mix1: var(--solarized-mix1);
  120. $sol-mix2: var(--solarized-mix2);
  121. $sol-mix3: var(--solarized-mix3);
  122. $sol-mix4: var(--solarized-mix4);
  123. $sol-mono1-dimmed: var(--solarized-mono1-dimmed);
  124. $sol-link-color: var(--solarized-link-color);
  125. $sol-link-visited: var(--solarized-link-visited);
  126. $sol-mark-line-bgcolor: var(--solarized-mark-line-bg-color);
  127. }
  128. // Minima color variables
  129. // ----------------------
  130. $brand-color: $sol-mono1 !default;
  131. $brand-color-light: $sol-mix4 !default;
  132. $brand-color-dimmed: $sol-mono1-dimmed !default;
  133. $brand-color-dark: $sol-mono00 !default;
  134. $site-title-color: $sol-mono00 !default;
  135. $heading-color: $sol-mono01 !default;
  136. $text-color: $sol-mono00 !default;
  137. $background-color: $sol-mono3 !default;
  138. $code-background-color: $sol-mix3 !default;
  139. $link-base-color: $sol-link-color !default;
  140. $link-visited-color: $sol-link-visited !default;
  141. $link-hover-color: $sol-mono00 !default;
  142. $border-color-01: $brand-color-light !default;
  143. $border-color-02: $sol-mono1 !default;
  144. $border-color-03: $sol-mono00 !default;
  145. $table-text-color: $sol-mono00 !default;
  146. $table-zebra-color: $sol-mix3 !default;
  147. $table-header-bg-color: $sol-mono2 !default;
  148. $table-header-border: $sol-mix1 !default;
  149. $table-border-color: $sol-mix1 !default;
  150. // Syntax highlighting styles
  151. // --------------------------
  152. .highlight {
  153. .err { color: #fefeec; background-color: $sol-red } // Error
  154. .c { color: $sol-mono1 } // Comment
  155. .c1 { color: $sol-mono1 } // Comment.Single
  156. .cm { color: $sol-mono1 } // Comment.Multiline
  157. .cp { color: $sol-mono1 } // Comment.Preproc
  158. .cs { color: $sol-mono1; font-style: italic } // Comment.Special
  159. .gd { color: $sol-red } // Generic.Deleted
  160. .gd .x { color: $sol-red } // Generic.Deleted.Specific
  161. .ge { color: $sol-mono00; font-style: italic } // Generic.Emph
  162. .gh { color: $sol-mono1 } // Generic.Heading
  163. .gi { color: $sol-green } // Generic.Inserted
  164. .gi .x { color: $sol-green } // Generic.Inserted.Specific
  165. .go { color: $sol-mono00 } // Generic.Output
  166. .gp { color: $sol-mono00 } // Generic.Prompt
  167. .gr { color: $sol-red } // Generic.Error
  168. .gs { color: $sol-mono01; font-weight: bold } // Generic.Strong
  169. .gt { color: $sol-red } // Generic.Traceback
  170. .gu { color: $sol-mono1 } // Generic.Subheading
  171. .k { color: $sol-orange } // Keyword
  172. .kc { color: $sol-orange } // Keyword.Constant
  173. .kd { color: $sol-orange } // Keyword.Declaration
  174. .kp { color: $sol-orange } // Keyword.Pseudo
  175. .kr { color: $sol-orange } // Keyword.Reserved
  176. .kt { color: $sol-violet } // Keyword.Type
  177. .na { color: $sol-cyan } // Name.Attribute
  178. .nb { color: $sol-orange } // Name.Builtin
  179. .bp { color: $sol-blue } // Name.Builtin.Pseudo
  180. .nc { color: $sol-violet } // Name.Class
  181. .ne { color: $sol-violet } // Name.Exception
  182. .nf { color: $sol-blue } // Name.Function
  183. .ni { color: $sol-violet } // Name.Entity
  184. .nn { color: $sol-violet } // Name.Namespace
  185. .no { color: $sol-violet } // Name.Constant
  186. .nt { color: $sol-orange } // Name.Tag
  187. .nv { color: $sol-cyan } // Name.Variable
  188. .vc { color: $sol-cyan } // Name.Variable.Class
  189. .vg { color: $sol-cyan } // Name.Variable.Global
  190. .vi { color: $sol-cyan } // Name.Variable.Instance
  191. .o { color: $sol-green } // Operator
  192. .ow { color: $sol-green } // Operator.Word
  193. .m { color: $sol-violet } // Literal.Number
  194. .mf { color: $sol-violet } // Literal.Number.Float
  195. .mh { color: $sol-violet } // Literal.Number.Hex
  196. .mi { color: $sol-violet } // Literal.Number.Integer
  197. .il { color: $sol-violet } // Literal.Number.Integer.Long
  198. .mo { color: $sol-violet } // Literal.Number.Oct
  199. .s { color: $sol-magenta } // Literal.String
  200. .s1 { color: $sol-magenta } // Literal.String.Single
  201. .s2 { color: $sol-magenta } // Literal.String.Double
  202. .sb { color: $sol-magenta } // Literal.String.Backtick
  203. .sc { color: $sol-magenta } // Literal.String.Char
  204. .sd { color: $sol-magenta } // Literal.String.Doc
  205. .se { color: $sol-magenta } // Literal.String.Escape
  206. .sh { color: $sol-magenta } // Literal.String.Heredoc
  207. .si { color: $sol-magenta } // Literal.String.Interpol
  208. .sr { color: $sol-green } // Literal.String.Regex
  209. .ss { color: $sol-magenta } // Literal.String.Symbol
  210. .sx { color: $sol-magenta } // Literal.String.Other
  211. .w { color: $sol-mono1 } // Text.Whitespace
  212. .lineno, .gl { color: $sol-mono1 } // Line Number
  213. .hll { background-color: $sol-mark-line-bgcolor } // Marked-lines
  214. }