Просмотр исходного кода

Merge pull request #8395 from weseek/support/138272-customtheme-wood

support: New Wood
Yuki Takei 2 лет назад
Родитель
Сommit
9d5050db40

BIN
packages/preset-themes/public/images/wood/wood-navbar.jpg


BIN
packages/preset-themes/public/images/wood/wood.jpg


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
packages/preset-themes/public/images/wood/wood.svg


+ 227 - 188
packages/preset-themes/src/styles/wood.scss

@@ -1,197 +1,236 @@
-@use '@growi/core/scss/bootstrap/init' as bs;
-
-@use './variables' as var;
-@use './theme/mixins/page-editor-mode-manager';
-@use './theme/hsl-functions' as hsl;
-
-.growi:not(.login-page) {
-  // add background-image
-  .page-editor-preview-container {
-    background-image: url('../images/wood/wood.jpg');
-    background-attachment: fixed;
-    background-position: center center;
-    background-size: cover;
-  }
-}
+:root[data-bs-theme] {
+  @import '@growi/core/scss/bootstrap/init-stage-1';
+  @import '@growi/core/scss/bootstrap/theming/variables';
+  @import '@growi/core/scss/bootstrap/theming/utils/color-palette';
 
 
-.growi.login-page {
-  .page-wrapper {
-    background-image: url('../images/wood/wood.jpg');
-    background-attachment: fixed;
-    background-position: center center;
-    background-size: cover;
-  }
-}
+  $primary: #A77E21;
+  $highlight: #967428;
 
 
-//== Light Mode
-//
-:root[data-bs-theme='light'] {
-  --primary: hsl(var(--primary-hs),var(--primary-l)) !important;
-  --primary-hs: 55,31%;
-  --primary-l: 52%;
-  --secondary: hsl(var(--secondary-hs),var(--secondary-l)) !important;
-  --secondary-hs: 208,7%;
-  --secondary-l: 46%;
-  --themecolor: hsl(var(--themecolor-hs),var(--themecolor-l));
-  --themecolor-hs: 53,32%;
-  --themecolor-l: 60%;
-
-  // Background colors
-  --bgcolor-global: hsl(var(--bgcolor-global-hs),var(--bgcolor-global-l));
-  --bgcolor-global-hs: 0,0%;
-  --bgcolor-global-l: 100%;
-  --bgcolor-card: #ece8de;
-  --bgcolor-blinked-section: #{hsl.alpha(var(--primary),30%)};
-  --bgcolor-keyword-highlighted: #{var.$grw-marker-blue};
-
-  // Font colors
-  --color-global: hsl(var(--color-global-hs),var(--color-global-l));
-  --color-global-hs: 42,86%;
-  --color-global-l: 14%;
-  --color-reversal: #fffffc;
-  --color-link: hsl(var(--color-link-hs),var(--color-link-l));
-  --color-link-hs: 44,93%;
-  --color-link-l: 32%;
-  --color-link-hover: #{hsl.lighten(var(--color-link), 10%)};
-  --color-link-wiki: var(--color-link);
-  --color-link-wiki-hs: var(--color-link-hs);
-  --color-link-wiki-l: var(--color-link-l);
-  --color-link-wiki-hover: #{hsl.lighten(var(--color-link), 10%)};
-  --color-link-nabvar: #a7a7a7;
-  --color-search: white;
-
-  // Inline code
-  --bgcolor-inline-code: #f5f3ee;; //optional
-  // --color-inline-code: # !default;
-  --bordercolor-inline-code: var(--themecolor); //optional
-
-  // List Group colors
-  // --color-list: var(--color-global);
-  --bgcolor-list: transparent;
-  --color-list-hover: #{bs.$gray-100};
-  --bgcolor-list-hover: #{hsl.lighten(var(--primary), 40%)};
-  // --color-list-active: var(--color-reversal);
-  --bgcolor-list-active: #{hsl.lighten(var(--primary), 30%)};
-
-  // Table colors
-  // --color-table: #; // optional
-  // --bgcolor-table: #; // optional
-  --border-color-table: #{bs.$gray-400}; // optional
-  // --color-table-hover: #; // optional
-  // --bgcolor-table-hover: #; // optional
-
-  // Navbar
-  --bgcolor-navbar: hsl(var(--bgcolor-navbar-hs),var(--bgcolor-navbar-l));
-  --bgcolor-navbar-hs: 0,1%;
-  --bgcolor-navbar-l: 16%;
-  --bgcolor-search-top-dropdown: var(--themecolor);
-  --bgcolor-search-top-dropdown-hs: var(--themecolor-hs);
-  --bgcolor-search-top-dropdown-l: var(--themecolor-l);
-  --border-image-navbar: linear-gradient(to right, var(--themecolor) 0%, #{hsl.darken(var(--themecolor), 20%)} 100%);
-
-  // Logo colors
-  --bgcolor-logo: #{hsl.darken(var(--themecolor), 10%)};
-  --fillcolor-logo-mark: #{lighten(desaturate(#b9b177, 50%), 50%)}; // Icon colors
-  --color-editor-icons: var(--color-global);
-
-  // Sidebar
-  --bgcolor-sidebar: var(--themecolor);
-  --bgcolor-sidebar-hs: var(--themecolor-hs);
-  --bgcolor-sidebar-l: var(--themecolor-l);
-
-  // Sidebar contents
-  --color-sidebar-context: hsl(var(--color-sidebar-context-hs),var(--color-sidebar-context-l));
-  --color-sidebar-context-hs: 44,93%;
-  --color-sidebar-context-l: 32%;
-  --bgcolor-sidebar-context: #{hsl.lighten(var(--themecolor), 38%)};
-  --bgcolor-sidebar-context-hs: var(--themecolor-hs);
-  --bgcolor-sidebar-context-l: calc(var(--themecolor-l) + 38%);
-
-  // Sidebar list group
-  --bgcolor-sidebar-list-group: rgba(#f7f5f1, 0.5);
-
-  // Sidebar resize button
-  --color-resize-button: white;
-  --bgcolor-resize-button: var(--themecolor);
-  --bgcolor-resize-button-hs: var(--themecolor-hs);
-  --bgcolor-resize-button-l: var(--themecolor-l);
-  --color-resize-button-hover: var(--color-reversal);
-  --bgcolor-resize-button-hover: #{hsl.lighten(var(--bgcolor-resize-button), 5%)};
-
-  // Border colors
-  --border-color-theme: #{bs.$gray-300}; // former: `$navbar-border: $gray-300;`
-  --bordercolor-inline-code: #ccc8c8; // optional
-
-  // Dropdown colors
-  --bgcolor-dropdown-link-active: #{var.$growi-blue};
-
-  // admin theme box
-  --color-theme-color-box: #{hsl.lighten(var(--primary), 20%)};
-
-  // alert
-  --color-alert: var(--color-reversal);
-
-  // Subnavigation
-  --bgcolor-subnav: hsl(var(--bgcolor-subnav-hs),var(--bgcolor-subnav-l));
-  --bgcolor-subnav-hs: var(--bgcolor-global-hs);
-  --bgcolor-subnav-l: calc(var(--bgcolor-global-l) - 3%);
+  @include generate-color-palette('primary', $primary, black, white);
+  @include generate-color-palette('highlight', $highlight, black, white);
 
 
-  &, body {
-    background-image: url('../images/wood/wood.jpg');
-    background-attachment: fixed;
-    background-position: 50%;
-    background-size: cover;
-  }
+  $body-color:                mix(#967428, black, 60%);
+  $body-bg:                   #FFFFF5;
 
 
-  /*
-   * Modal
-   */
-  .modal-dialog .modal-header.bg-primary {
-    background-image: url('../images/wood/wood-navbar.jpg');
-  }
+  $body-secondary-color:      rgba($body-color, .75);
+  $body-secondary-bg:         $gray-200;
 
 
-  // Sidebar
-  .grw-sidebar {
-    div[data-testid='GlobalNavigation'] {
-      background-image: url('../images/wood/wood-navbar.jpg');
-
-      button,
-      .btn {
-        border: none;
-      }
-    }
-    div[data-testid='ContextualNavigation'] {
-      > div {
-        background-color: rgba(white, 0.6);
-        background-image: url('../images/wood/wood-navbar.jpg');
-        background-blend-mode: lighten;
-      }
-    }
-  }
+  $body-tertiary-color:       rgba($body-color, .5);
+  $body-tertiary-bg:          $gray-100;
 
 
-  // login and register
-  .nologin {
-    background: unset !important;
-
-    .page-wrapper{
-      .nologin-header,
-      .nologin-dialog {
-        background-color: rgba(black, 0.1);
-        a.link-switch {
-          color: rgba(black, 0.5);
-        }
-      }
-
-      .grw-external-auth-form {
-        border-color: #aaa;
-      }
-    }
-  }
+  $border-color:              $gray-300;
+
+  $link-color:                $gray-800;
+
+  @import 'bootstrap/scss/variables';
+  @import 'bootstrap/scss/variables-dark';
+
+  @import '@growi/core/scss/bootstrap/init-stage-2';
 
 
-  // Button
-  .btn-group.grw-page-editor-mode-manager {
-    .btn.btn-outline-primary {
-      @include page-editor-mode-manager.btn-page-editor-mode-manager(#{hsl.darken(var(--primary), 30%)}, #{hsl.lighten(var(--primary), 15%)}, #{hsl.lighten(var(--primary), 25%)});
-    }
+  @import '@growi/core/scss/bootstrap/theming/apply-light';
+
+  --grw-wiki-link-color-rgb: var(--grw-primary-500-rgb);
+  --grw-wiki-link-hover-color-rgb: var(--grw-primary-600-rgb);
+
+  &, body {
+    background-image: url('../images/wood/wood.svg');
   }
   }
 }
 }
+
+// @use '@growi/core/scss/bootstrap/init' as bs;
+
+// @use './variables' as var;
+// @use './theme/mixins/page-editor-mode-manager';
+// @use './theme/hsl-functions' as hsl;
+
+// .growi:not(.login-page) {
+//   // add background-image
+//   .page-editor-preview-container {
+//     background-image: url('../images/wood/wood.jpg');
+//     background-attachment: fixed;
+//     background-position: center center;
+//     background-size: cover;
+//   }
+// }
+
+// .growi.login-page {
+//   .page-wrapper {
+//     background-image: url('../images/wood/wood.jpg');
+//     background-attachment: fixed;
+//     background-position: center center;
+//     background-size: cover;
+//   }
+// }
+
+// //== Light Mode
+// //
+// :root[data-bs-theme='light'] {
+//   --primary: hsl(var(--primary-hs),var(--primary-l)) !important;
+//   --primary-hs: 55,31%;
+//   --primary-l: 52%;
+//   --secondary: hsl(var(--secondary-hs),var(--secondary-l)) !important;
+//   --secondary-hs: 208,7%;
+//   --secondary-l: 46%;
+//   --themecolor: hsl(var(--themecolor-hs),var(--themecolor-l));
+//   --themecolor-hs: 53,32%;
+//   --themecolor-l: 60%;
+
+//   // Background colors
+//   --bgcolor-global: hsl(var(--bgcolor-global-hs),var(--bgcolor-global-l));
+//   --bgcolor-global-hs: 0,0%;
+//   --bgcolor-global-l: 100%;
+//   --bgcolor-card: #ece8de;
+//   --bgcolor-blinked-section: #{hsl.alpha(var(--primary),30%)};
+//   --bgcolor-keyword-highlighted: #{var.$grw-marker-blue};
+
+//   // Font colors
+//   --color-global: hsl(var(--color-global-hs),var(--color-global-l));
+//   --color-global-hs: 42,86%;
+//   --color-global-l: 14%;
+//   --color-reversal: #fffffc;
+//   --color-link: hsl(var(--color-link-hs),var(--color-link-l));
+//   --color-link-hs: 44,93%;
+//   --color-link-l: 32%;
+//   --color-link-hover: #{hsl.lighten(var(--color-link), 10%)};
+//   --color-link-wiki: var(--color-link);
+//   --color-link-wiki-hs: var(--color-link-hs);
+//   --color-link-wiki-l: var(--color-link-l);
+//   --color-link-wiki-hover: #{hsl.lighten(var(--color-link), 10%)};
+//   --color-link-nabvar: #a7a7a7;
+//   --color-search: white;
+
+//   // Inline code
+//   --bgcolor-inline-code: #f5f3ee;; //optional
+//   // --color-inline-code: # !default;
+//   --bordercolor-inline-code: var(--themecolor); //optional
+
+//   // List Group colors
+//   // --color-list: var(--color-global);
+//   --bgcolor-list: transparent;
+//   --color-list-hover: #{bs.$gray-100};
+//   --bgcolor-list-hover: #{hsl.lighten(var(--primary), 40%)};
+//   // --color-list-active: var(--color-reversal);
+//   --bgcolor-list-active: #{hsl.lighten(var(--primary), 30%)};
+
+//   // Table colors
+//   // --color-table: #; // optional
+//   // --bgcolor-table: #; // optional
+//   --border-color-table: #{bs.$gray-400}; // optional
+//   // --color-table-hover: #; // optional
+//   // --bgcolor-table-hover: #; // optional
+
+//   // Navbar
+//   --bgcolor-navbar: hsl(var(--bgcolor-navbar-hs),var(--bgcolor-navbar-l));
+//   --bgcolor-navbar-hs: 0,1%;
+//   --bgcolor-navbar-l: 16%;
+//   --bgcolor-search-top-dropdown: var(--themecolor);
+//   --bgcolor-search-top-dropdown-hs: var(--themecolor-hs);
+//   --bgcolor-search-top-dropdown-l: var(--themecolor-l);
+//   --border-image-navbar: linear-gradient(to right, var(--themecolor) 0%, #{hsl.darken(var(--themecolor), 20%)} 100%);
+
+//   // Logo colors
+//   --bgcolor-logo: #{hsl.darken(var(--themecolor), 10%)};
+//   --fillcolor-logo-mark: #{lighten(desaturate(#b9b177, 50%), 50%)}; // Icon colors
+//   --color-editor-icons: var(--color-global);
+
+//   // Sidebar
+//   --bgcolor-sidebar: var(--themecolor);
+//   --bgcolor-sidebar-hs: var(--themecolor-hs);
+//   --bgcolor-sidebar-l: var(--themecolor-l);
+
+//   // Sidebar contents
+//   --color-sidebar-context: hsl(var(--color-sidebar-context-hs),var(--color-sidebar-context-l));
+//   --color-sidebar-context-hs: 44,93%;
+//   --color-sidebar-context-l: 32%;
+//   --bgcolor-sidebar-context: #{hsl.lighten(var(--themecolor), 38%)};
+//   --bgcolor-sidebar-context-hs: var(--themecolor-hs);
+//   --bgcolor-sidebar-context-l: calc(var(--themecolor-l) + 38%);
+
+//   // Sidebar list group
+//   --bgcolor-sidebar-list-group: rgba(#f7f5f1, 0.5);
+
+//   // Sidebar resize button
+//   --color-resize-button: white;
+//   --bgcolor-resize-button: var(--themecolor);
+//   --bgcolor-resize-button-hs: var(--themecolor-hs);
+//   --bgcolor-resize-button-l: var(--themecolor-l);
+//   --color-resize-button-hover: var(--color-reversal);
+//   --bgcolor-resize-button-hover: #{hsl.lighten(var(--bgcolor-resize-button), 5%)};
+
+//   // Border colors
+//   --border-color-theme: #{bs.$gray-300}; // former: `$navbar-border: $gray-300;`
+//   --bordercolor-inline-code: #ccc8c8; // optional
+
+//   // Dropdown colors
+//   --bgcolor-dropdown-link-active: #{var.$growi-blue};
+
+//   // admin theme box
+//   --color-theme-color-box: #{hsl.lighten(var(--primary), 20%)};
+
+//   // alert
+//   --color-alert: var(--color-reversal);
+
+//   // Subnavigation
+//   --bgcolor-subnav: hsl(var(--bgcolor-subnav-hs),var(--bgcolor-subnav-l));
+//   --bgcolor-subnav-hs: var(--bgcolor-global-hs);
+//   --bgcolor-subnav-l: calc(var(--bgcolor-global-l) - 3%);
+
+//   &, body {
+//     background-image: url('../images/wood/wood.jpg');
+//     background-attachment: fixed;
+//     background-position: 50%;
+//     background-size: cover;
+//   }
+
+//   /*
+//    * Modal
+//    */
+//   .modal-dialog .modal-header.bg-primary {
+//     background-image: url('../images/wood/wood-navbar.jpg');
+//   }
+
+//   // Sidebar
+//   .grw-sidebar {
+//     div[data-testid='GlobalNavigation'] {
+//       background-image: url('../images/wood/wood-navbar.jpg');
+
+//       button,
+//       .btn {
+//         border: none;
+//       }
+//     }
+//     div[data-testid='ContextualNavigation'] {
+//       > div {
+//         background-color: rgba(white, 0.6);
+//         background-image: url('../images/wood/wood-navbar.jpg');
+//         background-blend-mode: lighten;
+//       }
+//     }
+//   }
+
+//   // login and register
+//   .nologin {
+//     background: unset !important;
+
+//     .page-wrapper{
+//       .nologin-header,
+//       .nologin-dialog {
+//         background-color: rgba(black, 0.1);
+//         a.link-switch {
+//           color: rgba(black, 0.5);
+//         }
+//       }
+
+//       .grw-external-auth-form {
+//         border-color: #aaa;
+//       }
+//     }
+//   }
+
+//   // Button
+//   .btn-group.grw-page-editor-mode-manager {
+//     .btn.btn-outline-primary {
+//       @include page-editor-mode-manager.btn-page-editor-mode-manager(#{hsl.darken(var(--primary), 30%)}, #{hsl.lighten(var(--primary), 15%)}, #{hsl.lighten(var(--primary), 25%)});
+//     }
+//   }
+// }

+ 1 - 1
packages/preset-themes/vite.themes.config.ts

@@ -24,7 +24,7 @@ export default defineConfig(({ mode }) => {
           '/src/styles/mono-blue.scss',
           '/src/styles/mono-blue.scss',
           '/src/styles/nature.scss',
           '/src/styles/nature.scss',
           // '/src/styles/spring.scss',
           // '/src/styles/spring.scss',
-          // '/src/styles/wood.scss',
+          '/src/styles/wood.scss',
         ],
         ],
         output: {
         output: {
           assetFileNames: isProd
           assetFileNames: isProd

Некоторые файлы не были показаны из-за большого количества измененных файлов