Skip to content

Commit bd19d81

Browse files
committed
fix image paths
1 parent b36f046 commit bd19d81

File tree

9 files changed

+31
-31
lines changed

9 files changed

+31
-31
lines changed

blog/2016-06-angular-for-all-platforms/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,25 @@ Vereinfacht ausgedrückt ist die Angular-2-Architektur in zwei Teile aufgeteilt:
2323
- __Plattform-spezifischer Teil__: hier geschieht die Magie. Es werden plattformspezifische Renderer verwendet, um die unterschiedlichen Zielplattformen abzubilden. Jene Renderer haben die Aufgabe, aus den „Proto Views“ einen „Visual Tree“ zu generieren. Dieser kann dann verwendet werden, um die Oberfläche anzuzeigen. Der Renderer ist ebenso dafür verantwortlich, Änderungen und Events zwischen „Proto Views“ und „Visual Tree“ auszutauschen.
2424

2525

26-
![Angular2 Platform Agnostic](./images/Angular2-platform-agnostic.png "Angular2 Platform Agnostic")
26+
![Angular2 Platform Agnostic](images/Angular2-platform-agnostic.png "Angular2 Platform Agnostic")
2727

2828
Durch diese durchdachte Architektur ist es möglich, neue Ziele zu definieren. Es müssen nur die notwendigen Erweiterungen implementiert werden.
2929

3030

3131
## Native Mobile Anwendungen
3232

33-
![Login Screen](./images/LoginScreen.png "Login Screen")
33+
![Login Screen](images/LoginScreen.png "Login Screen")
3434

