getgrav / grav-premium-issues

Official Grav Premium Issues repository to report problems or ask questions regarding the Premium products offered.
https://getgrav.org/premium
7 stars 2 forks source link

[typhoon] Creating an inheritance theme breaks the entire site (compatibility with color-tools?) #423

Closed Fifis closed 3 months ago

Fifis commented 4 months ago

I created a child theme for Typhoone in Grav as per the official manual with bin/plugin devtools new-theme with inheritance, but it does not work without any extra changes from my side. After I activate the freshly created child theme, the entire web site breaks.

Screenshot_20240310_162815

The top error says:

 TypeError
Mexitek\PHPColors\Color::__construct(): Argument #1 ($hex) must be of type string, null given,
called in /home/kostyrt/kostyrkalu/user/plugins/color-tools/color-tools.php on line 65

The full error stack is below:

Stack frames (60)
59
TypeError
…/user/plugins/color-tools/vendor/mexitek/phpcolors/src/Mexitek/PHPColors/Color.php45
58
Mexitek\PHPColors\Color __construct
…/user/plugins/color-tools/color-tools.php65
57
Grav\Plugin\ColorToolsPlugin Grav\Plugin\{closure}
…/cache/twig/5a/5adf4e221a9dec9a4ef50b79234d048a7c79eb80d8e951472641794cb2ea5c83.php43
56
__TwigTemplate_e11bfce419fe1364168a611f390d408359845ef51d7cf6fc09d45fb8674e3a65 doDisplay
…/vendor/twig/twig/src/Template.php453
55
Twig\Template displayWithErrorHandling
…/vendor/twig/twig/src/Template.php420
54
Twig\Template display
…/cache/twig/3a/3a0edfdcc864655d3f40bc3a951be7c964495168801cbd0af3465794ee7fc2f7.php58
53
__TwigTemplate_97cf83f05c60822cc1e4a741631cfce61025125240572b5eb078776b836ebefa doDisplay
…/vendor/twig/twig/src/Template.php453
52
Twig\Template displayWithErrorHandling
…/vendor/twig/twig/src/Template.php420
51
Twig\Template display
…/cache/twig/19/19b60d63c876f3bc66da80f8bd9a3d89a11d353c462b6c61349b8a2f53b57d39.php35
50
__TwigTemplate_f4175482842823b938ea20886a09b9c134f6ef2847ec15f59fef02ca0173b0b8 doDisplay
…/vendor/twig/twig/src/Template.php453
49
Twig\Template displayWithErrorHandling
…/vendor/twig/twig/src/Template.php420
48
Twig\Template display
…/vendor/twig/twig/src/Template.php432
47
Twig\Template render
…/vendor/twig/twig/src/TemplateWrapper.php47
46
Twig\TemplateWrapper render
…/vendor/twig/twig/src/Environment.php384
45
Twig\Environment render
…/system/src/Grav/Common/Twig/Twig.php448
44
Grav\Common\Twig\Twig processSite
…/system/src/Grav/Common/Service/OutputServiceProvider.php36
43
Grav\Common\Service\OutputServiceProvider Grav\Common\Service\{closure}
…/vendor/pimple/pimple/src/Pimple/Container.php122
42
Pimple\Container offsetGet
…/system/src/Grav/Common/Processors/RenderProcessor.php40
41
Grav\Common\Processors\RenderProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
40
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
39
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php38
38
Grav\Common\Processors\DebuggerAssetsProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
37
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
36
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/PagesProcessor.php113
35
Grav\Common\Processors\PagesProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
34
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
33
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/TwigProcessor.php38
32
Grav\Common\Processors\TwigProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
31
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
30
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/AssetsProcessor.php39
29
Grav\Common\Processors\AssetsProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
28
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
27
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/SchedulerProcessor.php40
26
Grav\Common\Processors\SchedulerProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
25
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
24
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/BackupsProcessor.php39
23
Grav\Common\Processors\BackupsProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
22
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
21
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/TasksProcessor.php69
20
Grav\Common\Processors\TasksProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
19
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
18
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/RequestProcessor.php64
17
Grav\Common\Processors\RequestProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
16
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
15
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/ThemesProcessor.php38
14
Grav\Common\Processors\ThemesProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
13
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
12
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/PluginsProcessor.php39
11
Grav\Common\Processors\PluginsProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
10
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
9
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/InitializeProcessor.php130
8
Grav\Common\Processors\InitializeProcessor Grav\Common\Processors\{closure}
…/system/src/Grav/Common/Debugger.php546
7
Grav\Common\Debugger profile
…/system/src/Grav/Common/Processors/InitializeProcessor.php129
6
Grav\Common\Processors\InitializeProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
5
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
4
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Middlewares/MultipartRequestSupport.php40
3
Grav\Framework\RequestHandler\Middlewares\MultipartRequestSupport process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
2
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
1
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Grav.php312
0
Grav\Common\Grav process
…/index.php47
rhukster commented 3 months ago

For Typhoon there are some additional steps as outlined here: https://getgrav.org/premium/typhoon/docs#additional-steps-for-inheriting-themes

Fifis commented 3 months ago

Thank you for the link. I did the following:

The first run yielded (ignoring 2 critical severity vulnerabilities):

~/kostyrkalu/user/themes/typhoon $ npm update

added 39 packages, removed 8 packages, changed 26 packages, and audited 136 packages in 9s

The second run yielded:

~/kostyrkalu/user/themes/avktheme $ npm update

changed 2 packages, and audited 137 packages in 3s

And there seems to be something wrong with Tailwind:

npm view
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/postcss8-tailwind - Not found
npm ERR! 404 
npm ERR! 404  'postcss8-tailwind@*' is not in this registry.
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in: /homez.1951/kostyrt/.npm/_logs/2024-03-20T20_54_23_248Z-debug-0.log

