| "extractCss": true, | "extractCss": true, | ||||
| "namedChunks": false, | "namedChunks": false, | ||||
| "aot": true, | "aot": true, | ||||
| "extractLicenses": true, | |||||
| "extractLicenses": false, | |||||
| "vendorChunk": false, | "vendorChunk": false, | ||||
| "buildOptimizer": true, | "buildOptimizer": true, | ||||
| "fileReplacements": [{ | "fileReplacements": [{ |
| "@angular/router": "9.0.6", | "@angular/router": "9.0.6", | ||||
| "@fortawesome/fontawesome-free": "^5.13.0", | "@fortawesome/fontawesome-free": "^5.13.0", | ||||
| "@ng-bootstrap/ng-bootstrap": "6.0.0", | "@ng-bootstrap/ng-bootstrap": "6.0.0", | ||||
| "bootstrap": "4.1.2", | |||||
| "bootstrap": "^4.5.0", | |||||
| "core-js": "3.6.4", | "core-js": "3.6.4", | ||||
| "jquery": "3.2.1", | |||||
| "html2canvas": "^1.0.0-rc.5", | |||||
| "jquery": "^3.5.1", | |||||
| "jspdf": "^1.5.3", | |||||
| "jw-bootstrap-switch-ng2": "2.0.1", | "jw-bootstrap-switch-ng2": "2.0.1", | ||||
| "ng2-nouislider": "1.7.12", | "ng2-nouislider": "1.7.12", | ||||
| "nouislider": "9.2.0", | "nouislider": "9.2.0", | ||||
| "popper.js": "1.14.4", | "popper.js": "1.14.4", | ||||
| "rxjs": "6.5.4", | "rxjs": "6.5.4", | ||||
| "rxjs-compat": "6.5.4", | "rxjs-compat": "6.5.4", | ||||
| "spotify-web-api-node": "^4.0.0", | |||||
| "zone.js": "0.10.2" | "zone.js": "0.10.2" | ||||
| }, | }, | ||||
| "devDependencies": { | "devDependencies": { | ||||
| "@angular/compiler-cli": "9.0.6", | "@angular/compiler-cli": "9.0.6", | ||||
| "@angular/language-service": "9.0.6", | "@angular/language-service": "9.0.6", | ||||
| "@types/jasmine": "3.5.9", | "@types/jasmine": "3.5.9", | ||||
| "@types/node": "13.9.1", | |||||
| "@types/spotify-web-api-node": "^4.0.1", | |||||
| "codelyzer": "5.2.1", | "codelyzer": "5.2.1", | ||||
| "jasmine-core": "3.5.0", | "jasmine-core": "3.5.0", | ||||
| "jasmine-spec-reporter": "4.2.1", | "jasmine-spec-reporter": "4.2.1", |
| import { NgModule } from '@angular/core'; | import { NgModule } from '@angular/core'; | ||||
| import { RouterModule, Routes } from '@angular/router'; | import { RouterModule, Routes } from '@angular/router'; | ||||
| import { environment } from 'environments/environment'; | import { environment } from 'environments/environment'; | ||||
| import { AboutComponent } from 'app/pages/about/about.component'; | |||||
| import { NotFoundComponent } from 'app/pages/not-found/not-found.component'; | import { NotFoundComponent } from 'app/pages/not-found/not-found.component'; | ||||
| import { ResumeComponent } from './pages/resume/resume.component'; | import { ResumeComponent } from './pages/resume/resume.component'; | ||||
| import { GamesDashboardComponent } from './pages/games-dashboard/games-dashboard.component'; | import { GamesDashboardComponent } from './pages/games-dashboard/games-dashboard.component'; | ||||
| path: 'projects', | path: 'projects', | ||||
| component: ProjectDashboardComponent, | component: ProjectDashboardComponent, | ||||
| }, | }, | ||||
| { | |||||
| path: 'about', | |||||
| component: AboutComponent, | |||||
| }, | |||||
| { | { | ||||
| path: 'legal', | path: 'legal', | ||||
| component: ImpressumComponent, | component: ImpressumComponent, | ||||
| }, | }, | ||||
| { | { | ||||
| path: '', | path: '', | ||||
| redirectTo: 'about', | |||||
| redirectTo: 'resume', | |||||
| pathMatch: 'full' | pathMatch: 'full' | ||||
| }, | }, | ||||
| { | { |
| import { SaltyPiranhaComponent } from './pages/game-dashboard/salty-piranha/salty-piranha.component'; | import { SaltyPiranhaComponent } from './pages/game-dashboard/salty-piranha/salty-piranha.component'; | ||||
| import { KeepInTouchComponent } from './pages/keep-in-touch/keep-in-touch.component'; | import { KeepInTouchComponent } from './pages/keep-in-touch/keep-in-touch.component'; | ||||
| import { ImpressumComponent } from './shared/impressum/impressum.component'; | import { ImpressumComponent } from './shared/impressum/impressum.component'; | ||||
| import { HobbyDashboardComponent } from './pages/hobby-dashboard/hobby-dashboard.component'; | |||||
| @NgModule({ | @NgModule({ | ||||
| SaltyPiranhaComponent, | SaltyPiranhaComponent, | ||||
| KeepInTouchComponent, | KeepInTouchComponent, | ||||
| ImpressumComponent, | ImpressumComponent, | ||||
| HobbyDashboardComponent, | |||||
| ], | ], | ||||
| imports: [ | imports: [ | ||||
| BrowserModule, | BrowserModule, |
| import { RouterModule, Router } from '@angular/router'; | import { RouterModule, Router } from '@angular/router'; | ||||
| import { NotificationComponent } from './notification/notification.component'; | import { NotificationComponent } from './notification/notification.component'; | ||||
| import { AboutComponent } from 'app/pages/about/about.component'; | |||||
| import { PageHeaderModule } from 'app/page-header/page-header.module'; | import { PageHeaderModule } from 'app/page-header/page-header.module'; | ||||
| @NgModule({ | @NgModule({ | ||||
| JwBootstrapSwitchNg2Module, | JwBootstrapSwitchNg2Module, | ||||
| ], | ], | ||||
| declarations: [ | declarations: [ | ||||
| AboutComponent, | |||||
| NotificationComponent, | NotificationComponent, | ||||
| ], | ], | ||||
| entryComponents: [], | entryComponents: [], | ||||
| exports: [ AboutComponent, NotificationComponent] | |||||
| exports: [ NotificationComponent] | |||||
| }) | }) | ||||
| export class ComponentsModule { } | export class ComponentsModule { } |
| export namespace ServiceHelper { | |||||
| export class GenericHelper { | |||||
| public static deepClone(obj: Object) { | |||||
| return JSON.parse(JSON.stringify(obj)); | |||||
| } | |||||
| } | |||||
| export const SPOTIFY_STAUS_CODES = { | |||||
| OK: 200, | |||||
| CREATED: 201, | |||||
| ACCEPTED: 202, | |||||
| NO_CONTENT: 204, | |||||
| NOT_MODIFIED: 304, | |||||
| BAD_REQUEST: 400, | |||||
| UNAUTHORIZED: 401, | |||||
| FORBIDDEN: 403, | |||||
| NOT_FOUND: 404, | |||||
| TOO_MANY: 429, | |||||
| INTERNAL: 500, | |||||
| BAD_GATEWAY: 502, | |||||
| SERVICE_UNAVAILABLE: 503, | |||||
| } | |||||
| export class PaginationOptions { limit: number; offset: number; total: number; current: number; }; | |||||
| export class OfssetHelper { | |||||
| /** | |||||
| * Exptract Offset from URL. | |||||
| * | |||||
| * @param url url with offset GET Param | |||||
| * @returns offset if found if not -1 | |||||
| */ | |||||
| public getNextOffsetFromUrl(url: string): number { | |||||
| const extractOffsetRegex = /(?:offset=)(\d+)/; | |||||
| const offset = extractOffsetRegex.exec(url); | |||||
| if (offset[1]) { | |||||
| return parseInt(offset[1]); | |||||
| } | |||||
| return -1 | |||||
| } | |||||
| public getNextOffset(responseBody: PaginationOptions) { | |||||
| const maxOffset = responseBody.total - responseBody.limit; | |||||
| if ( | |||||
| responseBody.total <= responseBody.limit || | |||||
| responseBody.offset >= responseBody.limit || | |||||
| responseBody.offset >= maxOffset | |||||
| ) { | |||||
| return -1; | |||||
| } | |||||
| if (responseBody.offset < 0) { | |||||
| throw new Error("offset can't be smaller than 0!"); | |||||
| } | |||||
| // if limit + current offset not overflows maxOffset return | |||||
| if ((responseBody.limit + responseBody.offset) <= maxOffset) { | |||||
| return responseBody.limit + responseBody.offset; | |||||
| } | |||||
| // return the rest | |||||
| return responseBody.limit % responseBody.total; | |||||
| } | |||||
| } | |||||
| } | |||||
| <div class="page-header section-dark" style="background-image: url('assets/img/dark-fog-forest-haze-small.jpg')"> | |||||
| <div class="filter"></div> | |||||
| <div class="content-center"> | |||||
| <div class="container"> | |||||
| <div class="title-brand"> | |||||
| <div class="logo"> | |||||
| </div> | |||||
| <h1 class="presentation-title">ZIERMACH³</h1> | |||||
| </div> | |||||
| <h2 class="presentation-subtitle text-center"></h2> | |||||
| </div> | |||||
| <div | |||||
| class="page-header section-dark" | |||||
| style="background-image: url('assets/img/dark-fog-forest-haze-small.jpg');" | |||||
| > | |||||
| <div class="filter"></div> | |||||
| <div class="container-left slide-in-right"> | |||||
| <div class="title-brand text-left"> | |||||
| <h1 class="presentation-title">Christian Ziermann</h1> | |||||
| <h1>Web Developer</h1> | |||||
| </div> | </div> | ||||
| <div class="moving-clouds" style="background-image: url('assets/img/clouds.png'); "></div> | |||||
| </div> | |||||
| </div> | |||||
| <div | |||||
| class="moving-clouds" | |||||
| style="background-image: url('assets/img/clouds.png');" | |||||
| ></div> | |||||
| <div | |||||
| class="avatar-head" | |||||
| style="background-image: url('assets/img/avatar-transparent.png');" | |||||
| ></div> | |||||
| </div> |
| import { GameHeaderComponent } from './game-header/game-header.component'; | import { GameHeaderComponent } from './game-header/game-header.component'; | ||||
| import { ProjectHeaderComponent } from './project-header/project-header.component'; | import { ProjectHeaderComponent } from './project-header/project-header.component'; | ||||
| import { ResumeHeaderComponent } from './resume-header/resume-header.component'; | import { ResumeHeaderComponent } from './resume-header/resume-header.component'; | ||||
| import { RouterModule } from '@angular/router'; | |||||
| ResumeHeaderComponent | ResumeHeaderComponent | ||||
| ], | ], | ||||
| imports: [ | imports: [ | ||||
| CommonModule | |||||
| CommonModule, | |||||
| RouterModule | |||||
| ], | ], | ||||
| exports: [ | exports: [ | ||||
| DefaultPageHeaderComponent, | DefaultPageHeaderComponent, |
| <div class="page-header section-dark page-header-small" style="background-image: url('assets/img/about-thumbnail.jpg')"> | |||||
| <div class="page-header section-dark page-header-small" style="background-image: url('assets/img/dark-fog-forest-haze-small.jpg')"> | |||||
| <div class="filter"></div> | <div class="filter"></div> | ||||
| <div class="content-center"> | <div class="content-center"> | ||||
| <div class="container"> | <div class="container"> | ||||
| <div class="title-brand"> | <div class="title-brand"> | ||||
| <h1 class="presentation-title">About me</h1> | <h1 class="presentation-title">About me</h1> | ||||
| </div> | </div> | ||||
| <h2 class="presentation-subtitle text-center"></h2> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="moving-clouds" style="background-image: url('assets/img/clouds.png'); "></div> | |||||
| </div> | </div> |
| <div class="wrapper"> | |||||
| <app-default-page-header></app-default-page-header> | |||||
| <div class="main"> | |||||
| <div class="section section-gray profile-content"> | |||||
| <div class="container"> | |||||
| <div class="owner"> | |||||
| <div class="avatar"> | |||||
| <img | |||||
| src="./assets/img/avatar/profilbild.jpg" | |||||
| alt="Circle Image" | |||||
| class="img-circle img-no-padding img-responsive" | |||||
| /> | |||||
| </div> | |||||
| <div class="name"> | |||||
| <h4 class="title">Christian Ziermann<br /></h4> | |||||
| <h6 class="description">Web Developer</h6> | |||||
| </div> | |||||
| </div> | |||||
| <div class="row"> | |||||
| <div class="col-md-6 ml-auto mr-auto text-center"> | |||||
| <a | |||||
| [routerLink]="['/resume']" | |||||
| class="btn btn-link btn-danger" | |||||
| >See more</a | |||||
| > | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="section section-dark text-center"> | |||||
| <div class="container"> | |||||
| <div class="row"> | |||||
| <div class="col-md-6"> | |||||
| <div class="info"> | |||||
| <div class="icon icon-danger"> | |||||
| <i class="fas fa-gamepad"></i> | |||||
| </div> | |||||
| <div class="description"> | |||||
| <h4 class="info-title">Games</h4> | |||||
| <p class="description"> | |||||
| some small Games i made with some friends. | |||||
| </p> | |||||
| <a | |||||
| [routerLink]="['/games']" | |||||
| class="btn btn-link btn-danger" | |||||
| >See more</a | |||||
| > | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="col-md-6"> | |||||
| <div class="info"> | |||||
| <div class="icon icon-danger"> | |||||
| <i class="fas fa-code"></i> | |||||
| </div> | |||||
| <div class="description"> | |||||
| <h4 class="info-title">Projects</h4> | |||||
| <p>from simple Script to bigger Web-Projects.</p> | |||||
| <a | |||||
| [routerLink]="['/projects']" | |||||
| class="btn btn-link btn-danger" | |||||
| >See more</a | |||||
| > | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> |
| import { async, ComponentFixture, TestBed } from '@angular/core/testing'; | |||||
| import { AboutComponent } from './about.component'; | |||||
| describe('AboutComponent', () => { | |||||
| let component: AboutComponent; | |||||
| let fixture: ComponentFixture<AboutComponent>; | |||||
| beforeEach(async(() => { | |||||
| TestBed.configureTestingModule({ | |||||
| declarations: [ AboutComponent ] | |||||
| }) | |||||
| .compileComponents(); | |||||
| })); | |||||
| beforeEach(() => { | |||||
| fixture = TestBed.createComponent(AboutComponent); | |||||
| component = fixture.componentInstance; | |||||
| fixture.detectChanges(); | |||||
| }); | |||||
| it('should be created', () => { | |||||
| expect(component).toBeTruthy(); | |||||
| }); | |||||
| }); |
| import { Component, OnInit } from '@angular/core'; | |||||
| @Component({ | |||||
| selector: 'app-about', | |||||
| templateUrl: './about.component.html', | |||||
| styleUrls: ['./about.component.scss'] | |||||
| }) | |||||
| export class AboutComponent implements OnInit { | |||||
| focus = true; | |||||
| focus1 = true; | |||||
| constructor() { } | |||||
| ngOnInit() {} | |||||
| } |
| <div class="wrapper"> | |||||
| <app-game-header></app-game-header> | |||||
| <div class="main"> | |||||
| <div class="section section-dark"> | |||||
| <div class="container"> | |||||
| <div class="row"> | |||||
| <div class="col-sm-4 offset-md-4"> | |||||
| <div class="info text-center"> | |||||
| <div class="icon icon-danger"> | |||||
| <i class="fab fa-itch-io"></i> | |||||
| </div> | |||||
| <div class="description"> | |||||
| <h4 class="info-title">Mini Beans Jam Games</h4> | |||||
| <p class="description"> | |||||
| All these games bellow where made for an GameJam called Mini | |||||
| Beans Jam. The Challange was to create an game for an motto | |||||
| given by 3 random words in 42 Hours (Friday - Sunday). I made | |||||
| this Games with an small Hobby Team called WhyMonkeys. | |||||
| </p> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="section section-gray"> | |||||
| <div class="container"> | |||||
| <div class="row"> | |||||
| <div class="col-md-6"> | |||||
| <div class="card"> | |||||
| <img | |||||
| class="card-img-top" | |||||
| src="/assets/img/mrq-thumbnail.png" | |||||
| alt="Card image cap" | |||||
| /> | |||||
| <div class="card-body"> | |||||
| <h4 class="card-title">Magnetic Recycling Queen</h4> | |||||
| <p class="card-text"> | |||||
| The first game i helped to Develop. | |||||
| Made with Unity. | |||||
| </p> | |||||
| <a | |||||
| routerLink="/games/magnetic-recycling-queen" | |||||
| class="btn btn-primary" | |||||
| >Play Now!</a | |||||
| > | |||||
| <a href="https://karotofel.itch.io/mrq" class="btn btn-primary"> | |||||
| Check out on <i class="fab fa-itch-io"></i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="col-md-6"> | |||||
| <div class="card"> | |||||
| <img | |||||
| class="card-img-top" | |||||
| src="/assets/img/wtf-thumbnail.png" | |||||
| alt="Card image cap" | |||||
| /> | |||||
| <div class="card-body"> | |||||
| <h4 class="card-title">What the fungi</h4> | |||||
| <p class="card-text"> | |||||
| In this game i tried my self at an A* search algorithm It went | |||||
| okay ... | |||||
| </p> | |||||
| <p> | |||||
| Made with Unity. | |||||
| </p> | |||||
| <a routerLink="/games/what-the-fungi" class="btn btn-primary" | |||||
| >Play Now!</a | |||||
| > | |||||
| <a | |||||
| href="https://karotofel.itch.io/wtfungi" | |||||
| class="btn btn-primary" | |||||
| > | |||||
| Check out on <i class="fab fa-itch-io"></i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="row"> | |||||
| <div class="col-md-6"> | |||||
| <div class="card"> | |||||
| <img | |||||
| class="card-img-top" | |||||
| id="disco-thumbnail" | |||||
| src="/assets/img/disco-blues-thumbnail.png" | |||||
| alt="Card image cap" | |||||
| /> | |||||
| <img | |||||
| class="card-img-top" | |||||
| id="disco-gif" | |||||
| src="/assets/img/disco-blues.gif" | |||||
| alt="Card image cap" | |||||
| /> | |||||
| <div class="card-body"> | |||||
| <h4 class="card-title">Disc(o) Blues</h4> | |||||
| <p class="card-text"> | |||||
| This is game was far the most Complex i helped with. It's | |||||
| Primary made for Mobile so the UI is in web a bit messy. The | |||||
| idea and the Style is great but i was to much for the size of | |||||
| team and the given time. | |||||
| Made with Unity. | |||||
| </p> | |||||
| <a routerLink="/games/laser-blues" class="btn btn-primary" | |||||
| >Play Now!</a | |||||
| > | |||||
| <a | |||||
| href="https://karotofel.itch.io/laser-blues" | |||||
| class="btn btn-primary" | |||||
| > | |||||
| Check out on <i class="fab fa-itch-io"></i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="col-md-6"> | |||||
| <div class="card"> | |||||
| <img | |||||
| class="card-img-top" | |||||
| src="/assets/img/salty-piranha-thumbnail.png" | |||||
| alt="Card image cap" | |||||
| /> | |||||
| <div class="card-body"> | |||||
| <h4 class="card-title">Salty Prianha</h4> | |||||
| <p class="card-text"> | |||||
| First game where i did 100% of the coding. A small but nice | |||||
| project only done by 2 people in less than 42 hours. Also my | |||||
| first experience with the Godot Engine. | |||||
| Made with Godot. | |||||
| </p> | |||||
| <a routerLink="/games/salty-piranha" class="btn btn-primary" | |||||
| >Play Now!</a | |||||
| > | |||||
| <a | |||||
| href="https://karotofel.itch.io/salty-piranha" | |||||
| class="btn btn-primary" | |||||
| > | |||||
| Check out on <i class="fab fa-itch-io"></i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| import { async, ComponentFixture, TestBed } from '@angular/core/testing'; | |||||
| import { HobbyDashboardComponent } from './hobby-dashboard.component'; | |||||
| describe('HobbyDashboardComponent', () => { | |||||
| let component: HobbyDashboardComponent; | |||||
| let fixture: ComponentFixture<HobbyDashboardComponent>; | |||||
| beforeEach(async(() => { | |||||
| TestBed.configureTestingModule({ | |||||
| declarations: [ HobbyDashboardComponent ] | |||||
| }) | |||||
| .compileComponents(); | |||||
| })); | |||||
| beforeEach(() => { | |||||
| fixture = TestBed.createComponent(HobbyDashboardComponent); | |||||
| component = fixture.componentInstance; | |||||
| fixture.detectChanges(); | |||||
| }); | |||||
| it('should create', () => { | |||||
| expect(component).toBeTruthy(); | |||||
| }); | |||||
| }); |
| import { Component, OnInit } from '@angular/core'; | |||||
| import { SpotifyService } from './spotify.service'; | |||||
| @Component({ | |||||
| selector: 'app-hobby-dashboard', | |||||
| templateUrl: './hobby-dashboard.component.html', | |||||
| styleUrls: ['./hobby-dashboard.component.css'] | |||||
| }) | |||||
| export class HobbyDashboardComponent implements OnInit { | |||||
| constructor(public spotifyService: SpotifyService) { } | |||||
| ngOnInit(): void { | |||||
| } | |||||
| } |
| import { TestBed } from '@angular/core/testing'; | |||||
| import { SpotifyService } from './spotify.service'; | |||||
| describe('SpotifyService', () => { | |||||
| let service: SpotifyService; | |||||
| beforeEach(() => { | |||||
| TestBed.configureTestingModule({}); | |||||
| service = TestBed.inject(SpotifyService); | |||||
| }); | |||||
| it('should be created', () => { | |||||
| expect(service).toBeTruthy(); | |||||
| }); | |||||
| }); |
| import { Injectable } from '@angular/core'; | |||||
| import { ServiceHelper } from 'app/helper/service-helper'; | |||||
| @Injectable({ | |||||
| providedIn: 'root' | |||||
| }) | |||||
| export class SpotifyService { | |||||
| // protected _playlists: Array<Object> = []; | |||||
| // protected spotifyWebApi = require('spotify-web-api-node'); | |||||
| // constructor( | |||||
| // protected offsetHelper: ServiceHelper.OfssetHelper, | |||||
| // ) { } | |||||
| // public async setUserPlaylists(): Promise<Object[]> { | |||||
| // return new Promise<Object[]>( | |||||
| // (resolve, reject) => { | |||||
| // // get All Playlists of user | |||||
| // this.getAllUserPlaylists().then( | |||||
| // (playlists) => { | |||||
| // this.resolvePlaylists(playlists).then(resolvedPlaylists => { | |||||
| // this._playlists = resolvedPlaylists as Object[]; | |||||
| // resolve(this._playlists); | |||||
| // }); | |||||
| // }, | |||||
| // (err) => { | |||||
| // reject(err); | |||||
| // }); | |||||
| // }); | |||||
| // } | |||||
| // public get playlists(): Array<Object> { | |||||
| // return this._playlists; | |||||
| // } | |||||
| // public getPlaylistById(playlistId: string): Object | null { | |||||
| // return this._playlists.find((playlist) => { | |||||
| // return playlist['id'] === playlistId; | |||||
| // }); | |||||
| // } | |||||
| // protected enlistPlaylistInQueue(playlist: Object) { | |||||
| // console.debug(`Too many Requests save ${playlist} in Queue`); | |||||
| // // TODO enlist Playlist in DB | |||||
| // } | |||||
| // protected async getAllUserPlaylists(pagingObject?: Object): Promise<Array<Object>> { | |||||
| // return new Promise<Array<Object>>(async (resolve, reject) => { | |||||
| // let playlists = new Array<Object>(); | |||||
| // this.spotifyWebApi.getUserPlaylists({ offset: !!pagingObject ? pagingObject['offset'] : 0 }).then( | |||||
| // async (paginatePlaylistsResponse) => { | |||||
| // if (!paginatePlaylistsResponse) { | |||||
| // reject(`Can't get Playlists of current user, response empty.`); | |||||
| // } | |||||
| // playlists = paginatePlaylistsResponse.body.items; | |||||
| // pagingObject = paginatePlaylistsResponse.body; | |||||
| // if (paginatePlaylistsResponse.body.next) { | |||||
| // const offset = this.offsetHelper.getNextOffsetFromUrl(paginatePlaylistsResponse.body.next); | |||||
| // if (offset === -1) { | |||||
| // resolve(playlists); | |||||
| // } | |||||
| // pagingObject['offset'] = offset; | |||||
| // this.getAllUserPlaylists(pagingObject).then((paginatePlaylists) => { | |||||
| // playlists = playlists.concat(paginatePlaylists); | |||||
| // resolve(playlists); | |||||
| // }, | |||||
| // (err) => { | |||||
| // reject(err); | |||||
| // }); | |||||
| // return; | |||||
| // } | |||||
| // resolve(playlists); | |||||
| // }, | |||||
| // (err) => { | |||||
| // if (err.statusCode === ServiceHelper.SPOTIFY_STAUS_CODES.TOO_MANY) { | |||||
| // playlists.forEach(playlist => { | |||||
| // this.enlistPlaylistInQueue(playlist) | |||||
| // }); | |||||
| // resolve(); | |||||
| // return; | |||||
| // } | |||||
| // reject(`Can't get Playlists of current user ${err}`); | |||||
| // } | |||||
| // ); | |||||
| // }); | |||||
| // } | |||||
| // protected async resolvePlaylists(playlists: Array<Object>): Promise<Object> { | |||||
| // const getPlaylistTracksPromises = Array<Promise<Object>>(); | |||||
| // for (const playlist of playlists) { | |||||
| // getPlaylistTracksPromises.push( | |||||
| // this.resolvePlaylist(playlist) | |||||
| // ); | |||||
| // } | |||||
| // return Promise.all(getPlaylistTracksPromises); | |||||
| // } | |||||
| // protected resolvePlaylist( | |||||
| // playlist, | |||||
| // pagingObject? | |||||
| // ): Promise<Object> { | |||||
| // return new Promise<Object>(async (resolve, reject) => { | |||||
| // this.spotifyWebApi.getPlaylistTracks(playlist.id, { offset: !!pagingObject ? pagingObject.offset : 0 }).then( | |||||
| // (tracksResponse) => { | |||||
| // const fullPlaylist = ServiceHelper.GenericHelper.deepClone(playlist); | |||||
| // if (!playlist) { | |||||
| // resolve(fullPlaylist); | |||||
| // return; | |||||
| // } | |||||
| // fullPlaylist.tracks = tracksResponse.body; | |||||
| // pagingObject = tracksResponse.body; | |||||
| // if (tracksResponse.body.next) { | |||||
| // const offset = this.offsetHelper.getNextOffsetFromUrl(tracksResponse.body.next); | |||||
| // if (offset === -1) { | |||||
| // resolve(fullPlaylist); | |||||
| // return; | |||||
| // } | |||||
| // pagingObject.offset = offset; | |||||
| // this.resolvePlaylist(fullPlaylist, pagingObject).then( | |||||
| // (fullTracksResponse) => { | |||||
| // if (fullTracksResponse) { | |||||
| // fullPlaylist.tracks.items = fullPlaylist.tracks.items.concat(fullTracksResponse['tracks'].items); | |||||
| // } | |||||
| // resolve(fullPlaylist); | |||||
| // }, | |||||
| // (err) => { | |||||
| // reject(err); | |||||
| // }); | |||||
| // return; | |||||
| // } | |||||
| // resolve(fullPlaylist); | |||||
| // }, (err) => { | |||||
| // if (err.statusCode === ServiceHelper.SPOTIFY_STAUS_CODES.TOO_MANY) { | |||||
| // this.enlistPlaylistInQueue(playlist) | |||||
| // resolve(); | |||||
| // return; | |||||
| // } | |||||
| // reject(`Can't get Playlist: ${playlist.name}. ${err}`); | |||||
| // }) | |||||
| // }); | |||||
| // } | |||||
| } |
| <div class="main"> | <div class="main"> | ||||
| <div class="section section-dark"> | <div class="section section-dark"> | ||||
| <div class="container"> | <div class="container"> | ||||
| <div class="row"> | |||||
| <div class="row text-center title"> | |||||
| <div class="col-sm-4 offset-md-4"> | <div class="col-sm-4 offset-md-4"> | ||||
| <div class="info text-center"> | |||||
| <div class="info text-center logo"> | |||||
| <i class="fas fa-globe"></i> | <i class="fas fa-globe"></i> | ||||
| </div> | </div> | ||||
| <div class="description"> | <div class="description"> | ||||
| </div> | </div> | ||||
| <div class="description"> | <div class="description"> | ||||
| <h4 class="info-title"> | <h4 class="info-title"> | ||||
| <a class="btn" href="https://github.com/JackWolfskind" | |||||
| <a class="btn btn-link" href="https://github.com/JackWolfskind" | |||||
| >My Github Site</a | >My Github Site</a | ||||
| > | > | ||||
| </h4> | </h4> | ||||
| </div> | </div> | ||||
| <div class="description"> | <div class="description"> | ||||
| <h4 class="info-title"> | <h4 class="info-title"> | ||||
| <a class="btn" href="https://www.npmjs.com/~cziermann" | |||||
| <a class="btn btn-link" href="https://www.npmjs.com/~cziermann" | |||||
| >My NPM Site</a | >My NPM Site</a | ||||
| > | > | ||||
| </h4> | </h4> |
| .no-border { | |||||
| border: none; | |||||
| } | |||||
| .skill-logo { | |||||
| font-size: 30px; | |||||
| min-height: 1em !important; | |||||
| min-width: 0.875em !important; | |||||
| } | |||||
| .skill-logo > div > img { | |||||
| background-color: white; | |||||
| } | |||||
| .skill { | |||||
| padding-left: 2%; | |||||
| padding-right: 2%; | |||||
| padding-bottom: 2%; | |||||
| padding-top: 2%; | |||||
| } | |||||
| table { | |||||
| color: white; | |||||
| } | |||||
| .section-experience { | |||||
| background-image: url("/assets/img/pexels-photo-370799.jpeg"); | |||||
| } | |||||
| .section-soft-skills { | |||||
| background-image: url("/assets/img/pexels-photo-1629236.jpeg"); | |||||
| } | |||||
| .section-transparent { | |||||
| border-bottom: 1px solid transparent; | |||||
| box-shadow: none; | |||||
| background: transparent !important; | |||||
| } | |||||
| html, .main { | |||||
| background-image: url("/assets/img/pexels-photo-1252890.jpeg"); | |||||
| background-position: center center; | |||||
| background-size: cover; | |||||
| background-attachment: fixed; | |||||
| margin-top: 0; | |||||
| } | |||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||
| import * as jspdf from 'jspdf'; | |||||
| import html2canvas from 'html2canvas'; | |||||
| export type Star = 0 | 0.5 | 1 | 1.5 | 2 | 2.5 | 3 | 3.5 | 4 | 4.5 | 5; | |||||
| export const STAR_CLASS_MAP = { | |||||
| 0: 'far fa-star', | |||||
| 0.5: 'fas fa-star-half', | |||||
| 1: 'fas fa-star', | |||||
| } | |||||
| export const MAX_STARS = 5; | |||||
| export interface Skill { | |||||
| name: string; | |||||
| iconHtml: string; | |||||
| starCount: Star; | |||||
| } | |||||
| @Component({ | @Component({ | ||||
| selector: 'app-resume', | selector: 'app-resume', | ||||
| templateUrl: './resume.component.html', | templateUrl: './resume.component.html', | ||||
| styleUrls: ['./resume.component.css'] | |||||
| styleUrls: ['./resume.component.scss'] | |||||
| }) | }) | ||||
| export class ResumeComponent implements OnInit { | export class ResumeComponent implements OnInit { | ||||
| public focus = false; | |||||
| public focus1 = false; | |||||
| displayedPersonalColumns = [ | displayedPersonalColumns = [ | ||||
| 'name', | 'name', | ||||
| 'birthdate', | 'birthdate', | ||||
| birthdate: new Date('September 3, 1996'), | birthdate: new Date('September 3, 1996'), | ||||
| location: 'Aachner Straße 545 Cologne 50933', | location: 'Aachner Straße 545 Cologne 50933', | ||||
| } | } | ||||
| public softSkills: Skill[] = [ | |||||
| { | |||||
| name: 'Teamwork', | |||||
| iconHtml: '<i class="fas fa-users"></i>', | |||||
| starCount: 4 | |||||
| }, | |||||
| { | |||||
| name: 'Communication', | |||||
| iconHtml: '<i class="fas fa-comments"></i>', | |||||
| starCount: 4.5 | |||||
| }, | |||||
| ]; | |||||
| public likeToLearn: Skill[] = [ | |||||
| { | |||||
| name: 'IoT', | |||||
| iconHtml: 'fas fa-microchip', | |||||
| starCount: 0 | |||||
| }, | |||||
| { | |||||
| name: 'Deep Learning', | |||||
| iconHtml: 'fas fa-cogs', | |||||
| starCount: 0 | |||||
| }, | |||||
| { | |||||
| name: 'Game Development', | |||||
| iconHtml: 'fas fa-gamepad', | |||||
| starCount: 2 | |||||
| }, | |||||
| { | |||||
| name: 'Vuejs', | |||||
| iconHtml: 'fab fa-vuejs', | |||||
| starCount: 0 | |||||
| }, | |||||
| ]; | |||||
| public languages: Skill[] = [ | |||||
| { | |||||
| name: 'German (native language)', | |||||
| iconHtml: '<img height="30" src="/assets/icons/flags/german.png" alt="German">', | |||||
| starCount: 5 | |||||
| }, | |||||
| { | |||||
| name: 'English', | |||||
| iconHtml: '<img height="30" src="/assets/icons/flags/english.png" alt="English">', | |||||
| starCount: 3.5 | |||||
| }, | |||||
| ]; | |||||
| public skills: Skill[] = [ | |||||
| { | |||||
| name: 'Unit-testing', | |||||
| iconHtml: '<i class="fas fa-vial"></i>', | |||||
| starCount: 3 | |||||
| }, | |||||
| { | |||||
| name: 'Jira', | |||||
| iconHtml: '<i class="fab fa-jira"></i> ', | |||||
| starCount: 4 | |||||
| }, | |||||
| { | |||||
| name: 'Apache', | |||||
| iconHtml: '<img height="30" src="/assets/icons/apache.png" alt="Apache">', | |||||
| starCount: 2.5 | |||||
| }, | |||||
| { | |||||
| name: 'Nginx', | |||||
| iconHtml: '<img height="30" src="/assets/icons/nginx.svg" alt="Nginx">', | |||||
| starCount: 4.5 | |||||
| }, | |||||
| { | |||||
| name: 'Jenkins', | |||||
| iconHtml: '<i class="fab fa-jenkins"></i>', | |||||
| starCount: 3 | |||||
| }, | |||||
| { | |||||
| name: 'SQL', | |||||
| iconHtml: '<i class="fas fa-database"></i>', | |||||
| starCount: 3.5 | |||||
| }, | |||||
| { | |||||
| name: 'Python', | |||||
| iconHtml: '<i class="fab fa-python"></i>', | |||||
| starCount: 2 | |||||
| }, | |||||
| { | |||||
| name: 'PHP', | |||||
| iconHtml: '<i class="fab fa-php"></i>', | |||||
| starCount: 4 | |||||
| }, | |||||
| { | |||||
| name: 'HTML & CSS', | |||||
| iconHtml: '<i class="fab fa-html5"></i>', | |||||
| starCount: 4.5 | |||||
| }, | |||||
| { | |||||
| name: 'Angular 2+ & AngularJS', | |||||
| iconHtml: '<i class="fab fa-angular"></i>', | |||||
| starCount: 4.5 | |||||
| }, | |||||
| { | |||||
| name: 'NestJs', | |||||
| iconHtml: '<img height="30" src="/assets/icons/nestjs.svg" alt="NestJs">', | |||||
| starCount: 4 | |||||
| }, | |||||
| { | |||||
| name: 'Twig', | |||||
| iconHtml: '<img height="30" src="/assets/icons/twig.png" alt="NestJs">', | |||||
| starCount: 4.5 | |||||
| }, | |||||
| { | |||||
| name: 'Electron', | |||||
| iconHtml: '<i class="fas fa-atom"></i>', | |||||
| starCount: 4 | |||||
| }, | |||||
| { | |||||
| name: 'Typescript', | |||||
| iconHtml: '<img height="30" color="white" class="skill-logo" src="/assets/icons/typescript.svg" alt="Typescript">', | |||||
| starCount: 4 | |||||
| }, | |||||
| { | |||||
| name: 'Ubuntu', | |||||
| iconHtml: '<i class="fab fa-ubuntu"></i>', | |||||
| starCount: 4 | |||||
| }, | |||||
| { | |||||
| name: 'Docker', | |||||
| iconHtml: '<i class="fab fa-docker"></i>', | |||||
| starCount: 3 | |||||
| }, | |||||
| { | |||||
| name: 'Kubernetes', | |||||
| iconHtml: '<img height="30" src="/assets/icons/kubernetes.png" alt="Kubernetes">', | |||||
| starCount: 2 | |||||
| }, | |||||
| { | |||||
| name: 'Git', | |||||
| iconHtml: '<i class="fab fa-git"></i>', | |||||
| starCount: 4.5 | |||||
| }, | |||||
| { | |||||
| name: 'NPM', | |||||
| iconHtml: '<i class="fab fa-npm"></i>', | |||||
| starCount: 5 | |||||
| }, | |||||
| { | |||||
| name: 'Unity', | |||||
| iconHtml: '<i class="fab fa-unity"></i>', | |||||
| starCount: 2 | |||||
| }, | |||||
| { | |||||
| name: 'Godot', | |||||
| iconHtml: '<img height="30" src="/assets/icons/kubernetes.png" alt="Godot">', | |||||
| starCount: 4.5 | |||||
| }, | |||||
| { | |||||
| name: 'C#', | |||||
| iconHtml: '<div height="30">C#</div>', | |||||
| starCount: 4.5 | |||||
| }, | |||||
| ]; | |||||
| constructor() { } | constructor() { } | ||||
| ngOnInit(): void { | ngOnInit(): void { | ||||
| } | } | ||||
| public captureScreen() { | |||||
| debugger; | |||||
| let data = document.getElementById('contentToConvert'); | |||||
| html2canvas(data).then(canvas => { | |||||
| // Few necessary setting options | |||||
| let imgWidth = 208; | |||||
| let pageHeight = 295; | |||||
| let imgHeight = canvas.height * imgWidth / canvas.width; | |||||
| let heightLeft = imgHeight; | |||||
| const contentDataURL = canvas.toDataURL('image/png') | |||||
| let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF | |||||
| let position = 0; | |||||
| pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) | |||||
| pdf.save('MYPdf.pdf'); // Generated PDF | |||||
| }); | |||||
| } | |||||
| getStarClass(starCount: Star, starIndex: number) { | |||||
| const starSizes: number[] = []; | |||||
| let starCountWorker = starCount; | |||||
| for (let starIterator = 1; starIterator <= MAX_STARS; starIterator++) { | |||||
| if (starCountWorker >= 1) { | |||||
| starCountWorker = (starCountWorker - 1) as Star; | |||||
| starSizes.push(1); | |||||
| } else { | |||||
| if (starCountWorker === 0) { | |||||
| starSizes.push(starCountWorker); | |||||
| continue; | |||||
| } | |||||
| starSizes.push(starCountWorker); | |||||
| starCountWorker = 0; | |||||
| } | |||||
| } | |||||
| return STAR_CLASS_MAP[starSizes[starIndex]]; | |||||
| } | |||||
| } | } |
| <nav class="navbar navbar-expand-lg fixed-top navbar-transparent" color-on-scroll="500"> | |||||
| <div class="container"> | |||||
| <div class="navbar-translate"> | |||||
| <a class="navbar-brand" href="">ziermach³</a> | |||||
| <button class="navbar-toggler navbar-burger" type="button" data-toggle="collapse" data-target="#navbarToggler" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation" (click)="sidebarToggle()"> | |||||
| <span class="navbar-toggler-bar"></span> | |||||
| <span class="navbar-toggler-bar"></span> | |||||
| <span class="navbar-toggler-bar"></span> | |||||
| </button> | |||||
| </div> | |||||
| <div class="navbar-collapse" id="navbarToggler"> | |||||
| <ul class="navbar-nav ml-auto"> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a class="nav-link" rel="tooltip" title="Star on GitHub" data-placement="bottom" href="https://github.com/JackWolfskind" target="_blank"> | |||||
| <i class="fab fa-github"></i> | |||||
| <p class="d-lg-none">GitHub</p> | |||||
| </a> | |||||
| </li> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a class="nav-link" rel="tooltip" title="my NPM Stuff" data-placement="bottom" href="https://www.npmjs.com/~cziermann" target="_blank"> | |||||
| <i class="fab fa-npm"></i> | |||||
| <p class="d-lg-none">NPM</p> | |||||
| </a> | |||||
| </li> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a class="nav-link" rel="tooltip" title="My Xing" data-placement="bottom" href="https://www.xing.com/profile/Christian_Ziermann3" target="_blank"> | |||||
| <i class="fab fa-xing"></i> | |||||
| <p class="d-lg-none">Xing</p> | |||||
| </a> | |||||
| </li> | |||||
| </ul> | |||||
| </div> | |||||
| <nav | |||||
| class="navbar navbar-expand-lg fixed-top navbar-transparent" | |||||
| color-on-scroll="500" | |||||
| > | |||||
| <div class="container"> | |||||
| <div class="navbar-translate"> | |||||
| <a class="navbar-brand" href="">ziermach</a> | |||||
| <button | |||||
| class="navbar-toggler navbar-burger" | |||||
| type="button" | |||||
| data-toggle="collapse" | |||||
| data-target="#navbarToggler" | |||||
| aria-controls="navbarTogglerDemo02" | |||||
| aria-expanded="false" | |||||
| aria-label="Toggle navigation" | |||||
| (click)="sidebarToggle()" | |||||
| > | |||||
| <span class="navbar-toggler-bar" [routerLink]="['/resume']" | |||||
| >Resume</span | |||||
| > | |||||
| <span class="navbar-toggler-bar" [routerLink]="['/games']">Games</span> | |||||
| <span class="navbar-toggler-bar" [routerLink]="['/projects']" | |||||
| >Projects</span | |||||
| > | |||||
| </button> | |||||
| </div> | </div> | ||||
| <div class="navbar-collapse" id="navbarToggler"> | |||||
| <ul class="navbar-nav ml-auto"> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a | |||||
| class="nav-link" | |||||
| rel="tooltip" | |||||
| title="Star on GitHub" | |||||
| data-placement="bottom" | |||||
| href="https://github.com/JackWolfskind" | |||||
| target="_blank" | |||||
| > | |||||
| <i class="fab fa-github"></i> | |||||
| <p class="d-lg-none">GitHub</p> | |||||
| </a> | |||||
| </li> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a | |||||
| class="nav-link" | |||||
| rel="tooltip" | |||||
| title="my NPM Stuff" | |||||
| data-placement="bottom" | |||||
| href="https://www.npmjs.com/~cziermann" | |||||
| target="_blank" | |||||
| > | |||||
| <i class="fab fa-npm"></i> | |||||
| <p class="d-lg-none">NPM</p> | |||||
| </a> | |||||
| </li> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a | |||||
| class="nav-link" | |||||
| rel="tooltip" | |||||
| title="My Xing" | |||||
| data-placement="bottom" | |||||
| href="https://www.xing.com/profile/Christian_Ziermann3" | |||||
| target="_blank" | |||||
| > | |||||
| <i class="fab fa-xing"></i> | |||||
| <p class="d-lg-none">Xing</p> | |||||
| </a> | |||||
| </li> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a | |||||
| class="nav-link" | |||||
| rel="tooltip" | |||||
| title="About Me" | |||||
| data-placement="bottom" | |||||
| [routerLink]="['/resume']" | |||||
| > | |||||
| <i class="fas fa-address-card"></i> | |||||
| <p class="d-lg-none">About Me</p> | |||||
| </a> | |||||
| </li> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a | |||||
| class="nav-link" | |||||
| rel="tooltip" | |||||
| title="Games" | |||||
| data-placement="bottom" | |||||
| [routerLink]="['/games']" | |||||
| > | |||||
| <i class="fas fa-gamepad"></i> | |||||
| <p class="d-lg-none">Games</p> | |||||
| </a> | |||||
| </li> | |||||
| <li class="nav-item" *ngIf="!isDocumentation()"> | |||||
| <a | |||||
| class="nav-link" | |||||
| rel="tooltip" | |||||
| title="Projects" | |||||
| data-placement="bottom" | |||||
| [routerLink]="['/projects']" | |||||
| > | |||||
| <i class="fas fa-code"></i> | |||||
| <p class="d-lg-none">Projects</p> | |||||
| </a> | |||||
| </li> | |||||
| </ul> | |||||
| </div> | |||||
| </div> | |||||
| </nav> | </nav> |
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
| <!-- Created with Inkscape (http://www.inkscape.org/) --> | |||||
| <svg | |||||
| xmlns:dc="http://purl.org/dc/elements/1.1/" | |||||
| xmlns:cc="http://creativecommons.org/ns#" | |||||
| xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||||
| xmlns:svg="http://www.w3.org/2000/svg" | |||||
| xmlns="http://www.w3.org/2000/svg" | |||||
| xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||||
| xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||||
| width="1024" | |||||
| height="1024" | |||||
| id="svg3030" | |||||
| version="1.1" | |||||
| inkscape:version="0.92.1 r15371" | |||||
| sodipodi:docname="icon.svg" | |||||
| inkscape:export-filename="/home/akien/Projects/godot/godot.git/icon.png" | |||||
| inkscape:export-xdpi="24" | |||||
| inkscape:export-ydpi="24"> | |||||
| <defs | |||||
| id="defs3032" /> | |||||
| <sodipodi:namedview | |||||
| id="base" | |||||
| pagecolor="#ffffff" | |||||
| bordercolor="#666666" | |||||
| borderopacity="1.0" | |||||
| inkscape:pageopacity="0.0" | |||||
| inkscape:pageshadow="2" | |||||
| inkscape:zoom="0.35" | |||||
| inkscape:cx="707.24666" | |||||
| inkscape:cy="14.063809" | |||||
| inkscape:document-units="px" | |||||
| inkscape:current-layer="layer1" | |||||
| showgrid="false" | |||||
| inkscape:window-width="1920" | |||||
| inkscape:window-height="1011" | |||||
| inkscape:window-x="0" | |||||
| inkscape:window-y="0" | |||||
| inkscape:window-maximized="1" /> | |||||
| <metadata | |||||
| id="metadata3035"> | |||||
| <rdf:RDF> | |||||
| <cc:Work | |||||
| rdf:about=""> | |||||
| <dc:format>image/svg+xml</dc:format> | |||||
| <dc:type | |||||
| rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||||
| <dc:title /> | |||||
| </cc:Work> | |||||
| </rdf:RDF> | |||||
| </metadata> | |||||
| <g | |||||
| inkscape:label="Layer 1" | |||||
| inkscape:groupmode="layer" | |||||
| id="layer1" | |||||
| transform="translate(0,-98.519719)"> | |||||
| <g | |||||
| id="g78" | |||||
| transform="matrix(4.162611,0,0,-4.162611,919.24059,771.67186)" | |||||
| style="stroke-width:0.32031175"> | |||||
| <path | |||||
| d="m 0,0 c 0,0 -0.325,1.994 -0.515,1.976 l -36.182,-3.491 c -2.879,-0.278 -5.115,-2.574 -5.317,-5.459 l -0.994,-14.247 -27.992,-1.997 -1.904,12.912 c -0.424,2.872 -2.932,5.037 -5.835,5.037 h -38.188 c -2.902,0 -5.41,-2.165 -5.834,-5.037 l -1.905,-12.912 -27.992,1.997 -0.994,14.247 c -0.202,2.886 -2.438,5.182 -5.317,5.46 l -36.2,3.49 c -0.187,0.018 -0.324,-1.978 -0.511,-1.978 l -0.049,-7.83 30.658,-4.944 1.004,-14.374 c 0.203,-2.91 2.551,-5.263 5.463,-5.472 l 38.551,-2.75 c 0.146,-0.01 0.29,-0.016 0.434,-0.016 2.897,0 5.401,2.166 5.825,5.038 l 1.959,13.286 h 28.005 l 1.959,-13.286 c 0.423,-2.871 2.93,-5.037 5.831,-5.037 0.142,0 0.284,0.005 0.423,0.015 l 38.556,2.75 c 2.911,0.209 5.26,2.562 5.463,5.472 l 1.003,14.374 30.645,4.966 z" | |||||
| style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32031175" | |||||
| id="path80" | |||||
| inkscape:connector-curvature="0" /> | |||||
| </g> | |||||
| <g | |||||
| id="g82-3" | |||||
| transform="matrix(4.162611,0,0,-4.162611,104.69892,525.90697)" | |||||
| style="stroke-width:0.32031175"> | |||||
| <path | |||||
| d="m 0,0 v -47.514 -6.035 -5.492 c 0.108,-0.001 0.216,-0.005 0.323,-0.015 l 36.196,-3.49 c 1.896,-0.183 3.382,-1.709 3.514,-3.609 l 1.116,-15.978 31.574,-2.253 2.175,14.747 c 0.282,1.912 1.922,3.329 3.856,3.329 h 38.188 c 1.933,0 3.573,-1.417 3.855,-3.329 l 2.175,-14.747 31.575,2.253 1.115,15.978 c 0.133,1.9 1.618,3.425 3.514,3.609 l 36.182,3.49 c 0.107,0.01 0.214,0.014 0.322,0.015 v 4.711 l 0.015,0.005 V 0 h 0.134 c 4.795,6.12 9.232,12.569 13.487,19.449 -5.651,9.62 -12.575,18.217 -19.976,26.182 -6.864,-3.455 -13.531,-7.369 -19.828,-11.534 -3.151,3.132 -6.7,5.694 -10.186,8.372 -3.425,2.751 -7.285,4.768 -10.946,7.118 1.09,8.117 1.629,16.108 1.846,24.448 -9.446,4.754 -19.519,7.906 -29.708,10.17 -4.068,-6.837 -7.788,-14.241 -11.028,-21.479 -3.842,0.642 -7.702,0.88 -11.567,0.926 v 0.006 c -0.027,0 -0.052,-0.006 -0.075,-0.006 -0.024,0 -0.049,0.006 -0.073,0.006 V 63.652 C 93.903,63.606 90.046,63.368 86.203,62.726 82.965,69.964 79.247,77.368 75.173,84.205 64.989,81.941 54.915,78.789 45.47,74.035 45.686,65.695 46.225,57.704 47.318,49.587 43.65,47.237 39.795,45.22 36.369,42.469 32.888,39.791 29.333,37.229 26.181,34.097 19.884,38.262 13.219,42.176 6.353,45.631 -1.048,37.666 -7.968,29.069 -13.621,19.449 -9.368,12.569 -4.928,6.12 -0.134,0 Z" | |||||
| style="fill:#478cbf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32031175" | |||||
| id="path84-6" | |||||
| inkscape:connector-curvature="0" /> | |||||
| </g> | |||||
| <g | |||||
| id="g86-7" | |||||
| transform="matrix(4.162611,0,0,-4.162611,784.07144,817.24284)" | |||||
| style="stroke-width:0.32031175"> | |||||
| <path | |||||
| d="m 0,0 -1.121,-16.063 c -0.135,-1.936 -1.675,-3.477 -3.611,-3.616 l -38.555,-2.751 c -0.094,-0.007 -0.188,-0.01 -0.281,-0.01 -1.916,0 -3.569,1.406 -3.852,3.33 l -2.211,14.994 H -81.09 l -2.211,-14.994 c -0.297,-2.018 -2.101,-3.469 -4.133,-3.32 l -38.555,2.751 c -1.936,0.139 -3.476,1.68 -3.611,3.616 L -130.721,0 -163.268,3.138 c 0.015,-3.498 0.06,-7.33 0.06,-8.093 0,-34.374 43.605,-50.896 97.781,-51.086 h 0.066 0.067 c 54.176,0.19 97.766,16.712 97.766,51.086 0,0.777 0.047,4.593 0.063,8.093 z" | |||||
| style="fill:#478cbf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32031175" | |||||
| id="path88-5" | |||||
| inkscape:connector-curvature="0" /> | |||||
| </g> | |||||
| <g | |||||
| id="g90-3" | |||||
| transform="matrix(4.162611,0,0,-4.162611,389.21484,625.67104)" | |||||
| style="stroke-width:0.32031175"> | |||||
| <path | |||||
| d="m 0,0 c 0,-12.052 -9.765,-21.815 -21.813,-21.815 -12.042,0 -21.81,9.763 -21.81,21.815 0,12.044 9.768,21.802 21.81,21.802 C -9.765,21.802 0,12.044 0,0" | |||||
| style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32031175" | |||||
| id="path92-5" | |||||
| inkscape:connector-curvature="0" /> | |||||
| </g> | |||||
| <g | |||||
| id="g94-6" | |||||
| transform="matrix(4.162611,0,0,-4.162611,367.36686,631.05679)" | |||||
| style="stroke-width:0.32031175"> | |||||
| <path | |||||
| d="m 0,0 c 0,-7.994 -6.479,-14.473 -14.479,-14.473 -7.996,0 -14.479,6.479 -14.479,14.473 0,7.994 6.483,14.479 14.479,14.479 C -6.479,14.479 0,7.994 0,0" | |||||
| style="fill:#414042;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32031175" | |||||
| id="path96-2" | |||||
| inkscape:connector-curvature="0" /> | |||||
| </g> | |||||
| <g | |||||
| id="g98-9" | |||||
| transform="matrix(4.162611,0,0,-4.162611,511.99336,724.73954)" | |||||
| style="stroke-width:0.32031175"> | |||||
| <path | |||||
| d="m 0,0 c -3.878,0 -7.021,2.858 -7.021,6.381 v 20.081 c 0,3.52 3.143,6.381 7.021,6.381 3.878,0 7.028,-2.861 7.028,-6.381 V 6.381 C 7.028,2.858 3.878,0 0,0" | |||||
| style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32031175" | |||||
| id="path100-1" | |||||
| inkscape:connector-curvature="0" /> | |||||
| </g> | |||||
| <g | |||||
| id="g102-2" | |||||
| transform="matrix(4.162611,0,0,-4.162611,634.78706,625.67104)" | |||||
| style="stroke-width:0.32031175"> | |||||
| <path | |||||
| d="m 0,0 c 0,-12.052 9.765,-21.815 21.815,-21.815 12.041,0 21.808,9.763 21.808,21.815 0,12.044 -9.767,21.802 -21.808,21.802 C 9.765,21.802 0,12.044 0,0" | |||||
| style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32031175" | |||||
| id="path104-7" | |||||
| inkscape:connector-curvature="0" /> | |||||
| </g> | |||||
| <g | |||||
| id="g106-0" | |||||
| transform="matrix(4.162611,0,0,-4.162611,656.64056,631.05679)" | |||||
| style="stroke-width:0.32031175"> | |||||
| <path | |||||
| d="m 0,0 c 0,-7.994 6.477,-14.473 14.471,-14.473 8.002,0 14.479,6.479 14.479,14.473 0,7.994 -6.477,14.479 -14.479,14.479 C 6.477,14.479 0,7.994 0,0" | |||||
| style="fill:#414042;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32031175" | |||||
| id="path108-9" | |||||
| inkscape:connector-curvature="0" /> | |||||
| </g> | |||||
| </g> | |||||
| </svg> |
| <svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" viewBox="0 0 128 128"><path d="M127.08009,57.4463A4.50927,4.50927,0,0,0,122.67479,54H50.63619a10.00287,10.00287,0,1,0,0,20h51.6275L87.75289,99.4404a5.81432,5.81432,0,0,1-4.3803,2.4912H46.06349a5.813,5.813,0,0,1-4.3804-2.4912L22.9004,66.5107a5.88865,5.88865,0,0,1-.0005-5.0185l18.7842-32.9336a5.80915,5.80915,0,0,1,4.3794-2.4902h37.3091a5.8125,5.8125,0,0,1,4.3798,2.4912l8.4698,14.8486a5.83,5.83,0,0,0,4.7959,2.7588h14.5561a3.2128,3.2128,0,0,0,2.9024-1.5274,3.15525,3.15525,0,0,0-.1245-3.2197l-17.961-30.9101A9.67814,9.67814,0,0,0,92.53609,6H36.89889a9.67976,9.67976,0,0,0-7.855,4.5088L1.0952,59.5098a9.75557,9.75557,0,0,0,0,8.9824l27.9483,48.999A9.68175,9.68175,0,0,0,36.89889,122h55.6372a9.68745,9.68745,0,0,0,7.8706-4.5371l26.9029-48.9717C128.564,66.2939,127.877,61.2725,127.08009,57.4463Z"/></svg> |
| <svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="star" class="svg-inline--fa fa-star fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z"></path></svg> |
| <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="star" class="svg-inline--fa fa-star fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"></path></svg> |
| <svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"><rect width="40" height="40" x="5" y="5" fill="none" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"/><polygon points="15,26.445 20,26.445 20,42 24,42 24,26.445 29,26.445 29,23 15,23"/><path d="M34.209,28.15c0-1.083,0.769-2.096,2.9-2.096s4.018,1.258,4.018,1.258l0.14-3.704c0,0-11.25-3.075-11.25,4.717 c0,5.73,7.721,5.73,7.721,8.315c0,0.245,0.105,2.026-2.62,2.026c-2.725,0-4.996-1.712-4.996-1.712v4.158 c0,0,11.879,3.843,11.879-4.822C42,30.665,34.209,30.945,34.209,28.15z"/></svg> |
| @import "paper-kit/responsive"; | @import "paper-kit/responsive"; | ||||
| @import "paper-kit/plugins/datetimepicker"; | @import "paper-kit/plugins/datetimepicker"; | ||||
| @import "paper-kit/social-buttons"; | @import "paper-kit/social-buttons"; | ||||
| @import "paper-kit/animations"; | |||||
| @import "paper-kit/ziermach"; | @import "paper-kit/ziermach"; |
| .slide-in-right { | |||||
| -webkit-animation: slide-in-right 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; | |||||
| animation: slide-in-right 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; | |||||
| } | |||||
| /* ---------------------------------------------- | |||||
| * Generated by Animista on 2020-5-14 23:22:38 | |||||
| * Licensed under FreeBSD License. | |||||
| * See http://animista.net/license for more info. | |||||
| * w: http://animista.net, t: @cssanimista | |||||
| * ---------------------------------------------- */ | |||||
| /** | |||||
| * ---------------------------------------- | |||||
| * animation slide-in-right | |||||
| * ---------------------------------------- | |||||
| */ | |||||
| @-webkit-keyframes slide-in-right { | |||||
| 0% { | |||||
| -webkit-transform: translateX(1000px); | |||||
| transform: translateX(1000px); | |||||
| opacity: 0; | |||||
| } | |||||
| 100% { | |||||
| -webkit-transform: translateX(0); | |||||
| transform: translateX(0); | |||||
| opacity: 1; | |||||
| } | |||||
| } | |||||
| @keyframes slide-in-right { | |||||
| 0% { | |||||
| -webkit-transform: translateX(1000px); | |||||
| transform: translateX(1000px); | |||||
| opacity: 0; | |||||
| } | |||||
| 100% { | |||||
| -webkit-transform: translateX(0); | |||||
| transform: translateX(0); | |||||
| opacity: 1; | |||||
| } | |||||
| } |
| .section-nucleo-icons{ | |||||
| .section-nucleo-icons { | |||||
| padding: 100px 0; | padding: 100px 0; | ||||
| .icons-container{ | |||||
| .icons-container { | |||||
| position: relative; | position: relative; | ||||
| max-width: 450px; | max-width: 450px; | ||||
| height: 300px; | height: 300px; | ||||
| max-height: 300px; | max-height: 300px; | ||||
| margin: 0 auto; | margin: 0 auto; | ||||
| i{ | |||||
| i { | |||||
| font-size: 34px; | font-size: 34px; | ||||
| position: absolute; | position: absolute; | ||||
| top: 0; | top: 0; | ||||
| left: 0; | left: 0; | ||||
| &:nth-child(1){ | |||||
| &:nth-child(1) { | |||||
| top: 5%; | top: 5%; | ||||
| left: 7%; | left: 7%; | ||||
| } | } | ||||
| &:nth-child(2){ | |||||
| &:nth-child(2) { | |||||
| top: 28%; | top: 28%; | ||||
| left: 24%; | left: 24%; | ||||
| } | } | ||||
| &:nth-child(3){ | |||||
| &:nth-child(3) { | |||||
| top: 40%; | top: 40%; | ||||
| } | } | ||||
| &:nth-child(4){ | |||||
| &:nth-child(4) { | |||||
| top: 18%; | top: 18%; | ||||
| left: 62%; | left: 62%; | ||||
| } | } | ||||
| &:nth-child(5){ | |||||
| &:nth-child(5) { | |||||
| top: 74%; | top: 74%; | ||||
| left: 3%; | left: 3%; | ||||
| } | } | ||||
| &:nth-child(6){ | |||||
| &:nth-child(6) { | |||||
| top: 36%; | top: 36%; | ||||
| left: 44%; | left: 44%; | ||||
| font-size: 65px; | font-size: 65px; | ||||
| color: $danger-color; | color: $danger-color; | ||||
| padding: 1px; | padding: 1px; | ||||
| } | } | ||||
| &:nth-child(7){ | |||||
| &:nth-child(7) { | |||||
| top: 59%; | top: 59%; | ||||
| left: 26%; | left: 26%; | ||||
| } | } | ||||
| &:nth-child(8){ | |||||
| &:nth-child(8) { | |||||
| top: 60%; | top: 60%; | ||||
| left: 69%; | left: 69%; | ||||
| } | } | ||||
| &:nth-child(9){ | |||||
| &:nth-child(9) { | |||||
| top: 72%; | top: 72%; | ||||
| left: 47%; | left: 47%; | ||||
| } | } | ||||
| &:nth-child(10){ | |||||
| &:nth-child(10) { | |||||
| top: 88%; | top: 88%; | ||||
| left: 27%; | left: 27%; | ||||
| } | } | ||||
| &:nth-child(11){ | |||||
| &:nth-child(11) { | |||||
| top: 31%; | top: 31%; | ||||
| left: 80%; | left: 80%; | ||||
| } | } | ||||
| &:nth-child(12){ | |||||
| &:nth-child(12) { | |||||
| top: 88%; | top: 88%; | ||||
| left: 68%; | left: 68%; | ||||
| } | } | ||||
| &:nth-child(13){ | |||||
| &:nth-child(13) { | |||||
| top: 5%; | top: 5%; | ||||
| left: 81%; | left: 81%; | ||||
| } | } | ||||
| &:nth-child(14){ | |||||
| &:nth-child(14) { | |||||
| top: 58%; | top: 58%; | ||||
| left: 90%; | left: 90%; | ||||
| } | } | ||||
| &:nth-child(15){ | |||||
| &:nth-child(15) { | |||||
| top: 6%; | top: 6%; | ||||
| left: 40%; | left: 40%; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| .section-dark{ | |||||
| .icons-container{ | |||||
| .section-dark { | |||||
| .icons-container { | |||||
| color: $white-color; | color: $white-color; | ||||
| } | } | ||||
| } | } | ||||
| .info{ | |||||
| .icon{ | |||||
| .info { | |||||
| .icon { | |||||
| margin-top: 0; | margin-top: 0; | ||||
| font-size: 3.4em; | font-size: 3.4em; | ||||
| } | } | ||||
| } | } | ||||
| .icon-primary{ | |||||
| .icon-primary { | |||||
| color: $primary-color; | color: $primary-color; | ||||
| } | } | ||||
| .icon-info{ | |||||
| .icon-info { | |||||
| color: $info-color; | color: $info-color; | ||||
| } | } | ||||
| .icon-success{ | |||||
| .icon-success { | |||||
| color: $success-color; | color: $success-color; | ||||
| } | } | ||||
| .icon-warning{ | |||||
| .icon-warning { | |||||
| color: $warning-color; | color: $warning-color; | ||||
| } | } | ||||
| .icon-danger{ | |||||
| .icon-danger { | |||||
| color: $danger-color; | color: $danger-color; | ||||
| } | } | ||||
| .icon-neutral{ | |||||
| .icon-neutral { | |||||
| color: $white-color; | color: $white-color; | ||||
| } | } |
| .description, | .description, | ||||
| .card-plain .card-description, | .card-plain .card-description, | ||||
| .card-plain .card-category{ | .card-plain .card-category{ | ||||
| color: rgba($white-color, .7); | |||||
| color: $white-color; | |||||
| } | } | ||||
| hr{ | hr{ | ||||
| border-color: rgba(255, 255, 255, 0.19); | border-color: rgba(255, 255, 255, 0.19); |
| &, | &, | ||||
| a{ | a{ | ||||
| color: $card-black-color; | |||||
| color: $card-muted-color; | |||||
| text-decoration: none; | text-decoration: none; | ||||
| } | } | ||||
| } | } | ||||
| text-transform: uppercase; | text-transform: uppercase; | ||||
| } | } | ||||
| .description{ | .description{ | ||||
| color: $dark-gray; | |||||
| color: $white-color; | |||||
| } | } | ||||
| blockquote small{ | blockquote small{ | ||||
| font-style: normal; | font-style: normal; |
| $font-color: #66615b !default; | |||||
| $font-color: white !default; | |||||
| $fill-font-color: rgba(255, 255, 255, 0.8); | $fill-font-color: rgba(255, 255, 255, 0.8); | ||||
| $font-family-sans-serif: 'Montserrat', "Helvetica", Arial, sans-serif; | $font-family-sans-serif: 'Montserrat', "Helvetica", Arial, sans-serif; | ||||
| $default-gray: #181a1b !default; | $default-gray: #181a1b !default; | ||||
| $light-gray: #423e3e !default; | $light-gray: #423e3e !default; | ||||
| $medium-gray: #DDDDDD !default; | $medium-gray: #DDDDDD !default; | ||||
| $dark-gray: #9A9A9A !default; | |||||
| $dark-gray: rgb(202, 202, 202) !default; | |||||
| $placeholder-gray: rgba(210, 210, 210, 1) !default; | $placeholder-gray: rgba(210, 210, 210, 1) !default; | ||||
| $default-color: #66615B !default; | $default-color: #66615B !default; | ||||
| $default-bg: #66615B !default; | $default-bg: #66615B !default; | ||||
| $default-states-color: #403D39 !default; | |||||
| $default-states-color: white !default; | |||||
| $primary-color: #51cbce !default; | $primary-color: #51cbce !default; | ||||
| $primary-states-color: darken($primary-color, 10%) !default; | $primary-states-color: darken($primary-color, 10%) !default; | ||||
| $height-base: 40px !default; | $height-base: 40px !default; | ||||
| $font-size-base: 14px !default; | |||||
| $font-size-small: 12px !default; | |||||
| $font-size-base: 16px !default; | |||||
| $font-size-small: 14px !default; | |||||
| $font-size-medium: 16px !default; | $font-size-medium: 16px !default; | ||||
| $font-size-large: 20px !default; | $font-size-large: 20px !default; | ||||
| $font-size-large-navbar: 22px !default; | $font-size-large-navbar: 22px !default; | ||||
| //variables used in cards | //variables used in cards | ||||
| $card-black-color: #333333 !default; | $card-black-color: #333333 !default; | ||||
| $card-muted-color: #ccc !default; | |||||
| $card-muted-color: white !default; | |||||
| $card-background-blue: #b8d8d8 !default; | $card-background-blue: #b8d8d8 !default; | ||||
| $card-font-blue: #506568 !default; | $card-font-blue: #506568 !default; |
| #register-navbar a { | #register-navbar a { | ||||
| color: #fff; | color: #fff; | ||||
| } | } | ||||
| .container-left { | |||||
| padding-right: 25%; | |||||
| } | |||||
| .register-background .container { | .register-background .container { | ||||
| margin-top: 11%; | margin-top: 11%; | ||||
| position: relative; | position: relative; | ||||
| //margin-top: 85px; | //margin-top: 85px; | ||||
| } | } | ||||
| } | } | ||||
| .avatar-head { | |||||
| position: absolute; | |||||
| z-index: -1; | |||||
| bottom: 0; | |||||
| left: 31%; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| background-repeat: no-repeat; | |||||
| background-size: contain; | |||||
| } | |||||
| .moving-clouds { | .moving-clouds { | ||||
| position: absolute; | position: absolute; | ||||
| z-index: 1; | z-index: 1; |
| <html lang="en"> | <html lang="en"> | ||||
| <head> | <head> | ||||
| <meta charset="utf-8"> | <meta charset="utf-8"> | ||||
| <title>ZIERMACH³</title> | |||||
| <title>ZIERMACH</title> | |||||
| <base href="/"> | <base href="/"> | ||||
| <link rel="icon" type="image/png" href="assets/img/favicon.ico"> | <link rel="icon" type="image/png" href="assets/img/favicon.ico"> |
| { | { | ||||
| "extends": "../tsconfig.json", | "extends": "../tsconfig.json", | ||||
| "compilerOptions": { | "compilerOptions": { | ||||
| "importHelpers": true, | |||||
| "esModuleInterop": true, | |||||
| "allowSyntheticDefaultImports": true, | |||||
| "outDir": "../out-tsc/app", | "outDir": "../out-tsc/app", | ||||
| "module": "es2015", | "module": "es2015", | ||||
| "baseUrl": "", | "baseUrl": "", |
| "baseUrl": "src", | "baseUrl": "src", | ||||
| "sourceMap": true, | "sourceMap": true, | ||||
| "declaration": false, | "declaration": false, | ||||
| "allowSyntheticDefaultImports": true, | |||||
| "moduleResolution": "node", | "moduleResolution": "node", | ||||
| "emitDecoratorMetadata": true, | "emitDecoratorMetadata": true, | ||||
| "experimentalDecorators": true, | "experimentalDecorators": true, | ||||
| "target": "es5", | "target": "es5", | ||||
| "typeRoots": [ | |||||
| "node_modules/@types" | |||||
| ], | |||||
| "lib": [ | |||||
| "es2016", | |||||
| "dom" | |||||
| ], | |||||
| "typeRoots": ["node_modules/@types"], | |||||
| "lib": ["es2016", "dom"], | |||||
| "module": "es2015" | "module": "es2015" | ||||
| } | } | ||||
| } | |||||
| } |