소스 검색

Add PWA

master
Christian Ziermann 4 년 전
부모
커밋
e5bce91e62
15개의 변경된 파일114개의 추가작업 그리고 72개의 파일을 삭제
  1. +7
    -3
      angular.json
  2. +29
    -0
      ngsw-config.json
  3. +1
    -0
      package.json
  4. +3
    -0
      src/app/app.module.ts
  5. +8
    -65
      src/app/pages/resume/resume.component.html
  6. BIN
      src/assets/icons/icon-128x128.png
  7. BIN
      src/assets/icons/icon-144x144.png
  8. BIN
      src/assets/icons/icon-152x152.png
  9. BIN
      src/assets/icons/icon-192x192.png
  10. BIN
      src/assets/icons/icon-384x384.png
  11. BIN
      src/assets/icons/icon-512x512.png
  12. BIN
      src/assets/icons/icon-72x72.png
  13. BIN
      src/assets/icons/icon-96x96.png
  14. +7
    -4
      src/index.html
  15. +59
    -0
      src/manifest.webmanifest

+ 7
- 3
angular.json 파일 보기

@@ -18,7 +18,8 @@
"polyfills": "src/polyfills.ts",
"assets": [
"src/assets",
"src/favicon.ico"
"src/favicon.ico",
"src/manifest.webmanifest"
],
"styles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css",
@@ -45,7 +46,9 @@
"fileReplacements": [{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}]
}],
"serviceWorker": true,
"ngswConfigPath": "ngsw-config.json"
}
}
},
@@ -85,7 +88,8 @@
],
"assets": [
"src/assets",
"src/favicon.ico"
"src/favicon.ico",
"src/manifest.webmanifest"
]
}
},

+ 29
- 0
ngsw-config.json 파일 보기

@@ -0,0 +1,29 @@
{
"$schema": "./node_modules/@angular/service-worker/config/schema.json",
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html",
"/manifest.webmanifest",
"/*.css",
"/*.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**",
"/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
]
}
}
]
}

+ 1
- 0
package.json 파일 보기

@@ -21,6 +21,7 @@
"@angular/platform-browser": "9.0.6",
"@angular/platform-browser-dynamic": "9.0.6",
"@angular/router": "9.0.6",
"@angular/service-worker": "9.0.6",
"@fortawesome/fontawesome-free": "^5.13.0",
"@ng-bootstrap/ng-bootstrap": "6.0.0",
"bootstrap": "^4.5.0",

+ 3
- 0
src/app/app.module.ts 파일 보기

@@ -25,6 +25,8 @@ import { MusicComponent } from './pages/music/music.component';
import { ResumePdfComponent } from './pages/resume-pdf/resume-pdf.component';
import { PdfHeaderComponent } from './page-header/pdf-header/pdf-header.component';
import { MusicHeaderComponent } from './page-header/music-header/music-header.component';
import { ServiceWorkerModule } from '@angular/service-worker';
import { environment } from '../environments/environment';


@NgModule({
@@ -55,6 +57,7 @@ import { MusicHeaderComponent } from './page-header/music-header/music-header.co
AppRoutingModule,
ComponentsModule,
PageHeaderModule,
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }),
],
providers: [],
bootstrap: [AppComponent]

+ 8
- 65
src/app/pages/resume/resume.component.html 파일 보기

