Sfoglia il codice sorgente

Add 主题颜色自定义化 & css bundle化

兔姬桑 4 anni fa
parent
commit
6341b421b3

+ 1 - 0
.gitignore

@@ -23,3 +23,4 @@ yarn-error.log
 _ide_helper_models.php
 _ide_helper.php
 .php_cs.cache
+node_modules/*

+ 1 - 1
app/Exceptions/Handler.php

@@ -53,7 +53,7 @@ class Handler extends ExceptionHandler
         Log::info('异常来源:'.get_class($exception));
 
         // 调试模式下记录错误详情
-        if (config('app.debug')) {
+        if (config('app.debug') || config('app.demo')) {
             Log::debug('来自链接:'.url()->full());
             Log::debug($exception);
         }

+ 11 - 0
config/theme.php

@@ -0,0 +1,11 @@
+<?php
+
+// 如何使用请参考 https://proxypanel.gitbook.io/wiki/page-modify#theme
+return [
+    'sidebar' => 'site-menubar-light',
+    'navbar'  => [
+        'inverse' => 'navbar-inverse',
+        'skin'    => 'bg-indigo-600',
+    ],
+    'skin'    => '',
+];

File diff suppressed because it is too large
+ 0 - 0
public/assets/bundle/app.min.css


+ 3 - 0
public/mix-manifest.json

@@ -0,0 +1,3 @@
+{
+    "/assets/bundle/app.min.css": "/assets/bundle/app.min.css"
+}

+ 4 - 4
resources/lang/en/auth.php

@@ -38,13 +38,13 @@ return [
         'get'          => 'Click to get the invitation code',
         'not_required' => 'No invitation code is required, you can register directly!',
     ],
-    'login'           => 'Login',
+    'login'           => 'Sign in',
     'logout'          => 'Logout',
     'maintenance'     => 'Maintain',
     'maintenance_tip' => 'Website under maintenance',
     'optional'        => 'Optional',
     'password'        => [
-        'forget'   => 'forget password?',
+        'forget'   => 'Forgot password?',
         'new'      => 'Enter a new password',
         'original' => 'Original Password',
         'reset'    => [
@@ -62,13 +62,13 @@ return [
         ],
     ],
     'register'        => [
-        'attribute' => 'Register',
+        'attribute' => 'Sign up',
         'code'      => 'Registration Code',
         'error'     => [
             'disable'  => 'Sorry, The registration function has been disabled',
             'throttle' => 'Anti-bots shield is active! Please do not send multiple register from at short amount of times!',
         ],
-        'promotion' => 'No account yet? Please go to',
+        'promotion' => 'Still no account? Please go to ',
         'failed'    => 'Registration failed, please try later',
         'success'   => 'Registration successfully',
     ],

+ 5 - 8
resources/views/_layout.blade.php

@@ -18,19 +18,13 @@
     <title>@yield('title')</title>
     <link href="{{asset('favicon.ico')}}" rel="shortcut icon apple-touch-icon">
     <!-- 样式表/Stylesheets -->
-    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
-    <link href="/assets/css/bootstrap-extend.min.css" rel="stylesheet">
-    <link href="/assets/css/site.min.css" rel="stylesheet">
-    <!-- 插件/Plugins -->
-    <link href="/assets/global/vendor/animsition/animsition.min.css" rel="stylesheet">
-    <link href="/assets/global/vendor/asscrollable/asScrollable.min.css" rel="stylesheet">
-    <link href="/assets/global/vendor/slidepanel/slidePanel.min.css" rel="stylesheet">
+    <link href="/assets/bundle/app.min.css" rel="stylesheet">
     <link href="https://cdnjs.loli.net/ajax/libs/flag-icon-css/3.5.0/css/flag-icon.min.css" rel="stylesheet"
           integrity="sha512-Cv93isQdFwaKBV+Z4X8kaVBYWHST58Xb/jVOcV9aRsGSArZsgAnFIhMpDoMDcFNoUtday1hdjn0nGp3+KZyyFw==" crossorigin="anonymous"/>
 @yield('layout_css')
 <!-- 字体/Fonts -->
     <link href="/assets/global/fonts/web-icons/web-icons.min.css" rel="stylesheet">
-    <link href="//fonts.loli.net/css?family=Roboto:300,400,500,300italic" rel="stylesheet">
+    <link href="https://fonts.loli.net/css?family=Roboto:300,400,500,300italic" rel="stylesheet">
     <!--[if lt IE 9]>
     <script src="https://cdnjs.loli.net/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"
             integrity="sha512-UDJtJXfzfsiPPgnI5S1000FPLBHMhvzAMX15I+qG2E2OAzC9P1JzUwJOfnypXiOH7MRPaqzhPbBGDNNj7zBfoA==" crossorigin="anonymous"></script>
@@ -44,6 +38,9 @@
     <script>
       Breakpoints();
     </script>
+    @if (config('theme.skin'))
+        <link id="skinStyle" href="/assets/css/skins/{{config('theme.skin')}}.min.css" rel="stylesheet" type="text/css">
+    @endif
 </head>
 
 <body class="animsition @yield('body_class')">

+ 2 - 2
resources/views/admin/layouts.blade.php

@@ -5,7 +5,7 @@
 @endsection
 @section('body_class', 'dashboard')
 @section('layout_content')
-    <nav class="site-navbar navbar navbar-default navbar-fixed-top navbar-mega navbar-inverse bg-indigo-600" role="navigation">
+    <nav class="site-navbar navbar navbar-default navbar-fixed-top navbar-mega {{config('theme.navbar.inverse')}} {{config('theme.navbar.skin')}}" role="navigation">
         <div class="navbar-header">
             <button type="button" class="navbar-toggler hamburger hamburger-close navbar-toggler-left hided" data-toggle="menubar">
                 <span class="sr-only">{{trans('common.toggle_action', ['action' => trans('common.function.navigation')])}}</span>
@@ -60,7 +60,7 @@
             </div>
         </div>
     </nav>
-    <div class="site-menubar site-menubar-light">
+    <div class="site-menubar {{config('theme.sidebar')}}">
         <div class="site-menubar-body">
             <ul class="site-menu" data-plugin="menu">
                 @can('admin.index')

+ 2 - 3
resources/views/user/layouts.blade.php

@@ -5,8 +5,7 @@
 @endsection
 @section('body_class', 'dashboard')
 @section('layout_content')
-    <nav class="site-navbar navbar navbar-default navbar-fixed-top navbar-mega navbar-inverse bg-indigo-600"
-         role="navigation">
+    <nav class="site-navbar navbar navbar-default navbar-fixed-top navbar-mega {{config('theme.navbar.inverse')}} {{config('theme.navbar.skin')}}" role="navigation">
         <div class="navbar-header">
             <button type="button" class="navbar-toggler hamburger hamburger-close navbar-toggler-left hided"
                     data-toggle="menubar">
@@ -86,7 +85,7 @@
             </div>
         </div>
     </nav>
-    <div class="site-menubar site-menubar-light">
+    <div class="site-menubar {{config('theme.sidebar')}}">
         <div class="site-menubar-body">
             <ul class="site-menu" data-plugin="menu">
                 <li class="site-menu-item {{request()->routeIs('home', 'profile' ,'article') ? 'active open' : ''}}">

+ 11 - 2
webpack.mix.js

@@ -11,5 +11,14 @@ const mix = require('laravel-mix');
  |
  */
 
-mix.js('resources/js/app.js', 'public/js')
-    .sass('resources/sass/app.scss', 'public/css');
+//css bundle
+mix.styles([
+  'public/assets/css/bootstrap.min.css',
+  'public/assets/css/bootstrap-ext  end.min.css',
+  'public/assets/css/site.min.css',
+  'public/assets/global/vendor/animsition/animsition.min.css',
+  'public/assets/global/vendor/asscrollable/asScrollable.min.css',
+  'public/assets/global/vendor/slidepanel/slidePanel.min.css',
+], 'public/assets/bundle/app.min.css').options({
+  processCssUrls: false,
+});

Some files were not shown because too many files changed in this diff