我想覆盖DSpace Mirage 2主题中的Sass变量,以了解如何自定义主题。
如果我想进行以下更改,我应该将它们放在哪里?
$brand-primary: #607890;
$navbar-inverse-bg: #607890;
$navbar-inverse-link-color: yellow;
我尝试在多个位置添加变量声明,但它不包含在已编译的CSS文件中。
我可以向styles / _styles.scss添加新的CSS规则,这些规则都内置在最终的CSS中。
答案 0 :(得分:3)
在classic_mirage_color_scheme中,Bootstrap variables设置在classic_mirage_color_scheme/bootstrap_variables
中,因此您只需将文件复制到/dspace/modules/xmlui-mirage2/src/main/webapp/themes/Mirage2/styles/classic_mirage_color_scheme/_bootstrap_variables.scss
即可。
classic_mirage_color_scheme还在classic_mirage_color_scheme/_dspace_variables.scss
中定义了几个自己的变量。这也是添加非引导变量的好地方。
bootstrap_color_scheme不会覆盖或定义任何变量。所以当你从bootstrap_color_scheme开始时,你需要像你一样在bootstrap_color_scheme / _main.scss中重写。 (注意导入文件的相对路径cfr。a related question)
变量全部都设置为!default
,这意味着只有在之前未设置变量时才设置变量。这就是为什么覆盖变量仅在导入之前有效。
因为classic_mirage_color_scheme在_bootstrap_variables.scss
之前导入_dspace_variables.scss
,所以如果在第一个中设置了变量,则不会设置后者中设置的变量。
答案 1 :(得分:1)
以下似乎有效。
COPY
/dspace-xmlui-mirage2/src/main/webapps/styles/classic_mirage_color_scheme/_main.scss
要
/dspace/modules/xmlui-mirage2/src/main/webapp/themes/Mirage2/styles/classic_mirage_color/scheme/_main.scss
在include之前的顶部添加变量声明。