From 80a9fb9c0a3f3a167f001ec919d0f2c6cb382cc5 Mon Sep 17 00:00:00 2001 From: Dslak Date: Wed, 9 Dec 2020 13:31:41 +0100 Subject: [PATCH 1/2] add sitemap --- src/app/app-routing.module.ts | 4 +- src/app/app.module.ts | 4 +- src/app/sitemap/sitemap.component.html | 2 + src/app/sitemap/sitemap.component.scss | 0 src/app/sitemap/sitemap.component.spec.ts | 25 ++++++++ src/app/sitemap/sitemap.component.ts | 73 +++++++++++++++++++++++ 6 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 src/app/sitemap/sitemap.component.html create mode 100644 src/app/sitemap/sitemap.component.scss create mode 100644 src/app/sitemap/sitemap.component.spec.ts create mode 100644 src/app/sitemap/sitemap.component.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index d21da2f..9e18076 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -6,6 +6,7 @@ import { PortfolioComponent } from './portfolio/portfolio.component' import { DetailComponent } from './detail/detail.component' import { HomeComponent } from './home/home.component' import { AdminComponent } from './admin/admin.component' +import { SitemapComponent } from './sitemap/sitemap.component' const routes: Routes = [ { @@ -32,7 +33,8 @@ const routes: Routes = [ }, { path: 'admin', component: AdminComponent } ] - } + }, + { path: 'sitemap', component: SitemapComponent } ] @NgModule({ diff --git a/src/app/app.module.ts b/src/app/app.module.ts index e9ca59f..4ee3054 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -16,6 +16,7 @@ import { DetailComponent } from './detail/detail.component'; import { AdminComponent } from './admin/admin.component'; import { HomeComponent } from './home/home.component'; import { SpinnerComponent } from './spinner/spinner.component'; +import { SitemapComponent } from './sitemap/sitemap.component'; @NgModule({ declarations: [ @@ -27,7 +28,8 @@ import { SpinnerComponent } from './spinner/spinner.component'; DetailComponent, AdminComponent, HomeComponent, - SpinnerComponent + SpinnerComponent, + SitemapComponent ], imports: [ BrowserModule, diff --git a/src/app/sitemap/sitemap.component.html b/src/app/sitemap/sitemap.component.html new file mode 100644 index 0000000..9c39da7 --- /dev/null +++ b/src/app/sitemap/sitemap.component.html @@ -0,0 +1,2 @@ + +{{sitemap}} diff --git a/src/app/sitemap/sitemap.component.scss b/src/app/sitemap/sitemap.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/sitemap/sitemap.component.spec.ts b/src/app/sitemap/sitemap.component.spec.ts new file mode 100644 index 0000000..0278236 --- /dev/null +++ b/src/app/sitemap/sitemap.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SitemapComponent } from './sitemap.component'; + +describe('SitemapComponent', () => { + let component: SitemapComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SitemapComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SitemapComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/sitemap/sitemap.component.ts b/src/app/sitemap/sitemap.component.ts new file mode 100644 index 0000000..a5ffe90 --- /dev/null +++ b/src/app/sitemap/sitemap.component.ts @@ -0,0 +1,73 @@ +import { Component, OnInit } from '@angular/core' +import { Router, NavigationEnd } from '@angular/router' +import { ApisService } from '../services/apis.service' +import { environment } from '../../environments/environment' + +@Component({ + selector: 'app-sitemap', + templateUrl: './sitemap.component.html', + styleUrls: ['./sitemap.component.scss'] +}) +export class SitemapComponent implements OnInit { + + public basePath = `${environment.BASE_PATH}` + public sitemap: string = '' + + constructor( + private apisService: ApisService, + private router: Router + ) { } + + ngOnInit(): void { + + const sections = [ + 'about', + 'portfolio', + 'exhibitions', + 'installations', + 'entertainment', + 'performances', + 'worhshops' + ] + + sections.forEach((e) => { + this.sitemap += `${this.basePath}/${e}\n` + }) + + this.apisService.getPortfolio('portfolio').toPromise().then((response) => { + response.items.forEach((e) => { + this.sitemap += `${this.basePath}/detail/${e.type}/${e.id}/${this.parseTitle(e.title)}\n` + }) + + this.apisService.getPortfolio('exhibitions').toPromise().then((response) => { + response.items.forEach((e) => { + this.sitemap += `${this.basePath}/detail/exhibitions/${e.id}/${this.parseTitle(e.title)}\n` + }) + + this.download() + + },(error) => { + console.error(error) + }).catch((e) => { + console.error(e) + }) + + },(error) => { + console.error(error) + }).catch((e) => { + console.error(e) + }) + } + + parseTitle(title): string { + return title.toLowerCase().replace(/[^a-zA-Z0-9]/g, '-').replace('--', '-').replace('--', '-') + } + + download() { + const header = '\n\n' + const footer = '\n' + const blob = new Blob([`${header}${this.sitemap}${footer}`], { type: 'text/xml' }) + const url= window.URL.createObjectURL(blob) + window.location.assign(url) + } +} From eb1536ca8cc38d3fe794c6da679bb50abcf4d56a Mon Sep 17 00:00:00 2001 From: Dslak Date: Wed, 9 Dec 2020 13:37:43 +0100 Subject: [PATCH 2/2] . --- deploy.sh | 2 +- src/app/sitemap/sitemap.component.html | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/deploy.sh b/deploy.sh index 0d0a48f..6ca8c6c 100644 --- a/deploy.sh +++ b/deploy.sh @@ -1,5 +1,5 @@ #!/bin/bash yarn prod -rsync -avz --delete --exclude '/apis/conn.conn' --exclude '.well-known' --exclude '/uploads' -e "ssh -i ./auth/identity.pem -p2222" ./dist/dslak-website/* cdr@2.238.194.8:/www/dslak.it/ +rsync -avz --delete --exclude '/apis/conn.conn' --exclude '/sitemap.xml' --exclude '.well-known' --exclude '/uploads' -e "ssh -i ./auth/identity.pem -p2222" ./dist/dslak-website/* cdr@2.238.194.8:/www/dslak.it/ diff --git a/src/app/sitemap/sitemap.component.html b/src/app/sitemap/sitemap.component.html index 9c39da7..e69de29 100644 --- a/src/app/sitemap/sitemap.component.html +++ b/src/app/sitemap/sitemap.component.html @@ -1,2 +0,0 @@ - -{{sitemap}}