Strangely enough, this folder has some logs from earlier attempts, but not 2024-03-20T20_54_23_248Z-debug-0.log. It is nowhere to be seen...

At the end of the day, after I followed all these 4 extra steps, as in the manual, still a similar-looking stack after theme activation pops up – with the difference that now, frame 29 reports the exact same Tailwind problem:

 TypeError
Mexitek\PHPColors\Color::__construct(): Argument #1 ($hex) must be of type string, null given, called in /home/kostyrt/kostyrkalu/user/plugins/color-tools/color-tools.php on line 65

Stack frames (60)
59
TypeError
…/user/plugins/color-tools/vendor/mexitek/phpcolors/src/Mexitek/PHPColors/Color.php45
58
Mexitek\PHPColors\Color __construct
…/user/plugins/color-tools/color-tools.php65
57
Grav\Plugin\ColorToolsPlugin Grav\Plugin\{closure}
…/cache/twig/5a/5adf4e221a9dec9a4ef50b79234d048a7c79eb80d8e951472641794cb2ea5c83.php43
56
__TwigTemplate_e11bfce419fe1364168a611f390d408359845ef51d7cf6fc09d45fb8674e3a65 doDisplay
…/vendor/twig/twig/src/Template.php453
55
Twig\Template displayWithErrorHandling
…/vendor/twig/twig/src/Template.php420
54
Twig\Template display
…/cache/twig/3a/3a0edfdcc864655d3f40bc3a951be7c964495168801cbd0af3465794ee7fc2f7.php58
53
__TwigTemplate_97cf83f05c60822cc1e4a741631cfce61025125240572b5eb078776b836ebefa doDisplay
…/vendor/twig/twig/src/Template.php453
52
Twig\Template displayWithErrorHandling
…/vendor/twig/twig/src/Template.php420
51
Twig\Template display
…/cache/twig/19/19b60d63c876f3bc66da80f8bd9a3d89a11d353c462b6c61349b8a2f53b57d39.php35
50
__TwigTemplate_f4175482842823b938ea20886a09b9c134f6ef2847ec15f59fef02ca0173b0b8 doDisplay
…/vendor/twig/twig/src/Template.php453
49
Twig\Template displayWithErrorHandling
…/vendor/twig/twig/src/Template.php420
48
Twig\Template display
…/vendor/twig/twig/src/Template.php432
47
Twig\Template render
…/vendor/twig/twig/src/TemplateWrapper.php47
46
Twig\TemplateWrapper render
…/vendor/twig/twig/src/Environment.php384
45
Twig\Environment render
…/system/src/Grav/Common/Twig/Twig.php454
44
Grav\Common\Twig\Twig processSite
…/system/src/Grav/Common/Service/OutputServiceProvider.php36
43
Grav\Common\Service\OutputServiceProvider Grav\Common\Service\{closure}
…/vendor/pimple/pimple/src/Pimple/Container.php122
42
Pimple\Container offsetGet
…/system/src/Grav/Common/Processors/RenderProcessor.php40
41
Grav\Common\Processors\RenderProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
40
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
39
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php38
38
Grav\Common\Processors\DebuggerAssetsProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
37
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
36
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/PagesProcessor.php113
35
Grav\Common\Processors\PagesProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
34
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
33
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/TwigProcessor.php38
32
Grav\Common\Processors\TwigProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
31
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
30
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/AssetsProcessor.php39
29
Grav\Common\Processors\AssetsProcesnpm view
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/postcss8-tailwind - Not found
npm ERR! 404 
npm ERR! 404  'postcss8-tailwind@*' is not in this registry.
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in: /homez.1951/kostyrt/.npm/_logs/2024-03-20T20_54_23_248Z-debug-0.log
estHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
27
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/SchedulerProcessor.php40
26
Grav\Common\Processors\SchedulerProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
25
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
24
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/BackupsProcessor.php39
23
Grav\Common\Processors\BackupsProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
22
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
21
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/TasksProcessor.php69
20
Grav\Common\Processors\TasksProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
19
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
18
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/RequestProcessor.php64
17
Grav\Common\Processors\RequestProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
16
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
15
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/ThemesProcessor.php38
14
Grav\Common\Processors\ThemesProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
13
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
12
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/PluginsProcessor.php39
11
Grav\Common\Processors\PluginsProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
10
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
9
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Processors/InitializeProcessor.php130
8
Grav\Common\Processors\InitializeProcessor Grav\Common\Processors\{closure}
…/system/src/Grav/Common/Debugger.php546
7
Grav\Common\Debugger profile
…/system/src/Grav/Common/Processors/InitializeProcessor.php129
6
Grav\Common\Processors\InitializeProcessor process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
5
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
4
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/MiddlewaMaybe I did something
Grav\Framework\RequestHandler\Middlewares\MultipartRequestSupport process
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php50
2
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php62
1
Grav\Framework\RequestHandler\RequestHandler handle
…/system/src/Grav/Common/Grav.php312
0
Grav\Common\Grav process
…/index.php47

Screenshot_20240320_215635

How can this be diagnosed further?

lic0san commented 3 months ago

I am also using Typhoon theme inheritance, and I experienced this issue when first setting it up. It appears devtools poorly handles quotes when generating the new theme.yaml :

...
colors:     
  text_style: 'text-gray-600 dark:text-gray-400'            
  brightness_lighter: '20'                                          
  brightness_darker: '20'                                      
  primary: '#3893F8'        
...

Replacing all ' occurrences in the file by actual simple quotes ' quickly fixed the issue.

Fifis commented 3 months ago

@lic0san Thank you, problem solved! Probably we should report it to the main Grav repository / devtools issue list.