mirror of
https://github.com/akveo/ngx-admin.git
synced 2025-09-22 05:50:48 +02:00
feat: update title description and keywords (#5689)
This commit is contained in:
parent
994522c2c0
commit
a7d1716fc6
9 changed files with 71 additions and 36 deletions
|
@ -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(),
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.">
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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 });
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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');
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -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}});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue