feat: update title description and keywords (#5689)

This commit is contained in:
maksim-karatkevich 2020-05-20 18:06:57 +03:00 committed by GitHub
parent 994522c2c0
commit a7d1716fc6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 71 additions and 36 deletions

View file

@ -63,20 +63,9 @@ export class NgxAdminLandingPageComponent implements OnDestroy, OnInit {
}),
filter(item => item),
tap((item: any) => {
switch (item.name) {
case 'Installation Guidelines':
this.metaDataService.updateTitle(`Ngx-admin - Guideline to install.`);
break;
case 'Server deployment':
case 'Theme System':
case 'Change Theme':
case 'Backend integration':
this.metaDataService.updateTitle(`Ngx-admin - ${item.name}`);
break;
default:
this.metaDataService.updateTitle(item.name);
}
this.metaDataService.updateTitle(item.title);
this.metaDataService.updateDescription(item.description);
this.metaDataService.updateKeywords(item.keywords);
}),
publishReplay(),
refCount(),

View file

@ -1,9 +1,19 @@
import { Component } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import { MetadataService } from '../../../../../../src/app/@core/utils/metadata.service';
@Component({
selector: 'ngx-material-admin-info',
templateUrl: './material-info.component.html',
styleUrls: ['./../main-info-section.component.scss'],
})
export class MaterialAdminInfoComponent {
export class MaterialAdminInfoComponent implements OnInit {
constructor(private metaDataService: MetadataService) {}
ngOnInit(): void {
this.metaDataService.updateTitle('Ngx-admin material dashboard template based on Angular 9+ and Bootstrap 4+');
this.metaDataService.updateDescription('Ngx-admin material works perfectly with Angular Material and Nebular.' +
' Over 40+ Angular Components and 60+ Usage Examples.Take the best from both!');
this.metaDataService.updateKeywords('Ngx-admin material theme, ngx-admin material dashboard, ngx-admin material');
}
}

View file

@ -5,7 +5,7 @@
<title>The most popular admin dashboard based on Angular 9+ and Nebular.</title>
<meta name="description" content="Save more than $33,000 using ngx-admin for personal and commercial use. The dashboard is based on Angular 9+ and Bootstrap 4+. Completely FREE and MIT licensed.">
<meta name="keywords" content="ngx admin LP, admin panel template, admin dashboard, bootstrap 4+ templates, angular bootstrap, admin template, free dashboard templates, angular dashboard, angular templates free, angular template admin, angular template admin free, create a template angular, angular template builder, angular template download, angular template dashboard, angular ecommerce template, angular template free download, angular template github, angular template guide, angular ng template, angular template in component, angular template theme, angular template ui, angular template website, angular template with bootstrap, angular template 2020, angular template 2019, angular 9 template free, angular 9 template free download, angular 9 template github, angular 9 template dmin, angular 9 template, angular 9 templates free download, open source template, open source responsive admin templates, admin panel template free download, angular admin panel template, dashboard templates 2020">
<meta name="keywords" content="Ngx admin, angular 9+ admin, angular 9+ admin template, ngx-admin LP, admin panel template, admin dashboard, bootstrap 4+ templates, angular bootstrap, admin template, free dashboard templates, angular dashboard, angular templates free, angular template admin, integration Angular ngx-admin with .NET, Node.js, Ruby or PHP, backend bundles, PHP Laravel Starter Bundle, Node.js MongoDB Starter Bundle, Node.js Nest Starter Bundle, Java/Spring Light Bundle, .NET Core E-Commerce Bundle, .NET E-Commerce Bundle, Node.js MongoDB E-Commerce Bundle, Java/Spring E-Commerce Bundle, .NET Core IoT Bundle, .NET IoT Bundle, .NET Core Starter Bundle, Python Flask Starter Bundle, Django Starter Bundle, Java/Spring Starter Bundle, .NET Starter Bundle, .NET Core Light Bundle,">
<meta property="og:description" content="Save more than $33,000 using ngx-admin for personal and commercial use. The dashboard is based on Angular 9+ and Bootstrap 4+. Completely FREE and MIT licensed.">
<meta property="og:title" content="The most popular admin dashboard based on Angular 9+ and Nebular.">

View file

@ -6,7 +6,9 @@ export const structure = [
{
type: 'page',
name: 'What is ngx-admin?',
description: 'Ngx-admin is Angular 9+ Bootstrap 4+ admin dashboard template. Free and Open Source to bootstrap the development of your product or to learn Angular.',
title: 'Ngx-admin - documentation',
description: 'ngx-admin is a front-end admin dashboard template based on Angular 9+, Bootstrap 4+ and Nebular',
keywords: 'Ngx-admin features, Angular 9+ typescript, Bootstrap 4+ & SCSS, ngx-admin documentation',
children: [
{
type: 'block',
@ -18,7 +20,10 @@ export const structure = [
{
type: 'page',
name: 'Installation Guidelines',
description: 'A guideline to install ngx-admin on your machine: backend integration, tools you need to be installed.',
title: 'Ngx-admin - Guideline to install.',
description: 'A guideline to install ngx-admin on your machine: backend integration,' +
' tools you need to be installed.',
keywords: 'Ngx-admin install tools, ngx-admin versions, ngx-admin install.',
children: [
{
type: 'block',
@ -30,7 +35,9 @@ export const structure = [
{
type: 'page',
name: 'Server deployment',
title: 'Ngx-admin - Server deployment',
description: 'How to set up your web-server to better serve the application on Angular.',
keywords: 'Ngx-admin server, ngx-admin server deployment',
children: [
{
type: 'block',
@ -48,7 +55,10 @@ export const structure = [
{
type: 'page',
name: 'Theme System',
description: 'Theme System in is a set of rules we put into how SCSS files and variables are organized. Theme Map | Component Variables | Built-in-Themes',
title: 'Ngx-admin - Theme System',
description: 'Theme System in is a set of rules we put into how SCSS files and variables are organized.' +
' Theme Map | Component Variables | Built-in-Themes',
keywords: 'Nebular theme system, nebular components, nebular theme map, ngx-admin built-in-themes',
children: [
{
type: 'block',
@ -60,7 +70,10 @@ export const structure = [
{
type: 'page',
name: 'Change Theme',
description: 'How to change the current theme in ngx-admin. Switch from Cosmic to Default. Runtime Theme Switch.',
title: 'Ngx-admin - Change theme',
description: 'How to change the current theme in ngx-admin.' +
' Switch from Cosmic to Default. Runtime Theme Switch.',
keywords: 'ngx-admin runtime theme switch, ngx-admin theme change',
children: [
{
type: 'block',
@ -72,7 +85,11 @@ export const structure = [
{
type: 'page',
name: 'Backend integration',
description: 'Approaches of integration of ngx-admin application with backend API. Integration with JSON REST server, angular-cli/webpack-dev-server setup.',
title: 'Ngx-admin - Backend integration',
description: 'Approaches of integration of ngx-admin application with backend API.' +
' Integration with JSON REST server, angular-cli/webpack-dev-server setup.',
keywords: 'Ngx-admin backend integration, JSON REST server integration,' +
' angular-cli/webpack-dev-server setup, ngx-admin production setup',
children: [
{
type: 'block',

View file

@ -9,17 +9,18 @@ export class MetadataService {
private meta: Meta,
) {}
updateTitle(title: string) {
updateTitle(title: string): void {
this.title.setTitle(title);
this.meta.updateTag({ property: 'og:title', content: title });
}
updateDescription(desc: string) {
updateDescription(desc: string): void {
this.meta.updateTag({ name: 'description', content: desc });
this.meta.updateTag({ property: 'og:description', content: desc });
}
updateKeywords(keywords: string): void {
this.meta.updateTag({ name: 'keywords', content: keywords });
}
}

View file

@ -3,7 +3,7 @@ import { NbThemeService } from '@nebular/theme';
import { takeWhile } from 'rxjs/operators' ;
import { SolarData } from '../../@core/data/solar';
import { AbService } from '../../@core/utils/ab.service';
import {MetadataService} from '../../@core/utils/metadata.service';
import { MetadataService } from '../../@core/utils/metadata.service';
interface CardSettings {
title: string;
@ -103,7 +103,10 @@ export class DashboardComponent implements OnInit, OnDestroy {
}
ngOnInit() {
this.metaDataService.updateTitle('Ngx-admin IoT dashboard on Angular 9+ and Nebular.');
this.metaDataService.updateTitle('Ngx-admin IoT dashboard on Angular 9+ and Nebular');
this.metaDataService.updateDescription('IoT dashboard on Ngx-admin is Angular 9+ Bootstrap 4+ admin' +
' dashboard template. Over 40+ Angular Components and 60+ Usage Examples. Completely FREE and MIT licensed.');
this.metaDataService.updateKeywords('ngx admin, ngx admin dashboard, ngx iot dashboard, ngx-admin iot template');
this.abService.onAbEvent(AbService.VARIANT_HIDE_CALL_ACTION)
.pipe(takeWhile(() => this.alive))

View file

@ -1,7 +1,7 @@
import { Component, OnDestroy, OnInit } from '@angular/core';
import { takeWhile } from 'rxjs/operators';
import { AbService } from '../../@core/utils/ab.service';
import {MetadataService} from '../../@core/utils/metadata.service';
import { MetadataService } from '../../@core/utils/metadata.service';
@Component({
selector: 'ngx-ecommerce',
@ -17,6 +17,9 @@ export class ECommerceComponent implements OnInit, OnDestroy {
ngOnInit() {
this.metaDataService.updateTitle('Ngx-admin e-commerce dashboard on Angular 9+ and Nebular.');
this.metaDataService.updateDescription('E-commerce dashboard on Ngx-admin is Angular 9+ Bootstrap 4+ admin' +
' dashboard template. Over 40+ Angular Components and 60+ Usage Examples. Completely FREE and MIT licensed.');
this.metaDataService.updateKeywords('ngx-admin dashboard, ngx ecommerce dashboard, angular 9+');
this.abService.onAbEvent(AbService.VARIANT_HIDE_CALL_ACTION)
.pipe(takeWhile(() => this.alive))

View file

@ -35,7 +35,11 @@ export class PagesComponent implements OnInit, OnDestroy {
.pipe(takeUntil(this.destroy$))
.subscribe((data: { tag: string; item: NbMenuItem }) => {
if (data.item.title !== 'E-commerce' && data.item.title !== 'IoT Dashboard')
this.metaDataService.updateTitle(`Ngx-admin dashboard by Akveo| ${data.item.title}`);
this.metaDataService.updateTitle(`Ngx-admin dashboard by Akveo | ${data.item.title}`);
this.metaDataService.updateDescription('Ngx-admin is Angular 9+ Bootstrap 4+ admin dashboard template.' +
' Over 40+ Angular Components, 60+ Usage Examples and UI features.');
this.metaDataService.updateKeywords('ngx-admin, ngx admin dashboard features, ngx admin forms,' +
' ngx-admin maps, ngx-admin UI features, ngx-admin tables, ngx admin overlays, ngx-admin extra components');
});
}

View file

@ -1,16 +1,17 @@
import {Component, OnDestroy} from '@angular/core';
import {NbMediaBreakpoint} from '@nebular/theme';
import {Router} from '@angular/router';
import {AnalyticsService} from '../@core/utils';
import {CurrentThemeService} from '../@core/utils/theme.service';
import {Observable} from 'rxjs';
import { Component, OnDestroy, OnInit } from '@angular/core';
import { NbMediaBreakpoint } from '@nebular/theme';
import { Router } from '@angular/router';
import { AnalyticsService } from '../@core/utils';
import { CurrentThemeService } from '../@core/utils/theme.service';
import { Observable } from 'rxjs';
import { MetadataService } from '../@core/utils/metadata.service';
@Component({
selector: 'ngx-starter',
templateUrl: './starter.component.html',
styleUrls: ['./starter.component.scss'],
})
export class NgxStarterComponent implements OnDestroy {
export class NgxStarterComponent implements OnDestroy, OnInit {
breakpoint: NbMediaBreakpoint;
breakpoints: any;
@ -50,8 +51,15 @@ export class NgxStarterComponent implements OnDestroy {
constructor(private router: Router,
private currentThemeService: CurrentThemeService,
private analytics: AnalyticsService,
private metadataService: MetadataService,
) {}
ngOnInit(): void {
this.metadataService.updateTitle('Ngx-admin themes for e-commerce dashboard on Angular 9+ and Nebular');
this.metadataService.updateDescription('Choose a theme for ngx-admin e-commerce dashboard: Material, Light and Dark, Cosmic and Corporate.');
this.metadataService.updateKeywords('Ngx-admin themes, material theme, ngx-admin cosmic, ngx-admin corporate theme, dark theme ngx-admin');
}
navigate(themeName: string) {
this.currentThemeService.setCurrentTheme(themeName);
this.router.navigate(['/pages/dashboard'], {queryParams: {theme: themeName}});