@@ -304,72 +304,15 @@
<div class="row">
<div class="col-md-8 mr-auto ml-auto">
<h2 class="text-center">Keep in touch?</h2>
<form class="contact-form">
<div class="row">
<div class="col-md-6">
<label>Name</label>
<div
class="input-group"
[ngClass]="{ 'input-group-focus': focus === true }"
>
<div class="input-group-prepend">
<span class="input-group-text"
><i class="nc-icon nc-single-02"></i
></span>
</div>
<input
type="text"
class="form-control"
placeholder="Name"
(focus)="focus = true"
(blur)="focus = false"
/>
</div>
</div>
<div class="col-md-6">
<label>Email</label>
<div
class="input-group"
[ngClass]="{ 'input-group-focus': focus1 === true }"
>
<div class="input-group-prepend">
<span class="input-group-text">
<i class="nc-icon nc-email-85"></i
></span>
</div>
<input
type="text"
class="form-control"
placeholder="Email"
(focus)="focus1 = true"
(blur)="focus1 = false"
/>
</div>
</div>
</div>
<label>Message</label>
<textarea
class="form-control"
rows="6"
placeholder="Tell us your thoughts and feelings..."
></textarea>
<div class="row">
<div class="col-md-4 mr-auto ml-auto">
<button class="btn btn-danger btn-lg btn-fill" disabled>
Send Message
</button>
</div>
</div>
<div class="row text-center">
<div class="col-md-5 mr-auto ml-auto">
<a
class="btn btn-warning btn-lg btn-fill"
href="mailto:cziermann@mailbox.org"
>cziermann@mailbox.org</a
>
</div>
<div class="row text-center">
<div class="col-md-5 mr-auto ml-auto">
<a
class="btn btn-warning btn-lg btn-fill"
href="mailto:cziermann@mailbox.org"
>cziermann@mailbox.org</a
>
</div>
</form>
</div>
</div>
</div>
</div>

BIN
src/assets/icons/icon-128x128.png 파일 보기

Before After
Width: 128  |  Height: 128  |  Size: 1.2KB

BIN
src/assets/icons/icon-144x144.png 파일 보기

Before After
Width: 144  |  Height: 144  |  Size: 1.4KB

BIN
src/assets/icons/icon-152x152.png 파일 보기

Before After
Width: 152  |  Height: 152  |  Size: 1.4KB

BIN
src/assets/icons/icon-192x192.png 파일 보기

Before After
Width: 192  |  Height: 192  |  Size: 1.7KB

BIN
src/assets/icons/icon-384x384.png 파일 보기

Before After
Width: 384  |  Height: 384  |  Size: 3.5KB

BIN
src/assets/icons/icon-512x512.png 파일 보기

Before After
Width: 512  |  Height: 512  |  Size: 4.9KB

BIN
src/assets/icons/icon-72x72.png 파일 보기

Before After
Width: 72  |  Height: 72  |  Size: 792B

BIN
src/assets/icons/icon-96x96.png 파일 보기

Before After
Width: 96  |  Height: 96  |  Size: 958B

+ 7
- 4
src/index.html 파일 보기

@@ -21,14 +21,17 @@

<link rel="icon" type="image/png" href="assets/img/favicon.ico">
<link rel="apple-touch-icon" sizes="76x76" href="assets/img/apple-icon.png">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<meta name="viewport" content="width=device-width" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/>
<meta name="viewport" content="width=device-width"/>
<!-- Fonts and icons -->
<link href='https://fonts.googleapis.com/css?family=Montserrat:400,300,700' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,300,700" rel="stylesheet" type="text/css">

<link rel="manifest" href="manifest.webmanifest">
<meta name="theme-color" content="#1976d2">
</head>
<body>
<app-root></app-root>
<noscript>Please enable JavaScript to continue using this application.</noscript>
</body>
</html>

+ 59
- 0
src/manifest.webmanifest 파일 보기

@@ -0,0 +1,59 @@
{
"name": "pk2-angular",
"short_name": "pk2-angular",
"theme_color": "#1976d2",
"background_color": "#fafafa",
"display": "standalone",
"scope": "./",
"start_url": "./",
"icons": [
{
"src": "assets/icons/icon-72x72.png",
"sizes": "72x72",
"type": "image/png",
"purpose": "maskable any"
},
{
"src": "assets/icons/icon-96x96.png",
"sizes": "96x96",
"type": "image/png",
"purpose": "maskable any"
},
{
"src": "assets/icons/icon-128x128.png",
"sizes": "128x128",
"type": "image/png",
"purpose": "maskable any"
},
{
"src": "assets/icons/icon-144x144.png",
"sizes": "144x144",
"type": "image/png",
"purpose": "maskable any"
},
{
"src": "assets/icons/icon-152x152.png",
"sizes": "152x152",
"type": "image/png",
"purpose": "maskable any"
},
{
"src": "assets/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable any"
},
{
"src": "assets/icons/icon-384x384.png",
"sizes": "384x384",
"type": "image/png",
"purpose": "maskable any"
},
{
"src": "assets/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable any"
}
]
}

Loading…
취소
저장