Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: dynamic storefront configuration #1427

Merged
merged 5 commits into from
Jun 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ kb_sync_latest_only

- [Concept - Progressive Web App](./concepts/progressive-web-app.md)
- [Guide - Customizations](./guides/customizations.md)
- [Guide - Multiple Themes](./guides/multiple-themes.md)
- [Guide - Cookie Consent](./guides/cookie-consent.md)
- [Guide - Themes](./guides/themes.md)
- [Guide - Migration](./guides/migrations.md)
- [Guide - Cookie Consent](./guides/cookie-consent.md)
- [Concept - URL Rewriting](./concepts/url-rewriting.md)
- [Guide - Mocking REST API Calls](./guides/mocking-rest-calls.md)

Expand Down
109 changes: 55 additions & 54 deletions docs/concepts/configuration.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions docs/concepts/pwa-building-blocks.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For an architectural overview of how SSR works in the Intershop PWA, see [Deploy
Pre-rendering pages enables a number of features:

- **SEO compatibility**: Many web crawlers have no or only a limited capability to interpret JavaScript code. To make single-page applications like the Intershop PWA accessible to search engines, SSR is necessary. Pre-rendered pages can easily be crawled and indexed. For more information, see [Search Engine Optimization](search-engine-optimization.md).
- **Dynamic configurations**: Using SSR allows for safe, dynamic configuration of the Intershop PWA through various URL parameters (see [Configuration](configuration.md)). For example, server-side parameter configuration enables [multi-site](multi-site-handling.md) and [multi-theme](../guides/multiple-themes.md) handling.
- **Dynamic configurations**: Using SSR allows for safe, dynamic configuration of the Intershop PWA through various URL parameters (see [Configuration](configuration.md)). For example, server-side parameter configuration enables [multi-site](multi-site-handling.md) and [multi-theme](../guides/themes.md) handling.
- **Hybrid approach**: Via the _express.js_ server, URLs can be remapped to allow dynamic integration of specific _Responsive Starter Store_ pages. See [Hybrid Approach](hybrid-approach.md) for more information.

For an overview of the ever-growing list of third party integrations relating to SSR and deployment in general, see [Third-party Integrations](../README.md#third-party-integrations).
Expand All @@ -35,7 +35,7 @@ Nginx enables the following features to be used in an Intershop PWA deployment:

- Uncomplicated caching of PWA server-side rendering responses provided by the upstream Angular Universal server.
- Handling of multiple channels via URL parameters in conjunction with SSR (see [Multi-Site Handling](multi-site-handling.md)).
- Customizable compression for downstream services
- Customizable compression for downstream services.
- Device type detection to ensure a correct pre-render, adapted to the incoming user agent.

For an overview of the ever-growing list of third party integrations relating to nginx and deployment in general, see [Third-party Integrations](../README.md#third-party-integrations).
Expand Down Expand Up @@ -68,7 +68,7 @@ Read on for a step-by-step walkthrough of the initial connection request.

6. The initial page response is displayed to the user and the Angular Client application boots up in the browser.

7. Once booted up, additional REST Calls are directed straight to the ICM and the PWA acts as a single-page application. No further HTML pages are requested.
7. Once booted up, additional REST calls are directed straight to the ICM, and the PWA acts as a single-page application. No further HTML pages are requested.

## Deployment Without Nginx

Expand Down
31 changes: 17 additions & 14 deletions docs/concepts/styling-behavior.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ The styling integration is configured in the _/src/themes/main.scss_ of the proj

Instead of the Bootstrap 3 Glyphicons, the current styling uses free solid icons of [Font Awesome](https://fontawesome.com/).

The styling itself is integrated into the project as global style via a _style.scss_ that is referenced in the _angular.json_ and is compiled automatically (see also [Guide - Multiple Themes](../guides/multiple-themes.md)).
Throughout the whole Intershop Progressive Web App, there are almost no component specific `styleUrls` or `styles` properties.
The styling itself is integrated into the project as global style via a _style.scss_ that is referenced in the _angular.json_ and is compiled automatically (see also [Guide - Themes](../guides/themes.md)).
Throughout the whole Intershop Progressive Web App, there are almost no component-specific `styleUrls` or `styles` properties.

The [Javascript part of Bootstrap](https://getbootstrap.com/docs/4.6/getting-started/javascript/) for the behavior is not directly used from the Bootstrap dependency since this implementation is jQuery based and not really suited to work in an Angular environment.
For Bootstrap 4, [ng-bootstrap](https://ng-bootstrap.github.io) provides _Bootstrap widgets the angular way_.
Expand All @@ -37,17 +37,20 @@ Currently the default font families for the Intershop Progressive Web App [Robot
## Icons

As described above, solid [Font Awesome](https://fontawesome.com/) icons are used.
To integrate an icon

- open the appropriate page icon details, e.g. https://fontawesome.com/icons/print?s=solid&f=classic
- copy only the name of the icon without the "fa-" prefix, in this case `print`
```html
<i class="fa-solid fa-print"></i>
```
- use the icon name with following syntax
```html
<fa-icon [icon]="['fas', 'print']"></fa-icon>
```
To integrate an icon:

1. Open the appropriate page icon details, e.g. https://fontawesome.com/icons/print?s=solid&f=classic
2. Copy only the name of the icon without the "fa-" prefix, in this case `print`

```html
<i class="fa-solid fa-print"></i>
```

3. Use the icon name with following syntax

```html
<fa-icon [icon]="['fas', 'print']"></fa-icon>
```

If an icon is not available yet, you need to add it to `src\app\core\icon.module.ts` in the `import {}` and the `constructor(){}`.

Expand All @@ -58,4 +61,4 @@ Please read [the additional documentation](../guides/optimizations.md#purgecss)

## References

[Guide - Multiple Themes](../guides/multiple-themes.md)
[Guide - Themes](../guides/themes.md)
Loading