DSpace Mirage2 - 我在哪里放置变量覆盖?

时间:2015-11-05 20:02:54

标签: dspace

我想覆盖DSpace Mirage 2主题中的Sass变量,以了解如何自定义主题。

如果我想进行以下更改,我应该将它们放在哪里?

$brand-primary: #607890; $navbar-inverse-bg: #607890; $navbar-inverse-link-color: yellow;

我尝试在多个位置添加变量声明,但它不包含在已编译的CSS文件中。

我可以向styles / _styles.scss添加新的CSS规则,这些规则都内置在最终的CSS中。

2 个答案:

答案 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之前的顶部添加变量声明。