themesberg / volt-bootstrap-5-dashboard

Free and open source Bootstrap 5 Admin Dashboard Template with vanilla Javascript
https://themesberg.com/docs/volt-bootstrap-5-dashboard/getting-started/quick-start/
MIT License
2.61k stars 302 forks source link

[FEATURE] Make variables overwritable #29

Closed jonnsn closed 3 years ago

jonnsn commented 3 years ago

Make all variables overwritable without editing the source of volt by setting them to default.

This way one can add a custom scss file before loading volt.scss and change everything needed there. For whom it may be easier to just edit the volt files should still be able to do so.

Is there any particular reason why they were not?

zoltanszogyenyi commented 3 years ago

Thanks, @jonnsn for the effort. The _variables.scss file should normally be the one that overrides the variables file that comes by default from Bootstrap. I believe this is more of a question of whether you want to keep changing the variables in the original file (the volt variables.scss one), or create a new one for your own.

I'll give it a thought, and perhaps use the default method after all. Thanks for the contribution either way!

jonnsn commented 3 years ago

Thanks for taking a look and your feedback!

The _variables.scss file should normally be the one that overrides the variables file that comes by default from Bootstrap.

Thats what it still does. It works just like before this PR (afaik), except that it is now possible to define the variables one more step ahead if needed. In my case I include my own _variables.scss before including node_modules/@themesberg/volt-bootstrap-5-dashboard/src/scss/volt (including my modifed src/scss/volt/_variables.scss) . There I am adjusting $primary, $secondary and fontawesome-variables to my needs and do not need to care about everything else. Imho it is not very useful to edit the _variables.scss coming with volt - updates may become a pain then. But if someone needs or wants to do so - he still will be able to as before.

It is also the way other themes do it, btw.

zoltanszogyenyi commented 3 years ago

@jonnsn merged. Thanks for your contribution! We'll use this method for future themes and update the current ones.

jonnsn commented 3 years ago

Thank you!

jonnsn commented 3 years ago

@zoltanszogyenyi somehow I can't find the changes neither in master (also not in the files history), nor in the current 1.3.0 release.

zoltanszogyenyi commented 3 years ago

@jonnsn we're working on a merge today, and will make a patch to the v1.3.0 release to include your contribution, but also improve the import order in the volt.scss file

zoltanszogyenyi commented 3 years ago

@jonnsn it's done in v1.3.1, I created a new folder called custom where you can add variables and custom styles. Also removed some redundant local vendor styles.

jonnsn commented 3 years ago

Awesome, thank you. Works perfectly. I do not use the custom folder though, but that is just my local setup and I think it's nice to have a valid and safe place to start customizing at hand.