Skip to content

Commit ae81444

Browse files
committed
New Links
1 parent d678cfe commit ae81444

File tree

5 files changed

+123
-63
lines changed

5 files changed

+123
-63
lines changed

assets/scripts/main.js

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -104,41 +104,48 @@ const externalLinks = document.querySelectorAll('main a[href^="http"]');
104104
└──────────────────────────────────┘
105105
*/
106106

107-
const linkedHeadlines = document.querySelectorAll(['h1[id], h2[id]']);
108-
const linkedSections = document.querySelectorAll(['.stage__item[id]']);
109-
const stageNavigation = document.querySelector('#TableOfContents');
107+
if ('IntersectionObserver' in window) {
108+
const linkedHeadlines = document.querySelectorAll(['h1[id], h2[id]']);
109+
const linkedSections = document.querySelectorAll(['.stage__item[id]']);
110+
const stageNavigation = document.querySelector('#TableOfContents');
110111

111-
function headlinesObserverCallback(entries) {
112-
const stageNavigationLinks = stageNavigation.querySelectorAll('a');
112+
console.log(linkedHeadlines);
113113

114-
entries.forEach((entry) => {
115-
if (entry.isIntersecting) {
114+
function headlinesObserverCallback(entries) {
115+
const stageNavigationLinks = stageNavigation.querySelectorAll('a');
116+
117+
entries.forEach((entry) => {
116118
const navItem = stageNavigation.querySelector(
117119
`a[href="#${entry.target.id}"]`
118120
);
119121

120-
if (navItem) {
121-
stageNavigationLinks.forEach((link) =>
122-
link.classList.remove('is-active')
123-
);
124-
navItem.classList.toggle('is-active');
122+
if (entry.isIntersecting) {
123+
if (navItem) {
124+
stageNavigationLinks.forEach((link) =>
125+
link.classList.remove('is-active')
126+
);
127+
navItem.classList.toggle('is-active');
128+
}
125129
}
126-
}
127-
});
128-
}
130+
});
131+
}
129132

130-
if (
131-
stageNavigation &&
132-
(linkedHeadlines.length > 0 || linkedSections.length > 0)
133-
) {
134-
const headlinesObserver = new IntersectionObserver(
135-
headlinesObserverCallback,
136-
{
137-
rootMargin: '0px',
138-
threshold: 0.5,
139-
}
140-
);
133+
if (
134+
stageNavigation &&
135+
(linkedHeadlines.length > 0 || linkedSections.length > 0)
136+
) {
137+
// let rootVertical = parseInt(window.innerHeight / 3);
138+
139+
const headlinesObserver = new IntersectionObserver(
140+
headlinesObserverCallback,
141+
{
142+
// rootMargin: `0px 0px -${rootVertical}px 0px`,
143+
rootMargin: '0px',
144+
threshold: 1,
145+
}
146+
);
141147

142-
[...linkedHeadlines].forEach((item) => headlinesObserver.observe(item));
143-
[...linkedSections].forEach((item) => headlinesObserver.observe(item));
148+
[...linkedHeadlines].forEach((item) => headlinesObserver.observe(item));
149+
[...linkedSections].forEach((item) => headlinesObserver.observe(item));
150+
}
144151
}

assets/styles/base/layout.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ body {
5353
└──────────────────────────────────┘
5454
*/
5555

56+
::selection {
57+
background-color: var(--clr-primary--hover);
58+
}
59+
5660
h1,
5761
h2,
5862
h3,

assets/styles/modules/content.scss

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,3 +199,43 @@ sup {
199199
}
200200
}
201201
}
202+
203+
/*
204+
┌──────────────────────────────────┐
205+
BLOCKQUOTES
206+
└──────────────────────────────────┘
207+
*/
208+
209+
blockquote {
210+
position: relative;
211+
margin: 1em 0 2em;
212+
padding: 1em var(--spacing);
213+
background-color: var(--clr-inverse);
214+
border-bottom: 1px solid var(--clr-line);
215+
box-shadow: var(--image-shadow);
216+
color: var(--clr-text--light);
217+
font-size: var(--font-size--small);
218+
219+
p:last-child {
220+
margin-bottom: 0;
221+
}
222+
223+
&::after {
224+
content: '';
225+
display: block;
226+
position: absolute;
227+
top: -1rem;
228+
right: -1rem;
229+
z-index: 2;
230+
width: 2.5rem;
231+
height: 2.5rem;
232+
background-color: var(--clr-inverse);
233+
border-radius: 50%;
234+
box-shadow: var(--image-shadow);
235+
border-bottom: 1px solid var(--clr-line);
236+
237+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%23ff8200' d='M19 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4l3 3 3-3h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 16h-4.83l-.59.59L12 20.17l-1.59-1.59-.58-.58H5V4h14v14zm-8-3h2v2h-2zm1-8c1.1 0 2 .9 2 2 0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4S8 6.79 8 9h2c0-1.1.9-2 2-2z'/%3E%3C/svg%3E");
238+
background-repeat: no-repeat;
239+
background-position: center;
240+
}
241+
}

assets/styles/modules/toc.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ TOC
1111
padding: var(--spacing) var(--content-spacing);
1212
margin: var(--content-spacing) calc(var(--content-spacing) * -1);
1313
box-shadow: var(--image-shadow);
14+
border-bottom: 1px solid var(--clr-line);
1415

1516
header {
1617
margin: 0 0 1em;

content/links/index.md

Lines changed: 43 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,25 @@ Mit diesen handverlesenen Informationen kannst du das Seminar meistern oder dich
1919

2020
## Inhalte
2121

22-
Dinge, die du gut für deine Website gebrauchen kannst.
22+
Blindtexte, Farben, Fonts und Icons bekommst du hier. So kannst du deine Idee schnell zur Realität werden lassen.
2323

2424
### Text
2525

2626
- [Lorem Ipsum Generator](https://loremipsum.io/de/generator)\
2727
Erzeugt Blindtexte, Platzhalterbilder und bietet Links zu anderen Generatoren.
2828
- [Cupcake Ipsum](http://www.cupcakeipsum.com/)\
29-
Blindtext-Generator mit einem hauch von Zucker.
29+
Blindtext-Generator mit einem „Hauch von Zucker.
3030
- [DeLorean Ipsum Text Generator](https://satoristudio.net/delorean-ipsum/)\
31-
Du kennst die Filmreihe Zurück in die Zukunft? Hier sind Dialoge von Doc und Marty.
31+
Du kennst die Filmreihe Zurück in die Zukunft? Dann nutze Dialoge von Doc und Marty.
3232

3333
### Farben
3434

35+
- [UI Colors](https://uicolors.app/create){{< new >}}\
36+
Schnelles Tool, um eine Farbfolge zusammenzustellen. Inklusive Tailwind-, Sass- und CSS-Variabeln.
3537
- [Tailwind Color Palette](https://tailwindcolor.com/)\
36-
Schöne Farbpalette. Ein Klick auf eine Farbe kopiert euch den Farbwert in die Zwischenablage.
38+
Übersichtliche Farbpalette. Ein Klick kopiert den Farbwert in die Zwischenablage.
3739
- [Color Designer](https://colordesigner.io/)\
3840
Farbpaletten, Farbwähler und Komplementärfarben.
39-
- [Materials Colors ](https://github.com/romannurik/MaterialColorsApp#material-colors-for-mac)\
40-
Farbwähler als natives macOS-Tool.
41-
{.links}
4241

4342
### Fonts
4443

@@ -52,38 +51,37 @@ Dinge, die du gut für deine Website gebrauchen kannst.
5251
- [Material Icons](https://fonts.google.com/icons)\
5352
Weit verbreitetes Icon-Set von Google, verwendet in Android und den Google-Apps.
5453
- [Material Design Icons](https://materialdesignicons.com/)\
55-
Community-Edition der Google-Icons mit wesentlich mehr Auswahl und Varianten. Auch als Webfont nutzbar.
54+
Community-Edition der Google-Icons mit größerer Auswahl und Varianten. Auch als Webfont nutzbar.
5655
- [Simple Icons](https://simpleicons.org/)\
57-
Brand-Icons bekannter Markern wie Facebook und Instagram. Download als SVG und RGB-Farbton.
56+
Brand-Icons und Farben bekannter Markern wie Facebook und Instagram.
5857
- [Feather Icons](https://feathericons.com/)\
59-
Simpel und sauber gestaltet, Export als SVG.
58+
Simpel und sauber gestaltet, export als SVG.
6059

6160
### Fotos
6261

6362
- [Unsplash](https://unsplash.com/)\
64-
Hochauflösende Bilder zur freien Verwendung auf deiner Website.
63+
Der Standard: Hochauflösende Bilder zur freien Verwendung auf deiner Website.
6564

6665
## Optimieren
6766

68-
Wenn dir Qualität wichtig ist, dann solltest du dir folgende Links ansehen.
67+
Im Semester lernst du, dein Erstelltes für Endanwender zu optimieren. Hier sind die Tools&nbsp;dazu:
6968

7069
- [Squoosh](https://squoosh.app/)\
71-
Besser als Photoshop und Co optimiert Squoosh alle arten von Bildern und gibt sie auch in neuen Bildformaten aus.
70+
Optimiert deine Bilder und exportiert auch Varianten in unterschiedlichen Formaten wie AVIF und WebP. Besser als der Export von Photoshop und Co.
7271
- [SVGOMG](https://jakearchibald.github.io/svgomg/)\
73-
Jedes SVG muss hier durch: Optimiere deine Bilder mit dieser Web-App.
72+
Optimiert dein SVG und entfernt unnötigen Datenballast.
7473
- [SVGWIZ](https://svgwiz.com/)\
75-
Konvertiert SVG-Icons in CSS-Data-URI, um diese als Hintergrundgrafik verwenden zu können.
74+
Konvertiert SVG in CSS-Data-URIs, um diese als Hintergrundgrafik verwenden zu können.
7675
- [Colour Contrast Checker](https://colourcontrast.cc/)\
77-
Prüft Vorder- und Hintergrundfarben, ob sie genügend Kontrast aufweisen, um gut gelesen werden zu können.
76+
Prüft Vorder- und Hintergrundfarben auf hohen Kontrast, damit diese gut gelesen werden können.
7877

79-
## Nützliche Helfer
78+
## Entwicklung
8079

81-
- [PX to REM Converter](https://nekocalc.com/px-to-rem-converter)\
82-
Du möchtest `rem` statt `px` verwenden? Dann ist dieser Converter genau richtig für dein Design.
80+
Auch wenn es sich bei HTML- und CSS-Dateien nur um Textdateien handelt, solltest du eine der foglenden Entwicklungsumgebung (IDE) nutzen. Darüber hinaus findest du hier Links zu Frameworks und Apps, die dir die lokale Arbeit auf deinem Rechner erleichtern.
8381

84-
## Editoren (IDE)
82+
### Editoren (IDE)
8583

86-
Mit diesen Werkzeugen kannst du deine Website entwickeln.
84+
Mit diesen Werkzeugen kannst du deine Website oder Komponenten entwickeln.
8785

8886
- [Visual Studio Code (VSC)](https://code.visualstudio.com/)\
8987
Desktop-App für macOS und Windows, mit der wir hauptsächlich arbeiten. Gespeichert werden deine Dateien lokal auf deinem&nbsp;Computer.
@@ -113,6 +111,30 @@ Ich empfehle folgende Plugins für Visual Studio Code:
113111
- [px to rem](https://marketplace.visualstudio.com/items?itemName=cipchk.cssrem)\
114112
Konvertiert zwischen Pixel- und rem-Werten.
115113

114+
### Frameworks
115+
116+
Du möchtest mehr als statische HTML-Dateien? Dann bringe jetz ein bisschen Schwung&nbsp;rein:
117+
118+
- [Hugo](https://gohugo.io/)
119+
Ein in Go geschriebener Seitengenerator für statische Seiten. Diese Seite verwendet Hugo.
120+
- [Kirby](https://gohugo.io/)
121+
Das wohl beste CMS auf PHP-Basis, Kibry, ist für kleine als auch große Websites bestenes geeignet.
122+
- {{< reflist-item
123+
title="Laravel Valet"
124+
href="https://laravel.com/docs/8.x/valet"
125+
descr="Entwicklungsumgebung für macOS-Minimalisten. Valet macht aus einem Verzeichnis einen virtuellen Host unter der *.test-Domäne."
126+
platform="mac" >}}
127+
128+
## UI/UX Tools
129+
130+
- [PX to REM Converter](https://nekocalc.com/px-to-rem-converter)\
131+
Du möchtest `rem` statt `px` verwenden? Dann ist dieser Converter genau richtig für dein Design.
132+
- {{< reflist-item
133+
title="Materials Colors"
134+
href="https://github.com/romannurik/MaterialColorsApp#material-colors-for-mac"
135+
descr="Farbwähler als natives macOS-Tool."
136+
platform="mac" >}}
137+
116138
## Demos
117139

118140
Du brauchst Code-Beispiele? Gern, hier sind die, die ich gebaut habe. Die sind auch noch im Jahr {{< year >}} aktuell. 😎
@@ -181,20 +203,6 @@ Links zu externen Websits mit detaillierter Erklärung, sowie Lerninhalte.
181203
- [Emmet Cheat Sheet](https://docs.emmet.io/cheat-sheet/)\
182204
Schreibe HTML und CSS in Sekundenschnelle. Auch in Visual Studio Code.
183205

184-
## Frameworks
185-
186-
Statische HTML-Dateien reichen dir nicht und WordPress ist dir zu aufgebläht? Dann teste die folgende Alternativen.
187-
188-
- [Hugo](https://gohugo.io/)
189-
Ein in Go geschriebener Seitengenerator für statische Seiten. Diese Seite verwendet Hugo.
190-
- [Kirby](https://gohugo.io/)
191-
Das wohl beste CMS auf PHP-Basis, Kibry, ist für kleine als auch große Websites bestenes geeignet.
192-
- {{< reflist-item
193-
title="Laravel Valet"
194-
href="https://laravel.com/docs/8.x/valet"
195-
descr="Entwicklungsumgebung für macOS-Minimalisten. Valet macht aus einem Verzeichnis einen virtuellen Host unter der *.test-Domäne."
196-
platform="mac" >}}
197-
198206
</section>
199207

200208
[^1]: Zur Registierung und Login benötigst du einen kostenlosen Account von [GitHub](https://github.com/).

0 commit comments

Comments
 (0)