3535
Auf Grundlage der plattformunabhängigen Architektur von Angular kann [NativeScript](https://www.nativescript.org/) seine Stärken zeigen. NativeScript ist ein Open-Source-Framework, mit dem man native Apps für iOS, Android und [bald](https://www.nativescript.org/blog/details/nativescript-runtime-preview-for-windows-10) auch Windows 10 bzw. Windows Phone 10 entwickeln kann. „Nativ“ bedeutet, dass tatsächlich echte native UI-Elemente aus der JavaScript-Umgebung heraus angesprochen werden können. Seit Mitte 2015 arbeiten das Angular-Team und das NativeScript-Team zusammen, um beide Frameworks miteinander zu verbinden. Das Ergebnis dieser Zusammenarbeit ist NativeScript 2.0 ([News](http://sdtimes.com/nativescript-2-0-brings-mobile-strategy-options-angularjs-developers/)).
3636

3737
Die Lösung für Angular besteht darin, dass sehr spezielles Markup in HTML definiert wird. Diese Markup kann dann vom DOM-Adapter „Parse5“ geparst werden. Den größten Anteil an der Umsetzung nimmt der „NativeScript Renderer“ ein. Dieser garantiert nicht zuletzt den Austausch zwischen „Proto Views“ und den nativen UI Komponenten der jeweiligen Platform:
3838

39-
![Angular2 with NativeScript](./images/Angular2-with-NativeScript.png "Angular2 with NativeScript")
39+
![Angular2 with NativeScript](images/Angular2-with-NativeScript.png "Angular2 with NativeScript")
4040

4141

4242
## Warum NativeScript?
4343

44-
![Login Screen](./images/nativescript-loves-angular.png)
44+
![Login Screen](images/nativescript-loves-angular.png)
4545

4646
### Kurzum: es funktioniert wunderbar mit Angular
4747

@@ -70,7 +70,7 @@ export class MyComponent {
7070

7171
### Abstraktionsschicht
7272

73-
NativeScript hat eine beträchtliche Abstraktionsschicht an Board, welche die Unterschiede zwischen den unterstützen Zielplattformen (iOS, Android, UWP) ausbügelt. Hierdurch kann man mit einer einzigen Code-Basis alle nennenswerten Geräte bedienen. Besonders wichtig ist eine gescheite UI-Abstraktion, bei der jede [UI-Komponente](http://docs.nativescript.org/ui/ui-views) eine eigene native Implementierung besitzen muss. Zum Glück müssen wir nicht diese spezifische Implementierungen selbst entwickeln. Es wurde bereits eine grundlegende Auswahl an Bedienelementen vom NativeScript-Team umsetzt. So können wir folgendes Markup definieren und erhalten eine ***native Oberfläche***, die in allen Betriebsystemen die jeweils zu erwarteten Bedienelemente besitzt:
73+
NativeScript hat eine beträchtliche Abstraktionsschicht an Board, welche die Unterschiede zwischen den unterstützen Zielplattformen (iOS, Android, UWP) ausbügelt. Hierdurch kann man mit einer einzigen Code-Basis alle nennenswerten Geräte bedienen. Besonders wichtig ist eine gescheite UI-Abstraktion, bei der jede [UI-Komponente](http://docs.nativescript.org/ui/ui-views) eine eigene native Implementierung besitzen muss. Zum Glück müssen wir nicht diese spezifische Implementierungen selbst entwickeln. Es wurde bereits eine grundlegende Auswahl an Bedienelementen vom NativeScript-Team umsetzt. So können wir folgendes Markup definieren und erhalten eine ***native Oberfläche***, die in allen Betriebsystemen die jeweils zu erwarteten Bedienelemente besitzt:
7474

7575
```HTML
7676
@Component({

blog/2016-06-angular-for-all-platforms/README_EN.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,28 @@ In simple terms the architecture is split into two parts:
1212
- Platform agnostic - where your markup (HTML) is parsed by a Dom Adapter and then compiled into a set of Proto Views. This process is not specific to any platforms and most of its pieces can be shared between platforms.
1313
- Platform specific - here is where the magic happens. To target each platform you need a Platform Specific Renderer, which based on the Proto Views generates a Visual Tree (used to display the UI). The Renderer is also responsible for propagating the changes and events between the Proto Views and the Visual Tree.
1414

15-
![Angular2 Platform Agnostic](./images/Angular2-platform-agnostic.png "Angular2 Platform Agnostic")
15+
![Angular2 Platform Agnostic](images/Angular2-platform-agnostic.png "Angular2 Platform Agnostic")
1616

1717
With this architecture in place it was a matter of creating the necessary extensions to target different platforms.
1818

1919

2020
## Adding mobile to the picture
2121

2222

23-
![Login Screen](./images/LoginScreen.png "Login Screen")
23+
![Login Screen](images/LoginScreen.png "Login Screen")
2424

2525
This opened up the doors to [NativeScript](https://www.nativescript.org/), an Open Source framework for building iOS, Android and ([soon](https://www.nativescript.org/blog/details/nativescript-runtime-preview-for-windows-10)) Windows Universal apps with 100% Native UI.
2626
Since the middle of 2015 both the Angular and the NativeScript teams have been working on bringing the two together. This resulted in the creation of NativeScript 2.0 ([news](http://sdtimes.com/nativescript-2-0-brings-mobile-strategy-options-angularjs-developers/)).
2727

2828
As a result NativeScript uses HTML as the markup to define the UI structure and Parse 5 as the DOM adapter. The biggest work was in implementing the NativeScript Renderer, which provides communication between the Proto Views and the Native UI components.
2929

3030
Here is how this fits in the Angular 2 architecture.
31-
![Angular2 with NativeScript](./images/Angular2-with-NativeScript.png "Angular2 with NativeScript")
31+
![Angular2 with NativeScript](images/Angular2-with-NativeScript.png "Angular2 with NativeScript")
3232

3333

3434
## Why NativeScript
3535

36-
![Login Screen](./images/nativescript-loves-angular.png)
36+
![Login Screen](images/nativescript-loves-angular.png)
3737

3838
### It works with Angular 2
3939
You can use all of the [Angular 2 syntax](https://angular.io/docs/ts/latest/guide/template-syntax.html#) and get a mobile app as a result:

blog/2019-11-ngx-semantic-version/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ It can easily be determined what version part will be increased and much more.
139139
140140
If you want to try you _commitlint_ separately, you can even try it out using `npx`:
141141

142-
![commitlint cli](./commitlint.svg)
142+
![commitlint cli](commitlint.svg)
143143

144144
_ngx-semantic-version_ will add the configuration file `commitlint.config.js` which can be adjusted later by your personal needs.
145145

@@ -170,7 +170,7 @@ The tool _commitizen_ is there to help beginners and to prevent your own neglige
170170
It introduces a lots of restrictions for our commit messages so that it's easier for developers to follow the pattern.
171171
[Commitizen](https://www.npmjs.com/package/commitizen) will help you to always define a commit message in the appropriate format using an interactive CLI:
172172

173-
![commitizen cli](./commitizen.svg)
173+
![commitizen cli](commitizen.svg)
174174

175175
When adding _ngx-semantic-version_ it will configure _commitizen_ to use the _conventional changelog_ style as well:
176176

@@ -186,7 +186,7 @@ When adding _ngx-semantic-version_ it will configure _commitizen_ to use the _co
186186

187187
If you are using Visual Studio Code, you can also use the extension [Visual Studio Code Commitizen Support](https://marketplace.visualstudio.com/items?itemName=KnisterPeter.vscode-commitizen) which will let you type the commit message directly in the editor:
188188

189-
![commitizen vscode plugin](./commitizen-vscode.gif)
189+
![commitizen vscode plugin](commitizen-vscode.gif)
190190

191191

192192

blog/2020-01-everything-github/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -421,13 +421,13 @@ then we want to use a personal access token. The procedure is as following:
421421
You won’t be able to see it again later!
422422
If you want to remember the token later, save it in a secure place only (e.g. a password manager).
423423
Please make sure that the token has the following permissions:
424-
![repo access](./screenshot_5_repo-access.png)
424+
![repo access]screenshot_5_repo-access.png)
425425
426426
2. Open your Angular app's GitHub repo.
427427
428428
3. Go to **Settings** > **Secrets** and click on **Add a new secret**.
429429
430-
![add new secret](./screenshot_5_add-new-secret.png)
430+
![add new secret](screenshot_5_add-new-secret.png)
431431
432432
Secrets are encrypted environment variables and only exposed to selected GitHub Actions.
433433
GitHub automatically redacts secrets printed to the log, but you should avoid printing secrets to the log intentionally.
@@ -436,7 +436,7 @@ If you want to remember the token later, save it in a secure place only (e.g. a
436436
If you prefer, you can also choose the name `PERSONAL_TOKEN` for all further steps.
437437
Finish this chapter by clicking the green **Add secret** button.
438438
439-
![secret name and value](./screenshot_5_secret-token-value.png)
439+
![secret name and value](screenshot_5_secret-token-value.png)
440440
441441
It is perfectly fine not to store the token anywhere else.
442442
You can always create new tokens and just throw the old ones away.
@@ -448,7 +448,7 @@ GitHub Actions usage is free for public repositories, as mentioned before.
448448
449449
1. Again in our repo, we go to **Actions** and click on **Set up workflow yourself**.
450450
451-
![setup workflow](./screenshot_5_setup-workflow.png)
451+
![setup workflow](screenshot_5_setup-workflow.png)
452452
453453
2. An editor will open. Keep the file name (e.g. `main.yml`) as it is and simply replace the entire content with the following example:
454454
@@ -530,7 +530,7 @@ GitHub Actions usage is free for public repositories, as mentioned before.
530530
531531
6. Click on **Start commit**, add message and description if you like and click on **Commit new file**. This will add the config file to the repo.
532532
533-
![start commit](./screenshot_5_start-commit.png)
533+
![start commit](screenshot_5_start-commit.png)
534534
535535
4. **Done!** 🚀.
536536
@@ -608,7 +608,7 @@ In our example the app should be accessible through the domain `everything-githu
608608
The `<username>` (or organisation name) is in our case `angular-schule`.
609609
As an example, the following screenshot shows the required setting for the DNS provider [cloudflare.com](https://cloudflare.com):
610610
611-
![Screenshot Cloudflare](./screenshot_6_cname-cloudflare.png)
611+
![Screenshot Cloudflare](screenshot_6_cname-cloudflare.png)
612612
613613
2. Now we have to adjust the `ng deploy` command a little bit!
614614
By using our own domain, we no longer have to use a subdirectory.
@@ -626,7 +626,7 @@ In our example the app should be accessible through the domain `everything-githu
626626
627627
3. It is important that you have an SSL certificate, because otherwise Chrome will tell your visitors that your website is not secure:
628628
629-
![Screenshot Not Secure](./screenshot_6_not-secure.png)
629+
![Screenshot Not Secure](screenshot_6_not-secure.png)
630630
631631
**Pretty ugly, isn't it?**
632632
The good news: nowadays you don't have to spend money for a SSL certificate anymore!
@@ -635,7 +635,7 @@ In our example the app should be accessible through the domain `everything-githu
635635
You can make the necessary changes in the repository settings.
636636
Go to **Settings** > GitHub Pages and select **Enforce HTTPS**, to enable HTTPS encryption for your site:
637637
638-
![Screenshot HTTPS GitHub](./screenshot_6_https-github.png)
638+
![Screenshot HTTPS GitHub](screenshot_6_https-github.png)
639639
640640
It can take up to 24 hours before this option is available.
641641
As soon as the change is applied, you can now surf the website via HTTPS:
@@ -662,12 +662,12 @@ We need to use the same `--cname` parameter as described before, but we have to
662662
The `<username>` (or organisation name) is in our case `angular-schule`.
663663
As an example, the following screenshot shows the required setting for the DNS provider [cloudflare.com](https://cloudflare.com):
664664
665-
![Screenshot CNAME flatteing 1](./screenshot_6_cname-flattening-cloudflare1.png)
665+
![Screenshot CNAME flatteing 1](screenshot_6_cname-flattening-cloudflare1.png)
666666
667667
We should also set a `CNAME` entry for `www`, as many people always type in this subdomain.
668668
The final settings should look like this:
669669
670-
![Screenshot CNAME flatteing 2](./screenshot_6_cname-flattening-cloudflare2.png)
670+
![Screenshot CNAME flatteing 2](screenshot_6_cname-flattening-cloudflare2.png)
671671
672672
* To create an `A` record, point your apex domain to the following IP addresses from GitHub:
673673
```

blog/2020-01-ngrx-data-views/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ But how can we solve this?
179179
Abstractly speaking: Currently we retrieve the data normalized via the API (1) and put it normalized into the state (2).
180180
Then we use selectors (3) to retrieve the data normalized in each component and only then de-normalize it on each and every template (4) that displays it.
181181

182-
![Normalization points](./normalization_points.svg)
182+
![Normalization points](normalization_points.svg)
183183

184184
It seems there are three points where we could intervene and do the de-normalization instead:
185185

blog/2020-05-data-team-interview/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ Die Schulung ist somit auch eine Motivation für uns, an Projekten mit Angular z
4545

4646
**🅰️ Ferdinand:**<br>**Vielen Dank für das interessante Gespräch und die Einblicke, Marcel! Wir wünschen euch viel Spaß mit Angular und viel Erfolg in euren Projekten!**
4747

48-
![Das DATA-team nach erfolgreich abgeschlossener Angular-Schulung](./teamfoto.jpg)
48+
![Das DATA-team nach erfolgreich abgeschlossener Angular-Schulung](teamfoto.jpg)

blog/2021-12-rxjs-turn-signal/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ const stepTimeMs = 500;
6464
const rawSignal$ = timer(0, stepTimeMs).pipe(map(e => e % 2 === 0));
6565
```
6666

67-
![Marble Diagram](./marble-map.svg)
67+
![Marble Diagram](marble-map.svg)
6868

6969
## The trigger
7070

@@ -128,7 +128,7 @@ press$.pipe(
128128

129129
In the following marble diagram you can see that emissions from the source are being ignored as long as the signal is running.
130130

131-
![Marble Diagram](./marble-exhaustmap.svg)
131+
![Marble Diagram](marble-exhaustmap.svg)
132132

133133
## Displaying the signal
134134

@@ -183,7 +183,7 @@ timer(0, 1000).pipe(
183183
).subscribe(e => console.log(e));
184184
```
185185

186-
![Marble Diagram](./marble-takeuntilsimple.svg)
186+
![Marble Diagram](marble-takeuntilsimple.svg)
187187

188188
Back to our turn signal, things become a little more challenging.
189189
The signalling period must be terminated when at least 3 cycles have passed *and* the trigger has been released.
@@ -246,7 +246,7 @@ press$.pipe(
246246
)
247247
```
248248

249-
![Marble Diagram](./marble-takeuntil.svg)
249+
![Marble Diagram](marble-takeuntil.svg)
250250

251251
## Switching off the light
252252

@@ -300,7 +300,7 @@ While a signal cycle is running, all other presses will be ignored.
300300
The signal ends after the trigger is released and at least 3 cycles have been finished.
301301
Regardless of how the interrupted signal ends, it will always switch off the light when it leaves the room.
302302

303-
![Marble Diagram](./marble-final.svg)
303+
![Marble Diagram](marble-final.svg)
304304

305305
Here is the full code:
306306

blog/2022-05-typed-forms/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ keywords:
1010
- Reactive Forms
1111
- Typed Forms
1212
language: de
13-
thumbnail: ./typedforms.jpg
13+
thumbnail: typedforms.jpg
1414
---
1515

1616
Mit Version 14 von Angular erscheint ein lang erwartetes Feature: *stark typisierte Formulare!*

build/blog.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export class BlogService {
5757

5858
/** convert markdown README to full blog post object */
5959
private readmeToBlogEntry(readmeMarkdown: string, folder: string) {
60-
const parser = new JekyllMarkdownParser(this.config.markdownBaseUrl + folder);
60+
const parser = new JekyllMarkdownParser(this.config.markdownBaseUrl + folder + '/');
6161
const parsedJekyllMarkdown = parser.parse(readmeMarkdown);
6262

6363
const meta = parsedJekyllMarkdown.parsedYaml || {};

0 commit comments

Comments
 (0)