mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
create simple dspace theme based on mantis
This commit is contained in:
@@ -56,6 +56,11 @@
|
|||||||
"input": "src/themes/custom/styles/theme.scss",
|
"input": "src/themes/custom/styles/theme.scss",
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"bundleName": "custom-theme"
|
"bundleName": "custom-theme"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"input": "src/themes/dspace/styles/theme.scss",
|
||||||
|
"inject": false,
|
||||||
|
"bundleName": "dspace-theme"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"scripts": []
|
"scripts": []
|
||||||
|
5
src/themes/dspace/app/navbar/navbar.component.scss
Normal file
5
src/themes/dspace/app/navbar/navbar.component.scss
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
@import 'src/app/navbar/navbar.component.scss';
|
||||||
|
|
||||||
|
nav.navbar {
|
||||||
|
border-bottom: 5px var(--bs-green) solid;
|
||||||
|
}
|
15
src/themes/dspace/app/navbar/navbar.component.ts
Normal file
15
src/themes/dspace/app/navbar/navbar.component.ts
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { NavbarComponent as BaseComponent } from '../../../../app/navbar/navbar.component';
|
||||||
|
import { slideMobileNav } from '../../../../app/shared/animations/slide';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Component representing the public navbar
|
||||||
|
*/
|
||||||
|
@Component({
|
||||||
|
selector: 'ds-navbar',
|
||||||
|
styleUrls: ['./navbar.component.scss'],
|
||||||
|
templateUrl: '../../../../app/navbar/navbar.component.html',
|
||||||
|
animations: [slideMobileNav]
|
||||||
|
})
|
||||||
|
export class NavbarComponent extends BaseComponent {
|
||||||
|
}
|
0
src/themes/dspace/assets/fonts/.gitkeep
Normal file
0
src/themes/dspace/assets/fonts/.gitkeep
Normal file
0
src/themes/dspace/assets/images/.gitkeep
Normal file
0
src/themes/dspace/assets/images/.gitkeep
Normal file
2
src/themes/dspace/entry-components.ts
Normal file
2
src/themes/dspace/entry-components.ts
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export const ENTRY_COMPONENTS = [
|
||||||
|
];
|
23
src/themes/dspace/styles/_global-styles.scss
Normal file
23
src/themes/dspace/styles/_global-styles.scss
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
// Add any global css for the theme here
|
||||||
|
|
||||||
|
// imports the base global style
|
||||||
|
@import '../../../styles/_global-styles.scss';
|
||||||
|
|
||||||
|
.facet-filter,.setting-option {
|
||||||
|
background-color: var(--bs-light);
|
||||||
|
border-radius: var(--bs-border-radius);
|
||||||
|
|
||||||
|
&.p-3 {
|
||||||
|
// Needs !important because the original bootstrap class uses it
|
||||||
|
padding-top: 0.5rem !important;
|
||||||
|
padding-bottom: 0.5rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-secondary {
|
||||||
|
background-color: var(--bs-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-size: 1.1rem
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,9 @@
|
|||||||
|
// Override or add CSS variables for your theme here
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--ds-banner-text-background: rgba(0, 0, 0, 0.35);
|
||||||
|
--ds-banner-background-gradient-width: 300px;
|
||||||
|
--ds-home-news-link-color: $green;
|
||||||
|
--ds-home-news-link-hover-color: #{darken($green, 15%)};
|
||||||
|
}
|
||||||
|
|
@@ -1,13 +1,20 @@
|
|||||||
|
// DSpace works with CSS variables for its own components, and has a mapping of all bootstrap Sass
|
||||||
|
// variables to CSS equivalents (see src/styles/_bootstrap_variables_mapping.scss). However Bootstrap
|
||||||
|
// still uses Sass variables internally. So if you want to override bootstrap (or other sass
|
||||||
|
// variables) you can do so here. Their CSS counterparts will include the changes you make here
|
||||||
|
|
||||||
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese');
|
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese');
|
||||||
|
|
||||||
$font-family-sans-serif: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
$font-family-sans-serif: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||||
$gray-100: #e8ebf3 !default; // #eee
|
$gray-100: #e8ebf3 !default;
|
||||||
|
$gray-400: #ced4da !default;
|
||||||
$gray-800: #444444 !default; // #444
|
$gray-800: #444444 !default; // #444
|
||||||
|
|
||||||
$navbar-dark-color: #FFFFFF;
|
$navbar-dark-color: #FFFFFF;
|
||||||
|
|
||||||
/* Reassign color vars to semantic color scheme */
|
/* Reassign color vars to semantic color scheme */
|
||||||
$blue: #43515f !default;
|
$blue: #43515f !default;
|
||||||
|
//$green: #92C642 !default;
|
||||||
$green: #92C642 !default;
|
$green: #92C642 !default;
|
||||||
$cyan: #2e80a3 !default;
|
$cyan: #2e80a3 !default;
|
||||||
$yellow: #ec9433 !default;
|
$yellow: #ec9433 !default;
|
||||||
@@ -16,4 +23,8 @@ $dark: #43515f !default;
|
|||||||
|
|
||||||
$body-color: $gray-800 !default;
|
$body-color: $gray-800 !default;
|
||||||
|
|
||||||
|
$table-accent-bg: $gray-100 !default;
|
||||||
|
$table-hover-bg: $gray-400 !default;
|
||||||
|
|
||||||
$yiq-contrasted-threshold: 170 !default;
|
$yiq-contrasted-threshold: 170 !default;
|
||||||
|
|
12
src/themes/dspace/styles/theme.scss
Normal file
12
src/themes/dspace/styles/theme.scss
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
// This file combines the other scss files in to one. You usually shouldn't edit this file directly
|
||||||
|
|
||||||
|
@import './_theme_sass_variable_overrides.scss';
|
||||||
|
@import '../../../styles/_variables.scss';
|
||||||
|
@import '../../../styles/_mixins.scss';
|
||||||
|
@import '../../../styles/helpers/font_awesome_imports.scss';
|
||||||
|
@import '../../../../node_modules/bootstrap/scss/bootstrap.scss';
|
||||||
|
@import '../../../../node_modules/nouislider/distribute/nouislider.min';
|
||||||
|
@import '../../../styles/_custom_variables.scss';
|
||||||
|
@import './_theme_css_variable_overrides.scss';
|
||||||
|
@import '../../../styles/bootstrap_variables_mapping.scss';
|
||||||
|
@import './_global-styles.scss';
|
103
src/themes/dspace/theme.module.ts
Normal file
103
src/themes/dspace/theme.module.ts
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { AdminRegistriesModule } from '../../app/+admin/admin-registries/admin-registries.module';
|
||||||
|
import { AdminSearchModule } from '../../app/+admin/admin-search-page/admin-search.module';
|
||||||
|
import { AdminWorkflowModuleModule } from '../../app/+admin/admin-workflow-page/admin-workflow.module';
|
||||||
|
import { BitstreamFormatsModule } from '../../app/+admin/admin-registries/bitstream-formats/bitstream-formats.module';
|
||||||
|
import { BrowseByModule } from '../../app/+browse-by/browse-by.module';
|
||||||
|
import { CollectionFormModule } from '../../app/+collection-page/collection-form/collection-form.module';
|
||||||
|
import { CommunityFormModule } from '../../app/+community-page/community-form/community-form.module';
|
||||||
|
import { CoreModule } from '../../app/core/core.module';
|
||||||
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
||||||
|
import { EditItemPageModule } from '../../app/+item-page/edit-item-page/edit-item-page.module';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
import { HttpClientModule } from '@angular/common/http';
|
||||||
|
import { IdlePreloadModule } from 'angular-idle-preload';
|
||||||
|
import { JournalEntitiesModule } from '../../app/entity-groups/journal-entities/journal-entities.module';
|
||||||
|
import { MyDspaceSearchModule } from '../../app/+my-dspace-page/my-dspace-search.module';
|
||||||
|
import { MenuModule } from '../../app/shared/menu/menu.module';
|
||||||
|
import { NavbarModule } from '../../app/navbar/navbar.module';
|
||||||
|
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
||||||
|
import { ProfilePageModule } from '../../app/profile-page/profile-page.module';
|
||||||
|
import { RegisterEmailFormModule } from '../../app/register-email-form/register-email-form.module';
|
||||||
|
import { ResearchEntitiesModule } from '../../app/entity-groups/research-entities/research-entities.module';
|
||||||
|
import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
|
||||||
|
import { SearchPageModule } from '../../app/+search-page/search-page.module';
|
||||||
|
import { SharedModule } from '../../app/shared/shared.module';
|
||||||
|
import { StatisticsModule } from '../../app/statistics/statistics.module';
|
||||||
|
import { StoreModule } from '@ngrx/store';
|
||||||
|
import { StoreRouterConnectingModule } from '@ngrx/router-store';
|
||||||
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
|
import { HomePageModule } from '../../app/+home-page/home-page.module';
|
||||||
|
import { AppModule } from '../../app/app.module';
|
||||||
|
import { ItemPageModule } from '../../app/+item-page/item-page.module';
|
||||||
|
import { RouterModule } from '@angular/router';
|
||||||
|
import { CommunityListPageModule } from '../../app/community-list-page/community-list-page.module';
|
||||||
|
import { InfoModule } from '../../app/info/info.module';
|
||||||
|
import { StatisticsPageModule } from '../../app/statistics-page/statistics-page.module';
|
||||||
|
import { CommunityPageModule } from '../../app/+community-page/community-page.module';
|
||||||
|
import { CollectionPageModule } from '../../app/+collection-page/collection-page.module';
|
||||||
|
import { SubmissionModule } from '../../app/submission/submission.module';
|
||||||
|
import { MyDSpacePageModule } from '../../app/+my-dspace-page/my-dspace-page.module';
|
||||||
|
import { NavbarComponent } from './app/navbar/navbar.component';
|
||||||
|
|
||||||
|
const DECLARATIONS = [
|
||||||
|
NavbarComponent
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
AdminRegistriesModule,
|
||||||
|
AdminSearchModule,
|
||||||
|
AdminWorkflowModuleModule,
|
||||||
|
AppModule,
|
||||||
|
BitstreamFormatsModule,
|
||||||
|
BrowseByModule,
|
||||||
|
CollectionFormModule,
|
||||||
|
CollectionPageModule,
|
||||||
|
CommonModule,
|
||||||
|
CommunityFormModule,
|
||||||
|
CommunityListPageModule,
|
||||||
|
CommunityPageModule,
|
||||||
|
CoreModule,
|
||||||
|
DragDropModule,
|
||||||
|
ItemPageModule,
|
||||||
|
EditItemPageModule,
|
||||||
|
FormsModule,
|
||||||
|
HomePageModule,
|
||||||
|
HttpClientModule,
|
||||||
|
IdlePreloadModule,
|
||||||
|
InfoModule,
|
||||||
|
JournalEntitiesModule,
|
||||||
|
MenuModule,
|
||||||
|
MyDspaceSearchModule,
|
||||||
|
NavbarModule,
|
||||||
|
NgbModule,
|
||||||
|
ProfilePageModule,
|
||||||
|
RegisterEmailFormModule,
|
||||||
|
ResearchEntitiesModule,
|
||||||
|
RouterModule,
|
||||||
|
ScrollToModule,
|
||||||
|
SearchPageModule,
|
||||||
|
SharedModule,
|
||||||
|
StatisticsModule,
|
||||||
|
StatisticsPageModule,
|
||||||
|
StoreModule,
|
||||||
|
StoreRouterConnectingModule,
|
||||||
|
TranslateModule,
|
||||||
|
SubmissionModule,
|
||||||
|
MyDSpacePageModule,
|
||||||
|
MyDspaceSearchModule,
|
||||||
|
],
|
||||||
|
declarations: DECLARATIONS
|
||||||
|
})
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This module serves as an index for all the components in this theme.
|
||||||
|
* It should import all other modules, so the compiler knows where to find any components referenced
|
||||||
|
* from a component in this theme
|
||||||
|
* It is purposefully not exported, it should never be imported anywhere else, its only purpose is
|
||||||
|
* to give lazily loaded components a context in which they can be compiled successfully
|
||||||
|
*/
|
||||||
|
class ThemeModule {
|
||||||
|
}
|
Reference in New Issue
Block a user