Homepage erstellen, aber nur mit HTML- und CSS-Code: Unterschied zwischen den Versionen

Aus lugvswiki
Zur Navigation springenZur Suche springen
(Kopie der Seite [https://lug-vs.org/lugvswiki/index.php/Linux_-_warum_wechseln%3F])
 
 
(447 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== '''Eine Homepage nur in HTML- und CSS-Code erstellen''' ==
 
  
===Vorgeschichte===
+
= '''Homepage nur in HTML- und CSS-Code erstellen''' =
[[Datei:Ubuntu_8.png|200px|thumb|right|Meine ersten Schritte: Ubuntu 8.04]]
 
<br/>Vor ziemlich genau 13 Jahren, das war also 2008, hatte ich das erste Mal einen kurzen Kontakt mit Linux. Das war Ubuntu 8.04. Die Iso heruntergeladen, das Installationsmedium gebrannt und dann die Installations-CD eingelegt und auf meine einzig vorhandene interne Festplatte installiert (parallel neben die Windows-Installation) und schon befand ich mich auf 'fremdem Terrain'. Das ging alles sehr intuitiv und ich fand mich in Ubuntu auch sehr gut zurecht.
 
Was mir gleich positiv auffiel; Linux respektierte die vorhandene Windows-Installation und bot mir an, Ubuntu parallel zu Windows zu installieren. Obwohl ich damals absoluter Laie war, führte mich die Installationsroutine gut verständlich durch die Dual-Boot-Installation, so dass ich hinterher zwei funktionierende Betriebssysteme auf meiner Festplatte hatte, die ich nun je nach Laune getrennt starten konnte. Auch die Internetverbindung wurde automatisch, ohne mein Zutun, erkannt (was - wenn ich mich richtig entsinne -  unter Windows schon etwas schwieriger war).
 
<br />Weiter war mir äußerst positiv aufgefallen, dass alle installierten Anwendungen / Programme aus 'einem Pool' kamen. Zudem war diese Open-Source-Software durchgängig kostenlos und wurde schon damals regelmässig mit Sicherheits- und Programmaktualisierungen gepflegt; alles über die Softwareverwaltung. Das war zwar zuerst komisch, bald aber bemerkte ich, dass ich nun nicht mehr im Internet mühselig nach einem Programm recherchieren musste, nicht mehr auf fragwürdige Seiten (die im Google-Ranking oben standen) geleitet wurde, wo mit der Installation des heruntergeladenen Programms jedes mal Viren, Trojaner oder aber doch zu mindestens Browsererweiterungen oder eine Änderung der Standardsuchmaschine zu befürchten war.
 
<br/>Nach dieser spannenden Zufallsentdeckung hatte ich PC-Probleme; ich war noch immer mit XP unterwegs. Dem Microsoft-Betriebssystem war allerdings keine Schuld zuzuschreiben. Wie sich sechs Monate (!) später herausstellte, handelte es sich um einen Hardwarefehler des Zulieferers meines PC-Herstellers (letztendlich bekam ich einen neuen und besseren Rechner kostenlos, doch das ist eine andere Geschichte).
 
[[Datei:aergerlichesGesicht.png|50px|thumb|right|ärgerlich ...]]
 
Mein Fachhändler aber hatte von den Symptomen her auf einen Computervirus geschlossen und sich nicht anders zu helfen gewusst, als  Windows ungefragt neu zu installieren und damit natürlich auch die komplette Platte zu löschen! Externe Festplatten waren damals (zu mindestens mir) nicht soo bekannt und vermutlich auch nicht gerade günstig. Jedenfalls hatte ich keine Datensicherung. Damit waren alle Daten weg und ich ziemlich sauer.
 
<br />Klar, heute wüsste ich, wie ich auf die Daten hätte zugreifen können, um sie zu auf eine externe Festplatte zu sichern; damals nicht. Und das Schlimme; auch der PC-Experte meines Fachhandels hatte keine blasse Ahnung. Ich hätte nur eine externe Platte und ein Linux-Live-System benötigt und so alle Daten problemlos lesen, bearbeiten und vor allem sichern können.
 
So aber hatte ich Lehrgeld zu zahlen.
 
  
Nun also hatte ich mir Ubuntu parallel zu XP auf den PC installiert und war fasziniert von der riesigen Auswahl und Vielfalt der kostenlosen Programme. Kostenlos ja, aber sie funktionierten auch. Darauf komme ich später noch zurück. Und das Beste: ich musste nach einem Update eines beliebigen Programms nicht jedes Mal auf irgendwelchen Webseiten nach Updates oder gar neuen Treibern suchen und damit riskieren, dass ich mir ein Schnüffelprogramm auf den Rechner lud oder sich eine fremde Suchmaschine in meinen Browser einnistete, und so weiter ...
+
== Vorbemerkungen ==
<br />Diese Probleme werden durch die in jedes Linux integrierte Softwareverwaltung vermieden, denn alle Software stammt aus einem 'Pool', aus einem 'Store' und die Anwendungen sind zudem noch  kostenfrei. Außerdem handelt es sich ausnahmslos um Open-Source-Anwendungen<ref>Was ist 'Open Source'? [https://de.wikipedia.org/wiki/Open_Source Deutscher Wikipediaeintrag]</ref>. Das bedeutet, dass sehr viele Programmierer (natürlich auch Laien) den Code einsehen können; würde jemand böswillig Schadcode hinzufügen (das ist möglich, aber aus nachstehendem Grund äußerst selten!) würde das aber sehr schnell von der Entwickler-Gemeinschaft bemerkt und rückgängig gemacht. Nicht so bei Windows. Microsoft hat es nicht einmal geschafft, den eigenen Internet-Explorer sicher zu machen (und das Jahre, nachdem die Sicherheitslücken bekannt waren); schließlich warnte Microsoft selbst (!) vor der Nutzung des eigenen Browsers. Das muss man sich mal geben!
+
: Da ich selbst lediglich ein informierter (und neugieriger) Laie bin, hoffe ich manchen, der sich (noch) nicht so recht an die Materie HTML herantraut, zu ermutigen, es doch mal zu versuchen. Diese "Anleitung" soll am Beispiel einer existierenden Homepage den Durchblick erleichtern. Natürlich gibt es viele, viel bessere und tiefer in die Materie einsteigende Wikis, Tutorials, Videos, etc.; dennoch hoffe ich, dass dieses Wiki manchem interessierten Anfänger weiterhilft!
<br/>Ich entsinne mich noch, dass ich das auf meinem neuen Windows-Rechner vorinstallierte Nero-Brennprogramm (es war nur für einige Monate kostenlos vorinstalliert) ganz vorschriftsmäßig über die Softwareverwaltung deinstallierte. Dennoch startete Nero bei jedem Einlegen einer CD / DVD und wollte das eingelegte Medium (CD / DVD) lesen! Für mich völlig unverständlich, denn mir als Laien waren keine Reste der Nero-Installation aufgefallen und es war über die Windows-Softwareverwaltung auch nicht mehr auffindbar. Auch einen Neustart hatte ich nach der Deinstallation hingelegt; Nero blieb resistent und werkelte munter auf meinem PC ...
 
<br/>Ich recherchierte im Internet und tatsächlich war ich nicht der einzige mit diesem Problem. Um Nero tatsächlich von der Platte zu bekommen, war es notwendig eine spezielle Software (sinnigerweise nicht von Nero) herunter zu laden, die das sich so nachhaltig eingenistete Brennprogramm wieder entfernte.
 
<br />
 
  
===Fazit===
+
: Vor einigen Jahren kam es dazu, dass ich für den Verein KONTAKT e.V. Villingen-Schwenningen<ref>[https://www.kontakt-vs.de KONTAKT e.V. Villingen-Schwenningen]</ref> die Homepage neu aufsetzen musste (es war sonst niemand dazu bereit / in der Lage?). Also entschloss ich mich es über meinen damaligen Webhosting-Vertrag und den darin enthaltenen Homepagebaukasten zu machen. Im Prinzip war das ein '''W'''hat'''Y'''ou'''S'''ee'''I'''s'''W'''at'''Y'''ou'''G'''et-Editor (was Du siehst, bekommst Du auch / wird auch so dargestellt). Solch ein Editor lässt sich ungefähr so bedienen, wie ein Office-Textverarbeitungs-Programm (MS-Word, LibreOffice<ref>[https://de.libreoffice.org/ LibreOffice)]</ref>), also eine grafisch bedienbare Anwendung mit Mausklick …
Wenn ich nun so zurückdenke (und das wurde mir damals als eingefleischtem Windows-Nutzer nach der Panne mit der angeblichen Virenverseuchung doch bald klar), nutzte ich schon unter Windows fast nur Open-Source-Anwendungen, da diese erstens kostenlos waren, zweitens besser funktionierten  und drittes teilweise auch viel mehr Möglichkeiten boten, als die von Windows angebotenen Anwendungen.
 
Zum Beispiel hatte ich schon sehr früh den Firefox als Browser, Open Office als Büroprogramm, File-Zilla als FTP-Anwendung, 7Zip als Komprimierungs- und Dekomprimierungstool und so manches mehr in Benutzung. Und mit diesen Anwendungen war ich mehr als zufrieden. Eigentlich waren da gar keine Bedenken mehr, um Windows den Rücken zu kehren und doch dauerte das noch eine Weile ...
 
<br />
 
  
===Neuer PC===
+
: In diesem Artikel geht es aber darum, eine Homepage ''ohne'' Zuhilfenahme eines grafischen Homepage-Baukasten (meist in einem Webhosting-Vertrag angeboten) oder Anwendungen wie zum Beispiel '''N'''et '''O'''bjekt '''F'''usion (NOF)<ref>[https://de.wikipedia.org/wiki/NetObjects_Fusion Net Objekt Fusion]</ref>, zu erstellen. Diese sind zwar recht leicht zu bedienen, binden einen aber auch stark an kommerzielle Updates, häufig auch an das Betriebssystem Windows, und ein Homepage-Baukasten kann einen im Funktionsumfang oder der erlaubten Seitenanzahl auch stark einschränken.
[[Datei:LinuxPC.png|150px|thumb|right|mein Linux-PC]]
+
: Tatsächlich wurde meine allererste Homepage &ndash; Hörbibel "audiobibelneü.de"<ref>[https://www.xn--audiobibelne-olb.de Audio-Bibel NeÜ]</ref> &ndash; mit NOF 8.0 erstellt, dann aber vor über zehn Jahren &ndash; mit viel, '''wirklich viel!''' Hilfe eines Freundes in HTML und CSS-Code komplett neu geschrieben, denn ich war von Windows zum Betriebssystem Linux gewechselt. Aber unter Linux kann Net Objekt Fusion nicht genutzt werden.
Ungefähr 2014, also vor sieben Jahren, entschloss ich mich, einen neuen PC zu kaufen. Ursache war die schwache Grafikkarte, denn ich wollte den Windows-Flugsimulator nutzen. Also sollte der Neue einigermaßen zukunftssicher sein; das heißt, von der Leistung her auch nach Jahren noch aufrüstbar. Tatkräftige Unterstützung erhielt ich von meinem Freund Wolfgang, der mit bei der Hardware-Auswahl und vor allem auch beim Zusammenbau der Komponenten half (und, nicht zu vergessen!) mir ein PC-Gehäuse schenkte.
 
Nun, dieser PC ist auch heute am Laufen und hat nur leichte Modifikationen erfahren. Die anfangs 8 GB RAM wurde auf 16 GB (32 wären möglich) erweitert und vor ungefähr einem Jahr erhielt er noch eine NVMe<ref>Was ist eine NVMe? [https://de.wikipedia.org/wiki/NVM_Express deutscher Wikipediaeintrag]</ref> spendiert, die allerdings vom alten BIOS beim Hochfahren nicht angesprochen werden kann und so 'nur' als sehr schnelles Home-Verzeichnis dient. Auch ein stärkeres Netzteil musste mal her, das alte war defekt. Das DVD-Laufwerk funktioniert nicht mehr zuverlässig, weswegen es nun durch ein USB-DVD-Laufwerk ersetzt wird.
 
<br />Anfangs nutze ich überwiegend noch Windows XP, danach aber schon nur noch gelegentlich die Nachfolger 8.0 und 8.1 und schließlich 10 auf dem Rechner, probierte parallel aber bald schon verschiedene Linux-Distributionen aus.
 
Dass ich mich klar ausdrücke: ich nutze Windows (10) noch; allerdings maximal drei bis zehn Mal im Jahr (oder auch gar nicht). Linux aber ist mein absolut bevorzugtes Betriebssystem geworden.
 
<br />
 
  
===Distro-Hopping===
+
: Vor einigen Monaten entschloss ich mich, nun auch meine zweite von mir betriebene Website in HTML und CSS zu schreiben. Die Gründe?
'Distro-Hopping' ('Hüpfen' / häufiges Wechseln von einer zur anderen Distribution) ist bei Linux fast unvermeidlich. Es gibt nun einmal verschieden geschnürte 'Distributionen'<ref>Was ist eine Distribution / Distro? [https://de.wikipedia.org/wiki/Liste_von_Linux-Distributionen]</ref>, zum Teil sehr spezielle für eben spezielle Ansprüche. Und das in nicht geringer Zahl! Auch werden mindestens fünf Desktopoberflächen angeboten; dazu später mehr. Viele führen sich auch nur auf Vorlieben oder gewisse Überzeugungen zurück. Auf jeden Fall ist die Auswahl extrem groß und für viele Leute, die überlegen Windows hinter sich zu lassen, eine nicht zu unterschätzende Hürde. Andererseits wird (fast) jede Anforderung abgedeckt; man muss nur Klarheit über die eigenen Erwartungen und Ansprüche erlangen. Und in der Regel bekommt man diese Klarheit nur durch Ausprobieren; also Wechsel der Distributionen.
+
# Ich wollte den Anbieter wechseln und musste damit entweder die Webseite mit einem neuen Homepagebaukasten oder '''W'''hat'''Y'''ou'''S'''ee'''I'''s'''W'''at'''Y'''ou'''G'''et-Editor, besser aber gleich in HTML und CSS neu erstellen.
<br />
+
# Schon früher hatte mich die Abhängigkeit und Beschränkung durch einen Homepage-Baukasten (wie er in meinem alten Webhosting-Vertrag enthalten war), beziehungsweise grafischen Tools (zum Beispiel NOF), welche für einen den HTML-Code generieren und dann alles grafisch darstellen, geärgert.  
====Ubuntu 8.04 mit Gnome-Desktop====
+
# Homepage-Baukasten sind zwar recht einfach in der Bedienung, haben aber auch den Nachteil, dass man beispielsweise nur eine begrenzte Anzahl von Seiten ohne Aufpreis erstellten kann, bei einem Wechsel des Webhosting-Anbieters alles neu erstellen muss, und anderes.
Da ich über Ubuntu 8.04 erstmals Linux ausprobierte, war es nur folgerichtig, mit Ubuntu weiter zu machen. Leider (ab 2011) löste der der sogenannte 'Unity-Desktop' den bewährten Gnome-Desktop ab.  
+
# Software (wie zum Beispiel NOF, siehe oben) läuft häufig nur auf Windows-Betriebssystemen, und man muss diese in der Regel kostenpflichtig upgraden.
<br />
+
# Anwendungen, wie NOF oder Homepagebaukästen eines Webhosting-Anbieters sind natürlich meist auch keine openSource-Software<ref>[https://de.wikipedia.org/wiki/Open_Source openSource-Software]</ref>, was für mich aber sehr wünschenswert ist.
====Der Unity-Desktop unter Ubuntu====
+
# Eine Homepage &ndash; einmal in HTML und CSS geschrieben &ndash; kann ich ohne Probleme zu einem neuen Anbieter umziehen und danach auch sehr einfach pflegen; die Arbeit, alles neu zu schreiben, war es mir also wert!
Der Unity verschreckte mich, aber auch viele langjährigen Linux-Nutzer. Man kann den Unity am ehesten mit dem Windows 8.0-Desktop vergleichen (Kacheln), wo viele Anwendungen auf einmal nur noch über neu zu lernende Tastenkombinationen oder Mausgesten zugänglich waren. Ich meine mich zu erinnern, dass ziemlich zeitgleich auch die Unterstützung des Windows XP endete, weswegen ich auf Windows 8.0 updatete.  
 
[[Datei:UbuntuUnity_Desktop.png|250px|down Der Unity Desktop von Ubuntu]] [[Datei:UbuntuUnity_DesktopAnwendungsstarter.png|250px|down Der Unity Desktop mit geöffnetem Anwendungsstarter]][[Datei:Win8_Desktop.png|250px|down Der Windows8-Desktop von Microsoft]]
 
Aber auch Windows hatte diesen hässlichen Kachel-Desktop eingeführt. Wer hatte denn da von wem abgeguckt?
 
<br/>Wenn ich mich recht erinnere, versuchten beide Betriebssysteme damals einen Desktop zu schaffen, der sowohl auf dem PC, als auch auf einem Smartphone Verwendung finden konnte. Beide Systeme (Windows und auch Ubuntu) fanden übrigens kaum Zuspruch bei den Smartphone-Nutzern, die unixoiden (und damit mit Linux verwandten) Betriebssysteme Apple und Android ließen sich nicht mehr verdrängen und erfreuen sich bis heute großer Akzeptanz ...
 
<br />
 
  
====Der KDE-Desktop====
+
== Vor dem Start &ndash; ToDo ==
Der Unity-Desktop also war nichts für mich, weshalb ich stattdessen den KDE-Desktop wählte und davon restlos begeistert war. Ich nutze ihn auch heute - nach einem kurzen Abstecher zum Xfce- und Cinnamon-Desktop - ausschließlich.
+
=== Webseitenanbieter finden ===
So kam ich von Ubuntu mit einem nachinstallierten KDE-Desktop schließlich zu Kubuntu 14.04 (Frühjahr 2014) das ich aber schnell gegen Mint 17 eintauschte.
+
: Zuerst einmal musste ein anderer Webseiten-Anbieter gefunden werden. Die recht hohen Kosten beim alten Anbieter, aber auch der Wunsch, eine eigene kleine Cloud (Tauschordner in der Familie / Freunde) aufzusetzen und andere Kleinigkeiten gaben den Ausschlag. Nach langem Überlegen und einem Tipp von "Plocki" (einem Teilnehmer unserer Online-Stammtische) entschloss ich mich für "Netcup". Netcup bietet immer mal wieder vergünstigte Angebote an (also noch mal etwas günstiger, als normal) und ich entschloss mich für diesen Tarif: Netcup-Webhosting-Angebot 8000<ref>[https://www.netcup.de/bestellen/produkt.php?produkt=3327 Netcup-Webhosting-Angebot 8000]</ref>.
Das war vermutlich im Frühjahr 2014; ich wählte das aktuelle Mint 17 (KDE-Desktop). Das nutze ich bis zur Version Mint 18.3; ab Mitte 2018 wurde der KDE-Desktop unter Mint 19 nicht mehr unterstützt und ich ging zurück zu Kubuntu 18.04, probierte kurze Zeit parallel noch Mint 18.3 mit dem Xfce-Desktop, um dann wieder zurück zu Kubuntu 18.04 zu 'hoppen'.
 
<br />
 
  
====Mein aktuelles Linux: openSUSE Tumbleweed====
+
: Er beinhaltet:
[[Datei:openSUSE_Tumbleweed_Desktop.png|750px|right mein aktueller KDE-Desktop (ein waagrechter Schirm mit drei Taskleisten , 1 x vertikaler Bildschirm mit zwei Miniprogrammen und geöffnetem Dolphin) unter openSUSE Tumbleweed]]
+
# Server mit Standort in Deutschland
Das war wohl Ende 2019. Hauptgrund für diesen wohl letzten Wechsel?
+
# 500 GB für E-Mail- und 500 GB Daten-Speicher = 1.000 GB
:: 1. mein Lieblingsdesktop KDE - und damit auch mein zweispaltiger Lieblings-Dateimanager Dolphin - werden unter openSUSE Tumbleweed (aber auch Leap) optimal unterstützt
+
# 1.000 Subdomains, 12 externe Domains
:: 2. die neuesten Pakete (für die installieren Anwendungen); kann aber auch ein leichter Nachteil sein
 
:: 3. Ulf und Michael, zwei Mitglieder der LUG-VS, die das gleiche System nutzen (und damit kompetente Ansprechpartner bei Fragen sind)
 
:: 4. der Yast-Manager; ein sehr komfortables (grafisches) Werkzeug, um systemweite Änderungen zu verwalten
 
:: 5. es gefällt mir einfach immer noch sehr gut!
 
<br />
 
  
===Welche Programme ich unter Linux nutzte und welche Windows-Anwendungen ich damit ersetze===
+
: Und noch viel mehr; dazu bitte obigen Link anschauen &ndash; wie gesagt, damals hatte ich ein "Schnäppchen", wie das von Netcup immer mal wieder angeboten wird, erwischt &ndash; der Preis ist damit dauerhaft geringer, aber die Leistungsbeschreibung gleichbleibend.
Wie oben schon erwähnt, nutzte ich auch schon unter Windows ausschließlich OpenSource-Programme, weil ich schon damals von deren Qualität und Sicherheit und auch dem guten Support überzeugt war (und auch heute noch bin).
 
<br />
 
====Der Internetbrowser Firefox====
 
[[Datei:Firefox.png|250px|right]]
 
: Aktuell nutze ich die Version 86.0.1 (64-Bit). Firefox<ref>Firefox-Browser: [https://www.mozilla.org/de/ Mozilla-Website]</ref> - wie auch alle anderen unter Linux installierten Anwendungen - wird regelmäßig aktualisiert und ist ein sicherer und gut konfigurierbarer Browser. Wenn man sich ein Firefox-Konto erstellt, kann man Tabs, Passwörter und Onlinezugänge, Lesezeichen und manch anderes auf anderen Geräten (PC, Laptop, Smartphone) synchronisieren und auch bei einem Gerätewechsel stets an der Stelle weiterarbeiten, wo man zuletzt ausgestiegen ist.
 
:Was ich sehr schätze ist der Passwortmanager, welchen man durch ein 'Haupt'-Passwort (früher 'Master'-Passwort) sichern kann. So reicht es, sich ein Passwort  zu merken, um alle Online-Zugänge zu verwalten.
 
<br />
 
====Das Mailprogramm Thunderbird====
 
[[Datei:Thunderbird.png|100px|right]]
 
:Thunderbird (Donnervogel)<ref>Mailprogramm Thunderbird:[https://www.thunderbird.net/de/ Website der Entwickler]</ref> funktioniert, bietet zahlreiche Erweiterungen (von denen ich aber keine nutze), auch einen Kalender, beinhaltet ebenfalls einen Passwortmanager (wie Firefox) und ist intuitiv zu bedienen.
 
<br />
 
====Dateimanager Dolphin====
 
[[Datei:Dolphin.png|250px|right]]
 
: Dolphin ist unter openSUSE Tumbleweed und dem standardmäßigen KDE-Desktop vorinstalliert. Dieser Dateimanager ist sehr stark in der Funktionatität und fein zu konfigurieren. Da wären zum Beispiel:
 
  
# Wechsel von Einspaltig- zu Zweispaltigkeit mit dem Hotkey 'F3' (manche kennen das von vielleicht noch vom Total-Commander oder dem Midnight-Commander)
+
=== Auswahl eines Editors ===
# Der Hotkey 'F4' öffnet eine Konsole genau in dem Verzeichnis, in dem man sich gerade befindet
+
: Natürlich bietet Netcup in seinem Paket auch grafische Editoren, wie das sehr bekannte Wordpress<ref>[https://de.wikipedia.org/wiki/WordPress Wordpress]</ref> und andere an, diese wollte ich aber nicht nutzen. Meine Erfahrungen mit dem HTML und CSS [[#Vorbemerkungen|Abschnitt "Vorbemerkungen"]] hatten mich einfach überzeugt!
# Sogenannte 'Orte' lassen sich an der Seitenleiste beliebig hinzufügen oder entfernen und auch mit einem systemeigenen oder selbsterstellten Icon versehen
+
: Mit was für einer openSource-Anwendung also würde ich die HTML- und CSS-Dokumente schreiben?
# es lassen sich Netzwerke, wie zum Beispiel Bluetooth, freigegebene Ordner (SMB), MTP-Geräte verwalten
+
: Nun, schließlich waren es drei, wobei ich &ndash; zumindest aktuell &ndash; bei "Kate" hängengeblieben bin. Es sind diese:
# alle eingehängten, bzw. schon einmal eingehängten Geräte (interne oder externe Datenträger, auch Kameras und Smartphones) werden angezeigt
+
# '''Bluefish'''<ref>[https://de.wikipedia.org/wiki/Bluefish Bluefish]</ref>. Nett ist, dass man mit einem Klick den Code grafisch (lokal, auf dem eigenen Rechner) betrachten kann, bevor er online gestellt wird. Aber das geht auch ohne den "Klick" recht einfach ...
# die Werkzeugleiste lässt sich einrichten
+
# '''VS Codium'''<ref>[https://blog.desdelinux.net/de/vscodium-eine-Gabelung-von-Visual-Studio-Code-100-Open-Source/ VS Codium]</ref>, ein sehr mächtiges (für mich vielleicht ''zu'' mächtiges) Werkzeug, das ich aber manchmal noch nutze. VS Codium ist übrigens ein open-Source-Fork (eine Abgabelung) von der bekannten Software "Visual Studio" von Microsoft. Der Vorteil von VS Codium: er plappert nicht nach Hause; gibt also keine Informationen an Microsoft weiter.  
# Metadaten, wie Größe des Verzeichnisses, Änderungs- oder Erstellungsdatum, Eigentümer, Benutzergruppe, Rechte und vieles mehr können angewählt, aber auch ausgeblendet werden
+
# '''Kate'''<ref>[https://kate-editor.org/de/ Kate]</ref>, auch ein sehr mächtiger Editor. Er ist bei meinem Linux-Betriebssystem openSUSE Tumbleweed<ref>[https://get.opensuse.org/de/tumbleweed/ openSUSE Tumbleweed]</ref> eh schon vorinstalliert. Und der Kate kann, was ich benötige (und sicherlich noch Vieles mehr, was ich nicht einmal erahne). Kate lässt sich auch unter Windows oder macOS installieren!
# die Hotkeys 'Strg+H' (für 'hidden', versteckt) bzw. 'Alt+.' blenden versteckte Ordner und Dateien ein oder aus. Unter openSUSE Tumbleweed mit dem KDE-Desktop funktionieren beiden Shortcuts gleichermaßen
 
# starke Suchfunktion
 
# Sortierfunktion
 
# Anzeigemodus zwischen Symbol-, Kompakt- und Detailansicht fest einstellbar, aber natürlich auch kurzfristig änderbar
 
# rechter Mausklick und Art der Komprimierung einer Datei auswählen (vorinstalliert und dem Windows-Komprimierungsteil überlegen)
 
# und vieles mehr ...
 
<br />
 
====LibreOffice - kostenlose Büroanwendungen====
 
[[Datei:LibreOffice.png|500px|right| Startbildschirm des Libre-Office-Pakets]]
 
:Auch hier habe ich keinen Ersatz benötigt, da ich schon unter Windows XP nur noch Open-Office nutzte. Später, unter Linux, stieg ich auf das häufiger mit Updates versehene Libre-Office um. Microsoft Office hatte ich nur unter Windows 3.0 und jahrzehntelang betrieblich benutzt.
 
:Das Office-Paket umfasst:
 
# 'Write, der freie Pedant zu Microsoft-Word; mit ihm lassen sich unter anderem auch Dateien im .DOC- oder .DOCX-Format erstellen
 
# 'Calc' ist vergleichbar mit dem Microsoft-Programm Excel; auch hier lassen sich Tabellen (unter anderem) im .XLT- bzw. .XLTX-Format abspeichern
 
# 'Impress'; mit diesem Programmteil lassen sich Präsentationen erstellen
 
# 'Draw'; wie die englische Namensgebung schon sagt, lassen sich mit diesem Programm Zeichnungen erstellen
 
# 'Math Formel'; habe ich noch nie genutzt
 
# 'Base Datenbank'; auch diese habe ich noch nie genutzt, kann also auch hierzu nichts sagen
 
<br />
 
====Das Terminal====
 
[[Datei:Konsole.png|300px|right| linke Spalte: User ohne Root-Rechte; rechte Spalte Sudo-User mit Root-Rechten]]
 
:Mit dem Terminal (auch als Konsole oder Shell bezeicnet) habe ich unter Windows maximal drei Mal 'gearbeitet', und da auch nur ein oder zwei Konsolenbefehle nach einem Rat in einer Windows-Ratgeber-Website oder einem Windows-Ratgeber-Buch kopiert.
 
:Unter Linux habe ich mir inzwischen doch schon einige Befehle angeeignet. Damit kann man sich wirklich viel Zeit sparen (obwohl man einen Befehl tippt, anstatt Icons anzuklicken). Vor allem hat man dann auch eine Ausgabe im Terminal, die einen auf Fehler oder Tipps hinweist.
 
:* man kann beispielsweise Programme in- bzw. deinstallieren
 
:: ==> # zypper install [Programmname], bzw. # zypper remove [Programmname]
 
:* Abfragen erstellen
 
:: ==> $ inxi -Fz (Systemeigenschaften, wie Kernel, Betriebssystem, Motherboard, Audio, Grafik, Festplatten, etc.
 
:* Softwareaktualisierungen abrufen
 
:: ==> # zypper upgrade
 
:* installiere Distributionen verwalten
 
:: ==> # zypper dup
 
:* und vieles mehr ...
 
::==> eigentlich kann man über die Konsole alles machen, was auch grafisch (mit Maus auf Icons des Destops klicken) machbar ist; man muss halt nur lernen, wie das geht ...  ;-)
 
<br />
 
====Der Bluefish Editor====
 
[[Datei:Bluefish.png|500px|right| HTML-Code mit Bluefish geöffnet und lokal im Firefox angezeigt]]
 
:Was ist Bluefish? Ich zitiere von der Website der Entwickler<ref>Bluefish-Editor: [http://bluefish.openoffice.nl/index.html/ Webseite des Projekts 'Bluefish']</ref> (übersetzt mit der kostenlosen Version von www.DeepL.com/Translator):
 
Bluefish ist ein leistungsfähiger Editor, der sich an Programmierer und Webentwickler richtet, mit vielen Optionen zum Schreiben von Websites, Skripten und Programmiercode. Bluefish unterstützt viele Programmier- und Markup-Sprachen. ... Bluefish ist ein Open-Source-Entwicklungsprojekt, veröffentlicht unter der GNU GPL-Lizenz.
 
Bluefish ist eine Multiplattform-Anwendung, die auf den meisten Desktop-Betriebssystemen läuft, einschließlich Linux, FreeBSD, MacOS-X, Windows, OpenBSD und Solaris.
 
  
Ich kann kaum HTML, aber mein Freund Wolfgang hat mir das 'Gerüst' für die Seite geschrieben (und ich ihm dabei über die Schulter geschaut), und mich quasi eingelernt und auch sehr oft bei Fragen tatkräftig unter die Arme gegriffen, so dass ich sie inzwischen weiter gestalten und pflegen kann. Es gibt hier auch gute Hilfe im Internet, z. B. self.html<ref>HTML- und CSS-Hilfe: [https://selfhtml.org/ SELFHTML]</ref>.
+
= Grundlegendes zur Sprache HTML =
<br />
+
: HTML (englisch: '''H'''yper'''T'''ext '''M'''arkup '''L'''anguage)<ref>[https://wiki.selfhtml.org/wiki/HTML/Tutorials/Einstieg/Erste_Schritte HTML]</ref> ist als ''Auszeichnungs''-Sprache (englisch: Markup Language) für die '''Struktur / den Aufbau''' einer Website / Homepage zuständig. Ihre Aufgabe ist es, die logischen Bestandteile eines textorientierten Dokuments zu beschreiben.
 +
: Für das '''Design / Layout''' (Schriftart, Formatiererung, Farben, Rahmen, etc.) sorgt dagegen die ''Formatierungs''-Sprache [[#Grundlegendes zur Sprache CSS|CSS (siehe unten)]].
 +
: Mit HTML ist es möglich, Überschriften, Absätze, Listen oder Tabellen als solche auszuzeichnen. Ziel ist es, die Strukturierung von Webseiten und Text nach semantischen<ref>[https://wiki.selfhtml.org/wiki/HTML/Tutorials/Element,_Tag_und_Attribut#Semantik_-_der_Inhalt_bestimmt_die_Struktur Semantik]</ref> Gesichtspunkten zu verwalten.
 +
: Gegenwärtig ist HTML'''5'''<ref>[https://de.wikipedia.org/wiki/HTML5 Wikipedia HTML5]</ref> der neueste Stand; der sollte auch verwendet werden. Noch einmal die Empfehlung: besuche die Seite von '''selfhtml.org''' &ndash; Wie fange ich an?<ref>[https://wiki.selfhtml.org/wiki/Wie_fange_ich_an%3F selfhtml.org &ndash; Wie fange ich an?]</ref>.  
 +
: Hier noch Infos zum derzeit (2024) aktuellen HTML5<ref>[https://blog.selfhtml.org/2013/feb/02/html5-serie-der-weg-zu-html5 Weg zum derzeit aktuellen HTML5]</ref>.
  
====Filezilla, die sichere, freie und quelloffene (S)FTP-Lösung====
+
: Ein HTML-Dokument kann mit einem beliebigen Texteditor<ref>[https://wiki.selfhtml.org/wiki/Wie_fange_ich_an%3F/Der_richtige_Code-Editor Texteditor]</ref> erstellt werden; solche sind sogar auf Windows schon vorinstalliert. Allerdings bieten spezielle Editoren durch (farbliche) Hervorhebungen im Code, Formatierungshilfen, Autovervollständigung, Einstellungsmöglichkeiten (Tastaturkürzel, etc.) schon einen deutlichen Mehrwert (siehe oben unter [[#Auswahl eines Editors|Auswahl eines Editors]]).
[[Datei:Filezilla.png|500px|right| Filezilla - (S)FTP-Client]]
+
: Wird die Datei dann mit der Endung .htm, ''besser'' '''.html''', bzw. '''.css''' abgespeichert, kann sie von einem Webbrowser als HTML-Dokument, bzw. CSS-Code korrekt interpretiert werden.
:Mit dem Filezilla lade ich meine HTML-, CSS-, Bild- und Audio-Dateien auf meine Homepage (Hörbibel) hoch oder herunter.
+
 
:Er hat inzwischen, wie auch der Firefox-Browser und der Thunderbird-Mailclient, die Möglichkeit, ein 'Master-Passwort' zu hinterlegen. Will man nun einen der verwalteten Server betreten, geht das erst nach Eingabe des Passworts (optional). Das Masterpasswort zu aktivieren, ist auch zu empfehlen, denn ansonsten werden die Anmeldedaten (Benutzernamen und Passwort) unverschlüsselt auf der lokalen Festplatte gespeichert.
+
== Tipp: prüfe den erstellten HTML- (bzw. CSS-)Code vor der Veröffentlichung auf Fehler ==
: Es können beliebig viele Server verwaltet werden; deren Zugangsdaten muss man bei Provider erfragen.
+
: Generell: Bevor das geschriebenes HTML online geht, sollte man '''Code-''Aufbau''''' und '''''Darstellung''''' überprüfen; das kann auch ''während'' des Erstellens der Webseite hilfreich sein!
:Die Übertragung erfolgt sicher (SFTP) und falls die Verbindung getrennt werden sollte, führt der FileZilla diese später fort, ohne Daten zu verlieren.
+
: Sauberer Code (der keinen Raum für falsche Interpretationsmöglichkeiten lässt), sowie korrekte Rechtschreibung und Grammatik helfen, das Ranking in den Suchmaschinen zu verbessern!
:Das Verschieben der Daten vom PC auf den Server (oder natürlich auch in die umgekehrte Richtung) klappt super; einfach mit der Maus markieren und die Verzeichnisse, bzw. deren Inhalte in den gewünschten Ordner ziehen).
+
=== Validator ===
:Mehr zum Funktionsumfang des FileZilla im deutschen Wikipediaeintrag<ref>Filezilla - FTP- und SFTP-Datentransfer: [https://de.wikipedia.org/wiki/FileZilla] deutscher Wikipediaeintrag</ref>; wenn ich es richtig sehe, betrifft der Abschnitt mit der Adware lediglich Windows-Nutzer, denn Linux sollte das verhindert haben.
+
: Wie auch von selfhtml.org empfohlen, nutze vor Veröffentlichung Deines HTML-Codes stets einen Validator<ref>[https://wiki.selfhtml.org/wiki/Validator Validator]</ref>; dieser hier ist zu empfehlen: HTML-Validator von w3.org<ref>[https://validator.w3.org/ HTML-Validator von w3.org]</ref>.
<br />
+
: Das gleiche gilt für [[#Grundlegendes zur Sprache CSS|CSS]]; &ndash; wenn auch in der Erwähnung hier ein bisschen zu früh platziert &ndash; CSS-Validator von w3.org<ref>[https://jigsaw.w3.org/css-validator/ CSS-Validator von w3.org]</ref>.
====VLC-Player für Videobetrachtung und Streaming====
+
 
[[Datei:VLC.png|250px|right| DVDs und CDs abspielen; Filme schauen, Streams betrachten ...]]
+
=== HTML ''lokal'' im Browser anzeigen lassen ''(Darstellung)'' ===
:Diesen Player nutze ich, um selbst erstellte Videos zu betrachten. Es gibt unter Linux aber noch viele andere und teilweise auch bessere, bzw. Player mit mehr Funktionen im Umfang, wie zum Beispiel Kdenlive, SimpleScreenRecorder und noch viele andere. Ausprobieren macht schlau!
+
: Zur schnellen Veranschaulichung &ndash; ohne dass wir jetzt schon eine Webseite in HTML erstellt hätten &ndash; läßt sich das so bewerkstelligen:
:Ich selbst nehme den VLC nur, um vorhandene Videos oder MP3- und MP4-Dateien abzuspielen. Der Player hat sehr viel mehr drauf; man kann Audio oder Video aufnehmen, Streams abspielen. Da ich aber für Audioaufnahmen schon den Audacity nutze und für Bildschirmaufnahmen den SimpleScreenRecorder, habe ich den VLC eigentlich noch nie so richtig ausgetestet.
+
# Erstelle eine Text-Datei mit dem Inhalt <code>Das ist eine Test-HTML-Seite</code> und speichere sie mit der Endung '''.html''' in einem beliebigen Ordner ab; der Name in unserem Beispiel lautet '''test_index.html'''.
<br />
+
# Öffne einen Browser Deiner Wahl und gib ins Adressfeld ein: <code>file:///'''Speicherpfad/Deiner/Datei/'''test_index.html</code>, '''oder''', noch einfacher: rechter Mausklick auf die HTML-Datei und im sich öffnenden Kontextmenü Deinen Browser auswählen ...
====SimpleScreenRecorder====
+
# Du wirst nun in ''Deinem'' Browser / auf Deinem ''lokalen'' Rechner die grafische Ausgabe sehen (Grafik: im Vordergrund der Texteditor '''Kate''', mit welchem das HTML-Dokument gespeichert wurde; links &ndash; vom Editor teilweise verdeckt &ndash; der Firefox-Browser, welcher auf weißem Grund den Text wiedergibt):
[[Datei:SimpleScreenRecorder1.png|250px|down| Startseite der Menüführung]] [[Datei:SimpleScreenRecorder2.png|250px|down| Eingangsprofil]] [[Datei:SimpleScreenRecorder3.png|250px|down| Ausgangsprofil]][[Datei:SimpleScreenRecorder4.png|250px|down| Aufnahme starten]][[Datei:SimpleScreenRecorder5.png|250px|down| Aufnahme pausieren oder speichern]][[Datei:SimpleScreenRecorder6.png|250px|down| Verzeichnis öffnen, in dem die Videos abgelegt werden]]
+
[[Datei:HTML-Code_KATE-EditorII.png|500px|centre|lokale Darstellung von HTML-Code im Browser]]
:Dieser ScreenRecorder ist ein tolles Teil; im Prinzip ist schon alles vorkonfiguriert. Also genau das Richtige für mich! Mit ihm habe ich dieses Video für den '''L'''inux '''P'''resentation '''D'''ay 2021.1 gemacht.
+
<br>
:Die Aufnahmen fressen natürlich einiges an Speicherplatz; als Pfad für die abzulegende Videos sollte man also schon eine Festplatte wählen, die ausreichend freien Speicher hat.
+
: Hier noch der Editor KATE in Aktion; die Startseite (index.html) der Website KONTAKT e.V. Villingen-Schwenningen.
<br />
+
[[Datei:HTML-Code_KATE-Editor.png|500px|centre|HTML-Code|KATE-Editor]]
====Audacity, kostenlose, quelloffene, plattformübergreifende Software zur Aufnahme und Bearbeitung von Klängen====
+
<br>
[[Datei:Audacity.png|150px|right]]
+
: Solange noch ''kein'' CSS hinterlegt ist (es sorgt &ndash; wie oben schon erwähnt &ndash; für das Design, Farben, Formen, etc.) sieht der Webauftritt etwas "mager" aus (siehe unten und auch unter [[#Grundlegendes zur Sprache CSS|Grundlegendes zur Sprache CSS]]):
:Mit Audacity<ref>Audacity - freier Audioeditor und -recorder: [https://de.wikipedia.org/wiki/Audacity] deutscher Wikipediaeintrag</ref> nehme ich meine Audiodateien auf und bearbeite sie. Das Tool ist intuitiv zu nutzen, hat aber nicht zu unterschätzende Möglichkeiten in der Anpassung und Bearbeitung von Klängen.
+
[[Datei:homepageOHNE_CSS_nur_HTML.png|500px|centre|HTML-Code-Darstellung, '''ohne''' CSS-Code-Einbindung]]
:Für einen Amateur wie mich allemal ausreichend.
+
<br>
:Wie man merkt, musste ich Windows-Programme gar nicht ersetzen, weil ich unter Windows entweder schon die oben erwähnten, kostenlosen Open-Source-Programme genutzt habe, oder weil die unter Linux vorinstallierten Anwendungen denen von Windows weit überlegen sind (z.B. Dolphin ./. Windows-Dateimanager).
+
: Und hier der Vollständigkeit halber noch mal ein Screenshot obiger Website, wenn HTML- und CSS-Code einander ergänzen, um die Webseite korrekt darzustellen:
<br />
+
[[Datei:homepageMIT_CSS_und_HTML.png|500px|centre|lokale Darstellung, wenn HTML-Code auf CSS-Code zurückgreifen darf]]
====Softwareaktualisierungen====
+
<br>
[[Datei:Softwareaktualisierungen.png|150px|right|grafisches Softwareaktualisierungstool]]
+
: Und was hat sich durch die Einbindung des CSS geändert?
:Das (grafische) Softwareaktualisierungstool meldet sich automatisch, wenn Aktualisierungen zur Verfügung stehen. Anders als unter Windows werden dann jedes Mal alle zur jeweiligen Anwendung benötigten Abhängigkeiten mit installiert und eventuell veralterte Abhängigkeiten deinstallisiert. Das heißt, es muss nicht im Internet - auf zum Teil fragwürdigen Seiten - nach Treibern etc. gesucht werden.
+
: Nun, die Navigationsleiste ist (bei breitem) Bildschirm ''horizontal'' ausgerichtet &ndash; bei Darstellung auf einem Smartphone ändert sich das zu ''vertikaler'' Anzeige der Navigationsbar (die Darstellung ist also auf jeder Bildschirmgröße optimiert) &ndash; die aktiv angezeigte Seite ist in der Navigationsleiste türkis hinterlegt, die (SVG-)Grafik passt sich der Breite der Nav-Bar an; ebenso die jetzt grau eingerahmte Überschrift "Herzlich willkommen". Es wird eine einheitliche Schriftart verwendet, die Seite wird zentriert auf dem Bildschirm angezeigt und der Text unter der Überschrift ist außen etwas eingerückt.
:Natürlich kann man so eine Aktualisierung auch von Hand per Konsole anstoßen; der Vorteil ist dabei, dass man sieht, was gerade gemacht wird und die etwaige Fehlermeldungen oder Hinweise angezeigt bekommt.
+
 
<br />
+
= Aufbau einer HTML-Seite =
====YaST grafische Verwaltung des openSUSE-Systems====
+
: Das wird hier im "Wiki der deutschsprachigen Seite '''selfhtml.org''', Thema: HTML,<ref>[https://wiki.selfhtml.org/wiki/HTML/Tutorials/Grundger%C3%BCst#Aufbau_des_Grundger.C3.BCstes Wiki der deutschsprachigen Seite "selfhtml.org" zum Thema "HTML"]</ref> sehr gut dargestellt.  
[[Datei:YaST1.png|200px|down|Passwortabfrage, da Root-Rechte erforderlich (Systemeingriff)]][[Datei:YaST2.png|200px|down|Tools, die administriert werden können]]
+
: '''Generell ist die Seite von selfhtml.org eine ausgezeichnete Anlaufstelle, um niederschwellige (deutschsprachige!) Hilfe (Beispiele, aber auch praktische Hilfe im Forum) zu erhalten!''' Einen sehr großer Teil der aktuellen Seite [https://www.kontakt-vs.de kontakt-vs.de] konnte ich nur mit Hilfe der freundlichen und engagierten (ehrenamtlichen!) Mitarbeiter von selfthtml.org realisieren, &ndash; nicht zu vergessen Julian von unserem LUG-VS-Verein, der mir ziemlich Starthilfe gab! Die kennen sich wirklich aus und geben einer - in meinen Augen "perfekten" Website so richtig profimäßige Verbesserungen! Bei mir fehlten da vor allem Kenntnisse im Erstellen und Einbinden von SVG-Grafiken, sauberem Code, Realisierung einer guten Navigationsleiste und noch so vielem mehr ...
:Mit dem YaST<ref>Was ist YaST und wofür wird er genutzt? [https://de.wikipedia.org/wiki/YaST] deutscher Wikipediaeintrag</ref> verwalte ich zum Beispiel meine Anwendungsprogramme und deren Abhängigkeiten, meine nachinstallierten Repositories, Drucker und / oder Scanner, die Audioeinstellungen, den Bootloader, Datum-, Zeit-, Sprach- und Landeseinstellungen, Partitionen der in- und externen Festplatten, virtuelle Maschinen, den Umzug einer Serverkonfiguration und noch einiges mehr.
+
 
<br />
+
: Zunächst einmal möchte ich das '''HTML5-Grundgerüst''' &ndash; siehe auch (nochmals) diesen Link "Aufbau des HTML-Grundgerüstes"<ref>[https://wiki.selfhtml.org/wiki/HTML/Tutorials/Grundger%C3%BCst#Aufbau_des_Grundger.C3.BCstes Aufbau des Grundgerüstes selfhtml.org]</ref> vorstellen. Es gibt fünf Elemente<ref>[https://wiki.selfhtml.org/wiki/HTML/Tutorials/Element,_Tag_und_Attribut#Elemente_und_Tags Elemente]</ref>, die eigentlich ''unentbehrlich'' sind und immer vorkommen müssen:
====Windows-Spiele - laufen die denn unter Linux?====
+
# DOKUMENTENTYP
[[Datei:lfs_Startbildschirm.png|240px|down|die Optionen der Rennsimulation Live for Speed]][[Datei:lfs_menue.png|250px|down|LFS-Menü]][[Datei:lfs_box.png|250px|down|Einstellmöglichkeiten des Setups]][[Datei:lfs_cars.png|250px|down|Fahrzeugauswahl (wenn Version S2 käuflich erworben)]][[Datei:lfs_Streckenauswahl.png|250px|down|Streckenauswahl]][[Datei:lfs_cockpit.png|250px|down|Cockpitsicht]]
+
# HTML
:Das ist tatsächlich ein heikles Thema (das mich glücklicherweise kaum tangiert; ich habe in meinem ganzen Leben weniger als fünf 'Windows-Spiele', - also Spiele, deren Programmcode auf Microsoft Windows abgestimmt ist - , gespielt.
+
# HEAD
:Eines, das ich aber wirklich nicht vermissen möchte ist die Rennsimulation '''L'''ive '''for''' '''S'''peed (LFS).
+
# TITLE
:Glücklicherweise gibt es 'Wine'! Mittels Wine ist es im Falle von Live for Speed (künftig LFS genannt) kein Problem, die SIM zum Laufen zu kriegen. Das ist aber nicht zwangsläufig mit allen anderen unter Windows genutzten Spielen auch so ...
+
# BODY
:Unter 'Wine' läuft LFS ohne Performance-Einbuße absolut flüssig auf meinem Linux. Auch das seit kurzem verwendete [[Lenkrad]] Thrustmaster T150 (laut Support des Herstellers: "... das kriegen sie unter Linux '''nie''' zum Laufen ...") funktioniert tadellos, seitdem ich einen Code von GitHub installiert habe, welcher die Pedale erkennt und so Gasgeben und Bremsen erst ermöglicht.
+
: Diese ''zumindest vorhandenen sein müssenden'' Elemente werden also mit den Tags<ref>[https://wiki.selfhtml.org/wiki/HTML/Tutorials/Element,_Tag_und_Attribut#Elemente_und_Tags Tags]</ref> "markiert", (ein- und abgeschlossen / umrahmt). Das wird hier am Beispiel des HTML-Elements, welcher einen Websiten-Titel umschließt, gezeigt:  
<br />
+
'''<html>''' (''einleitender'' Tag des HTML-Elements)
===Endnoten===
+
    '''<title>''' (''einleitender'' Tag des TITLE-Elements)Das ist meine Website'''</title>''' (''abschließender'' Tag des TITLE-Elements)
 +
'''</html>''' (''abschließender'' Tag des HTML-Elements)
 +
: Tags (wie zum Beispiel <html> ... </html>, <title> ... </title>, oder <body> ... </body>)", werden von eckigen Klammern <code>'''<'''...'''>'''</code> "notiert".
 +
: Der ''abschließende'' Tag wird nach der öffnenden, eckigen Klammer mit einem '''/''' (Slash) dargestellt; beim HTML-Element also so:
 +
<code>'''</'''html'''>'''</code>
 +
 
 +
== Erläuterungen zu den einzelnen ''unentbehrlichen'' Elementen im Grundgerüst des HTML-Code ==
 +
=== DOCTYPE<ref>[https://wiki.selfhtml.org/wiki/HTML/Tutorials/Grundger%C3%BCst#Doctype DOCTYPE]</ref> ===
 +
<code>'''<!DOCTYPE html>'''</code>
 +
: Diese Information steht am Anfang jedes HTML(5)-Dokumentes und informiert den Browser, dass es sich hier um die Sprache '''HTML''' handelt. Groß- und Kleinschreibung ist bei dieser Angabe nicht wichtig, man könnte also genauso gut schreiben:
 +
<code>'''<!doctype HTML>'''</code>
 +
: Jeder Browser würde das dennoch korrekt als HTML interpretieren.
 +
 
 +
=== HTML<ref>[https://wiki.selfhtml.org/wiki/HTML Wiki selfhtml.org HTML]</ref> ===
 +
<code>'''<html''' lang="de"'''>'''...'''</html>'''</code>
 +
: Der HTML-Tag (deutsch: HTML-Etikette) öffnet und schließt den Rahmen für alle dem DOCTYPE nachfolgenden Elemente. Es sind also (abgesehen vom vorstehenden '''DOCTYPE''') alle anderen Elemente ''innerhalb'' des HTML-Elements verschachtelt.
 +
: Übrigens sagt das '''''lang="de"''''' im HTML-Tag dem Browser, dass er deutsche Zeichen ausliefern muss. So können der Browser, aber auch eine Sprachsoftware, oder ein Screenreader (führt zum Vorlesen der Webseite) den Text der HTML-Sprache korrekt interpretieren. Ansonsten wäre die Sprachausgabe (und eventuell auch die Silbentrennung) falsch. Also wichtig für das barrierefreie Erstellen einer Homepage<ref>[https://www.barrierefreies-webdesign.de/knowhow/sprachangabe/ barrierefreie Erstellen einer Homepage]</ref>!
 +
: Steht das <code>'''lang="de"'''</code> im HTML-Tag, vererbt sich die Spracheinstellung auf die komplette Seite (zum Beispiel [https://www.kontakt-vs.de/index.html/]); nicht aber auf die Unterseiten! In jeder weiteren Seite einer Homepage muss  ebenfalls das <code>'''<html''' lang="de"'''>'''...'''</html>'''</code> stehen.
 +
 
 +
: Ein Beispiel zur Verschachtelung der HTML-Elemente?
 +
<!DOCTYPE html>
 +
'''<html''' lang="de"'''>'''
 +
        <head>
 +
        ... Inhalte im HEAD-Tag ...
 +
        </head>
 +
        <body>
 +
        ... Inhalte im BODY-Tag ...
 +
        </body>
 +
'''</html>'''
 +
: Man sieht, wie die anderen Elemente (HEAD, BODY) vom HTML-Element umrahmt werden.
 +
: Wie gesagt, jeder Tag besteht aus einem sich ''öffnenden'' Teil (am Beispiel HTML)
 +
<code>'''<'''html'''>'''</code>
 +
: und einem sich ''schließenden'' Teil:
 +
<code>'''</'''html'''>'''</code>
 +
 
 +
=== HEAD<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/html HEAD]</ref> ===
 +
<code>'''<head>'''...'''</head>'''</code>
 +
: Jedes gültige HTML-Dokument muss einen HEAD (Kopf) aufweisen. Als "Pflicht"-Element informiert es über Daten, welche im (später nachfolgend aufgeführten) BODY hinterlegt sind.
 +
: Freie Wiedergabe aus dem Wiki selfhtml.org (siehe Link oben) [[#HEAD|HEAD]]:
 +
"Das HEAD-Element darf vorkommen in HTML und muss das '''erste''' Kind des HTML-Elements sein ... darf beliebig viele META-Daten-Elemente aufweisen, darunter aber nur genau '''ein''' TITLE-Element (und höchstens ein BASE-Element) ...".
 +
 
 +
: Der HEAD ist für den "normalen" Webseitenbetrachter zwar ''unsichtbar'', aber er enthält zumindest den '''Seitentitel'''; es werden meist aber auch noch sogenannte Meta-Informationen mit dort abgelegt, welche für die Suchmaschinen (Duck-Duck-Go, Google, Bing, etc.) wichtige Erkenntnisse liefern. Hier am Beispiel der '''Startseite''' (index.html) unserer Kontakt-Homepage der Code (auszugsweise):
 +
01 <!DOCTYPE html>
 +
02 <html lang="de">
 +
03    '''<head>'''
 +
04      <meta charset="utf-8">
 +
05      '''<title>'''Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen'''</title>'''
 +
06      <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
 +
07      <link href="./standard.css" rel="stylesheet">
 +
08      <meta name="description" content="Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen | Willkommen!">
 +
09      <meta name="keywords" content="Startseite, KONTAKT Villingen-Schwenningen e.V., soziale Arbeit, Sozialwerk für Prävention und Integration, Kids Live, Lights On, Arbeit mit Jugendlichen, Arbeit mit Kindern, Integration, Migration, Suchtprävention">
 +
10      <meta name="author" content="Holger Hönle | selfhtml.org">
 +
11      <meta name="robots" content="index, follow">
 +
12      <meta name="revisit-after" content="1 day">
 +
13      <link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
 +
14      ... weitere "Icons", welche den Browsern (z.B.) helfen sollen in der Adresszeile ein sogenanntes Favicon zu generieren, habe ich der Übersicht wegen aus dem originalen Code "ausgeschnitten"
 +
15      <meta name="theme-color" content="#ffffff">
 +
16    '''</head>'''
 +
: Was für Informationen also finden die Suchmaschinen im HEAD?
 +
# Zeile 04: die Meta-Information, dass es sich bei dieser Seite um die Zeichencodierung Unicode und im Speziellen um '''UTF-8'''<ref>[https://wiki.selfhtml.org/wiki/Zeichencodierung#Zeichencodierung UTF-8] [https://www.seo-kueche.de/lexikon/utf-8/ Was ist UTF-8?]</ref> handelt; siehe auch [[#ZEICHENCODIERUNG|Zeichencodierung &ndash; UTF-8]]
 +
# Zeile 05: der [[#TITLE|Titel (<title>)]] der besuchten Homepage lautet "Sozialwerk KONTAKT e.V. Villingen-Schwenningen" und es handelt sich um die '''Startseite''' (... index.html)
 +
# Zeile 06: Meta-Information (mit Hinterlegung in der CSS-Datei) für die Darstellung auf PC-, Tablet- oder Smartphone-Bildschirmen in Hochkant- oder Breitdarstellung
 +
# Zeile 07: ein Link auf das '''standard.css'''-Dokument; es liegt im Root-Verzeichnis ('''./''') und wird durch das Attribut <code>rel="stylesheet"</code> in das HTML-Dokument eingebunden
 +
# Zeile 08: Meta-Information, welche eine Kurzbeschreibung des Seiteninhalts angibt (hauptsächlich für Google)
 +
# Zeile 09: Meta-Information, bezüglich "Keywords" (Schlüsselwörtern) für ein Suchprogramm; hat aber kaum noch Einfluß auf eine Verbesserung des Rankings (die Suchmaschinen finden solche Keywords inzwischen selbst)
 +
# Zeile 10: der Autor dieser Seite ist Holger Hönle (mit starker Unterstützung durch das SELFHTML-Forum!); auch diese Angabe macht eigentlich nur Sinn, wenn mehrere Personen an der Webseitengestaltung beteiligt sind (dann auch Datum und Uhrzeit mit einfügen)
 +
# Zeile 11: die Suchmaschinen werden darum gebeten, die Webseite zu durchsuchen und ihr zu folgen (machen die inzwischen sowieso)
 +
# Zeile 12: eine Aufforderung, die Webseite regelmäßig zu durchsuchen<ref>[https://wiki.selfhtml.org/wiki/Suchmaschinenoptimierung#Ranking crawlen / durchsuchen]</ref>; auch das macht inzwischen kaum noch Sinn
 +
# Zeile 13 (im Original-HTML folgen weitere solcher Links): Link(s) zu Icon(s), welche im Browser oder auf dem Endgerät (Starter) dargestellt werden sollen
 +
# Zeile 15: '''theme-color'''<ref>[https://wiki.selfhtml.org/wiki/JavaScript/Tutorials/App/Offline-Browsing#theme-color theme-color]</ref> nur für mobile Geräte; zur Einfärbung von Adresszeilen oder Tabs, aber ''nur'' in Verbindung mit einem Favicon<ref>[https://wiki.selfhtml.org/wiki/Favicon Favicon]</ref>
 +
 
 +
=== TITLE<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/title TITLE]</ref> ===
 +
<code>'''<title>'''...'''</title>'''</code>
 +
: Dieser Tag (TITLE), aber auch einige META-Informationen sind im HEAD eingebettet und werden daher nun im folgenden erläutert.
 +
: Der TITLE (Titel) der Website wird von den meisten Besuchern nicht wahrgenommen - ist er doch ''unsichtbar'' im HEAD eingebunden. Dennoch ist er für die Indizierung der Suchmaschinen notwendig und liefert (auch im Ranking der Seite) Treffer. Der Titel ist auch wichtig, wenn Menschen mit Handicap (Blinde, Sehbehinderte), oder Menschen, welche sich die Website vorlesen lassen, unsere Website besuchen.
 +
: '''Wichtig''': wir vergeben jeder einzelnen Seite unseres Webauftritts einen eigenen (und aussagekräftigen!) Titel; also zum Beispiel: "Startseite", "Impressum", oder "Kontaktaufnahme". Das hilft, jede Seite eindeutig zu identifizieren. Wie das aussieht, kann man am obigen Code gut ablesen (Zeile 5).
 +
05      '''<title>Startseite''' | Sozialwerk KONTAKT e.V. Villingen-Schwenningen'''</title>'''
 +
 
 +
=== ZEICHENCODIERUNG<ref>[https://wiki.selfhtml.org/wiki/Zeichencodierung ZEICHENCODIERUNG]</ref> ===
 +
<code>'''<meta charset="utf-8">'''</code>
 +
: '''Wichtig!''' Die Zeichencodierung <code><meta charset="utf-8"></code> muss innerhalb der ersten 1.024 Bytes des HTML-Dokumentes hinterlegt werden.
 +
: Und was bedeutet dieses Format "utf-8"? Das wird hier recht gut und ausführlich erklärt: [https://www.seo-kueche.de/lexikon/utf-8/ Was ist UTF-8?]
 +
 
 +
=== VIEWPORTANGABE<ref>[https://wiki.selfhtml.org/wiki/Viewport VIEWPORTANGABE]</ref> ===
 +
<code>'''<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">'''</code>
 +
: Schon gewusst? Heutzutage werden Internetauftritte zwar noch immer auf recht großen Bildschirmen (PC, Laptop oder Tablet) betrachtet, aber seit mindestens zehn Jahren sind die Smartphones in der Überzahl. Das bedeutet, dass man darauf achten muss, dass auf den viel kleineren Bildschirmen die Website anders (und hoffentlich lesbar!) dargestellt wird. Ohne die Viewportangabe würden die Smartphones die Seite auf dem Bildschirm einfach prozentual verkleinert darstellen (das ist nicht gut, da !) ...
 +
: Das regelt diese META-Angabe. Details im Link der Überschrift [[#VIEWPORTANGABE | "VIEWPORTANGABE"]].
 +
 
 +
=== BODY<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/body BODY]</ref> ===
 +
<code>'''<body>''' ... '''</body>'''</code>
 +
: Eingerahmt vom BODY finden wir den HEADER, das NAV-Element und vor allem auch den MAIN-Bereich. Nur ein Tag-Element "rahmt" den BODY ein (ebenso, wie HEADER und MAIN); das ist der HTML-Tag; siehe nachfolgenden Code:
 +
<nowiki>
 +
<html></nowiki>
 +
 +
...
 +
 
 +
32  '''<body>'''
 +
33    <header>
 +
34      <a id="skip-link" class="visually-hidden" href="#main">zum Hauptinhalt</a>
 +
35      <a href="./index.html">
 +
36        <img src="https://kontakt-vs.de/kontakt.svg" alt="Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen"></a>
 +
37    </header><nowiki>
 +
38      <nav>
 +
39        <ul>
 +
40          <li aria-current="page"><a href="#main">Startseite</a></li>
 +
41          <li><a href="./vorstellung.html">Über uns</a></li>
 +
42          <li><a href="./kinder.html">Arbeit mit Kindern</a></li>
 +
43          <li><a href="./jugend.html">Arbeit mit Jugendlichen</a></li>
 +
44          <li><a href="./kontaktaufnahme.html">Kontakt</a></li>
 +
45          <li><a href="./impressum.html">Impressum</a></li>
 +
46        </ul>
 +
47      </nav>
 +
48      <main id="main">
 +
49        <h1>Herzlich willkommen</h1>
 +
50        <p>
 +
51          <b>KONTAKT e.V.</b> ist ein Sozialwerk für Prävention und Integration in Villingen-Schwenningen.
 +
            Wir sind ein gemeinnützig anerkannter Verein. Diese Gemeinnützigkeit ergibt sich aus dem in der Satzung festgelegten Vereinszweck.
 +
52        </p>
 +
53        <p><b>Zweck</b> des Vereins ist:</p>
 +
54          <ul>
 +
55            <li>soziale Arbeit für und mit Kindern, Jugendlichen und deren Familien (Deutsche, Deutschstämmige und Zugewanderte gleichermaßen) durch die soziale Integration</li>
 +
56            <li> Förderung des gleichberechtigen Zusammenlebens unter gegenseitiger Akzeptanz und Anerkennung der jeweils anderen Kulturen</li>
 +
57            <li>Vermittlung christlicher Werte</li>
 +
58          </ul>
 +
59        <p>Unsere <b>Vision</b> ist es, Menschen mit Migrationshintergrund bei der Integration in die Gesellschaft durch präventive Freizeitangebote zu unterstützen:</p>
 +
60        <ul>
 +
61          <li>Angebote zur sinnvollen Freizeitgestaltung (Tanzgruppen, Musikveranstaltungen, Workshops, Malkurse, etc.)</li>
 +
62          <li>Krisenintervention für Kinder, Jugendliche und deren Eltern durch gemeinsame Gespräche</li>
 +
63          <li>Begleitung von straffälligen Jugendlichen bei der Ableistung der Sozialstunden</li>
 +
64          <li>Förderung der individuellen Fähigkeiten und Ressourcen junger Menschen</li>
 +
65        </ul>
 +
66      </main></nowiki>
 +
67  '''</body>'''
 +
68 </html>
 +
 
 +
== Weitere Tags, welche ''nicht'' unentbehrlich (aber nützlich) sind ==
 +
=== HEADER<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/header HEADER]</ref> ===
 +
<code>'''<header>''' ... '''</header>'''</code>
 +
: Die meisten Webauftritte haben neben den oben genannten ''unentbehrlichen'' Tag-Elementen '''innerhalb des HEADERs''' Logo, Titel und Navigationselemente untergebracht.
 +
: Beispiel an der uns schon bekannten [https://www.kontakt-vs.de/index.html Startseite KONTAKT e.V.]:
 +
<nowiki>
 +
  </head>
 +
 +
  <body></nowiki>
 +
    '''<header>'''
 +
      <a  id="skip-link" class="visually-hidden" href="#main">zum Hauptinhalt</a>
 +
      <a  href="./index.html">
 +
        <img src="https://kontakt-vs.de/kontakt.svg" alt="Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen"></a>
 +
    '''</header>'''
 +
    <nowiki><nav>
 +
      <ul>
 +
        <li aria-current="page"><a href="#main">Startseite</a></li>
 +
        <li><a href="./vorstellung.html">Über uns</a></li>
 +
        <li><a href="./kinder.html">Arbeit mit Kindern</a></li>
 +
        <li><a href="./jugend.html">Arbeit mit Jugendlichen</a></li>
 +
        <li><a href="./kontaktaufnahme.html">Kontakt</a></li>
 +
        <li><a href="./impressum.html">Impressum</a></li>
 +
      </ul>
 +
    </nav>
 +
...
 +
  </body>
 +
</nowiki>
 +
: Im HEADER finden sich meist das Logo und &ndash; je nach Webseitengestaltung &ndash; auch noch eine Überschrift (was bei unserem Beispiel nicht der Fall ist). Das SVG<ref>[https://wiki.selfhtml.org/wiki/SVG/Tutorials/Einstieg SVG]</ref>-Logo wird im HEADER '''in Zeile 36''' angesprochen (Zeile 34 zu erklären, ist hier zu umständlich; Zeile 35 bewirkt, dass der Besucher bei einem Klick auf das Banner auf die Startseite zurückgeführt wird):
 +
 +
33  <header>
 +
34    <a  id="skip-link" class="visually-hidden" href="#main">zum Hauptinhalt</a>
 +
35    <a  href="./index.html">
 +
'''36'''      '''<img src="https://kontakt-vs.de/kontakt.svg" alt="Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen"></a>'''
 +
37  </header>
 +
 
 +
=== NAV<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/nav NAV]</ref> ===
 +
<code>'''<nav>''' ... '''</nav>'''</code>
 +
: Das NAV-Element rahmt die Navigationsleiste(n) und das Menü ein, ist also ein HTML-Element zur ''Seitenstrukturierung''.
 +
: In unserem Beispiel enthält es lediglich eine Liste (zu den vorhandenen Unterseiten), also das Menü, welches der Besucher benötigt, um eine Seite auswählen zu können. Es wäre auch möglich, eine weitere Überschrift (dann <nowiki><h2></nowiki>, denn die übergeordnete <nowiki><h1></nowiki> ist schon vergeben) einzufügen.
 +
: Beispiel an der schon bekannten [https://www.kontakt-vs.de/index.html Startseite KONTAKT e.V.]:
 +
 
 +
38    '''<nav>'''
 +
39      <nowiki><ul>
 +
40        <li aria-current="page"><a href="#main">Startseite</a></li>
 +
41        <li><a href="./vorstellung.html">Über uns</a></li>
 +
42        <li><a href="./kinder.html">Arbeit mit Kindern</a></li>
 +
43        <li><a href="./jugend.html">Arbeit mit Jugendlichen</a></li>
 +
44        <li><a href="./kontaktaufnahme.html">Kontakt</a></li>
 +
45        <li><a href="./impressum.html">Impressum</a></li>
 +
46      </ul></nowiki>
 +
47    '''</nav>'''
 +
: Interessant ist noch die '''Zeile 40'''. Durch das
 +
<code>'''aria-current="page"'''</code>
 +
: wird der Link für diese aktive Seite "deaktiviert" und kann nicht mehr angeklickt werden; denn auf eine Seite, auf der ich mich schon befinde, sollte nicht verlinkt werden (können). Über das [[#Grundlegendes zur Sprache CSS | CSS]] wird der aktiv angewählte Link (hier "Startseite") ''türkisfarben'' hervorgehoben (siehe [[#HTML_lokal_im_Browser_anzeigen_lassen_.28Darstellung.29|letztes Bild]]).
 +
 
 +
=== MAIN<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/main MAIN]</ref> ===
 +
<code>'''<main id="main">''' ... '''</main>'''</code>
 +
: Und hier endlich &ndash; zwischen den MAIN-Tags &ndash; wird die eigentliche "Botschaft" der Webseite übermittelt. In diesem Fall eine '''Überschrift''' der Kategorie '''h1''' (die einzige Überschrift auf dieser Seite):
 +
<nowiki><h1><b>Kids Live</b> &ndash; unser Freizeitangebot für Kinder</h1></nowiki>,
 +
: weiter zwei durch den '''p'''-Tag gebildete Absätze <nowiki>'''<p>''' ... '''</p>'''</nowiki> mit Infotext:
 +
<nowiki><p>Kids Live ist ein niederschwelliges Angebot für Kinder im Alter von sechs bis zwölf Jahren. Es findet am Samstag, von 14 bis 16 Uhr statt (außer in der Ferienzeit).</p>
 +
<p>Das Programm beinhaltet folgende Aktivitäten:</p></nowiki>
 +
: unter der Überschrift mit kurzem Info-Text, und weitere Absätze, welche Infos in Form von (ungeordneten) Listen bereitstellen. Dann nach der Liste noch ein kurzer Absatz, in dem ein Link zur Kontaktaufnahme (weitere Unterseite) hinterlegt ist.
 +
 
 +
: Die Beispiele diesmal an der [https://www.kontakt-vs.de/index.html '''Unterseite''' der Homepage KONTAKT e.V. Villingen-Schwenningen &ndash; '''Arbeit mit Kindern''']:
 +
 
 +
  47    </nav>
 +
  48    '''<main id="main">'''<nowiki>
 +
49      <h1><b>Kids Live</b> &ndash; unser Freizeitangebot für Kinder</h1>
 +
50      <p><b>Kids Live</b> ist ein niederschwelliges Angebot für Kinder im Alter von sechs bis zwölf Jahren. Es findet am Samstag, von 14 bis 16 Uhr statt (außer in der Ferienzeit).</p>
 +
51        <p>Das Programm beinhaltet folgende Aktivitäten:</p>
 +
52          <ul>
 +
53            <li>gemeinsames Essen</li>
 +
54            <li>Workshops</li>
 +
55            <li>aktivierende Spiele</li>
 +
56            <li>Singen und Tanzen</li>
 +
57            <li>Geburtstagsfeiern</li>
 +
58            <li>abenteuerliche Ausflüge</li>
 +
59            <li>Familienfeiern zu Ostern und Weihnachten</li>
 +
60          </ul>
 +
61        <p>Anmeldung oder Fragen zum Kids-Live-Angebot: <a href="./kontaktaufnahme.html">Kontaktaufnahme per Mail</a>.</p></nowiki>
 +
  62    '''</main>'''
 +
 
 +
== Erklärende Links zu weiteren HTML-Elementen &ndash; alle aus dem selfhtml.org-Wiki entnommen ==
 +
=== HTML-Elemente, die in unserer Beispiel-Webseite verwendet wurden, aber noch unerwähnt blieben ===
 +
: In unserem HTML-Dokument werden nicht alle HTML-Elemente erwähnt, die im Code der unserer Homepage zur Verwendung gekommen sind; die fehlenden sind diese:
 +
# <a> ... </a> HTML-Element '''a'''<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/a HTML-Element '''a''']</ref> (Textauszeichnung)
 +
# <meta> HTML-Element '''meta'''<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/meta HTML-Element '''meta''']</ref> (Kopfdaten)
 +
# <link> HTML-Element '''link'''<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/link HTML-Element '''link''']</ref> (Kopfdaten)
 +
# <nowiki><ul> ... </ul></nowiki> HTML-Element '''ul'''<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/ul HTML-Element '''ul''']</ref> (Textstrukturierung)
 +
# <nowiki><li> ... </li></nowiki> HTML-Element '''li'''<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/ul HTML-Element '''li''']</ref> (Textstrukturierung)
 +
# <nowiki><p> ... </p></nowiki> HTML-Element '''p'''<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/p HTML-Element '''p''']</ref> (Textstrukturierung)
 +
# <main> ... </main> HTML-Element '''main'''<ref>[https://wiki.selfhtml.org/wiki/HTML/Elemente/main HTML-Element '''main''']</ref> (Seitenstrukturierung)
 +
: Im Wiki von selfhtml.org werden diese und andere HTML-Elemente ausführlich und recht verständlich erklärt; dazu einfach in der Suchmaske oben rechts im Wiki das gesuchte HTML-Element  eingeben (zum  Beispiel: "a", "p", "ul", und so weiter).
 +
 
 +
=== Betrachten des HTML- und CSS-Codes einer beliebigen Webseite ===
 +
: Wer möchte, kann sich die Verwendung dieser HTML-Elemente auf der Website [https://www.kontakt-vs.de https://www.kontakt-vs.de] (oder jeder beliebigen anderen, für die man sich interessiert!) selbst anschauen. Dazu bitte den Browser [https://de.wikipedia.org/wiki/Mozilla_Firefox Firefox] &ndash; läuft auf allen Betriebssystemen &ndash; nutzen.
 +
# Kopiere obigen Link in die Adresszeile des Browsers und rufe danach mit der Taste F12 den im Firefox integrierten '''Inspektor''' (Tab im sich öffnenden Fenster ganz links) auf (siehe Bild unten!). Nun kannst Du den kompletten HTML-Code selbst studieren (dazu eventuell die nach rechts zeigenden Pfeile anklicken, dann klappen die auf und zeigen den Inhalt der einzelnen HTML-Tags).
 +
# Ein Klick auf den links von der Mitte befindlichen Tab '''{Stilbearbeitung}''' zeigt den CSS-Code an.
 +
 
 +
[[Datei:Firefox_F12_HTML-und_CSS-code.png|500px|thumb|center|Aufruf des HTML- und CSS-Inspektors im Firefox-Browser mittels Taste F12]]
 +
 
 +
= Grundlegendes zur Sprache CSS =
 +
: CSS<ref>[https://wiki.selfhtml.org/wiki/CSS CSS]</ref> ('''C'''ascading '''S'''tyle '''S'''heets &ndash; deutsch: "mehrstufige Formatvorlage") ist für HTML-, SVG- und XML-Dokumente als ''Formatierungs-''-Sprache, für das '''Layout''' einer Website / Homepage zuständig.
 +
: Das bedeutet, man erstellt seine Homepage erst mal ''nur'' in HTML, '''ohne''' (was auch in HTML teilweise möglich wäre) irgendwelche Rahmen, Farben, Textgrößen, und so weiter, zu berücksichtigen. Das sieht zwar (noch) nicht schön aus, ermöglicht es aber dem CSS später, mit wenigen Änderungen (zum Beispiel) die Farbgebung des kompletten Internetauftritts zu ändern. Ansonsten müsste man dies auf der Haupt- und allen anderen Unterseiten händisch ändern.
 +
: Das Layout ist also bei der Formatierungs-Sprache CSS in den besseren Händen! Siehe dazu diesen Link von selfhtml.org: Grundlegendes zum CSS mit anschaulichen Abbildungen<ref>[https://wiki.selfhtml.org/wiki/CSS/Tutorials/Einstieg/Stylesheets_einbinden#.E2.80.A6_Layout_.E2.80.93_am_Anfang_ohne.21 Grundlegendes zum CSS und anschauliche Abbildungen]</ref>.
 +
 
 +
: Auch hier gilt: bevor das ''standard.css'' online gestellt wird, sollte es durch einen [[#Validator|Validator]] geprüft werden; schnell wird mal eine schließende Klammer, oder ähnliches, vergessen!
 +
 
 +
== CSS-Code für meine Homepage ==
 +
: Hier ist der CSS-Code für meine Homepage [https://www.kontakt-vs.de KONTAKT e.V. Villingen-Schwenningen] (Stand März 2024):
 +
<nowiki>body {
 +
  max-width: 60em;
 +
  margin: auto;
 +
}
 +
 
 +
header,
 +
nav,
 +
main {
 +
  margin: 0.25em 0.5em;
 +
}
 +
 
 +
header {
 +
  background: grey;
 +
}
 +
 
 +
header a {
 +
  display: block;
 +
}
 +
 
 +
header img {
 +
  width: 100%;
 +
  height: auto;
 +
  vertical-align: bottom;
 +
}
 +
 
 +
nav ul {
 +
  margin: 0;
 +
  padding: 0;
 +
  list-style: none;
 +
  display: flex;
 +
  /*zentriert die Blöcke mit den Nav-Links nun auch bei horizontaler Betrachtung; zusammen mit @media screen ...*/
 +
  justify-content: center;
 +
}
 +
 
 +
nav li {
 +
  background: linear-gradient(
 +
    to bottom,
 +
    hsl(280deg 2% 38%),
 +
    hsl(280deg 2% 10%) 40% 60%,
 +
    hsl(280deg 2% 38%)
 +
  );
 +
  flex-grow: 1;
 +
}
 +
 
 +
nav a {
 +
  display: flex;
 +
  align-items: center;
 +
  width: 100%;
 +
  text-align: center; /* für schmale Ansicht */
 +
  justify-content: center; /* für breite Ansicht */
 +
  height: 3em;
 +
  color: #f2f2f2;
 +
  padding: 0px 16px;
 +
  box-sizing: border-box;
 +
  text-decoration: none;
 +
  font-size: 1.1em;
 +
  user-select: none;
 +
}
 +
 
 +
nav [aria-current] a {
 +
  background: #00A19A;
 +
  color: white;
 +
}
 +
 
 +
nav a:where(:hover, :focus),
 +
nav [aria-current] a:where(:hover, :focus) {
 +
  background-color: gold;
 +
  color: black;
 +
}
 +
 
 +
nav a:focus {
 +
  position: relative;
 +
  z-index: 1;
 +
}
 +
 
 +
h1 {
 +
  background-color: hsl(280 2% 28%);
 +
  color: white;
 +
  text-align: center;
 +
  margin: 1em 0 0.5em 0; /* Hier Abstand zwischen Nav und Inhalt einstellen */
 +
  padding: 0.75em 1em;
 +
  font-size: 1.4em;
 +
}
 +
 
 +
p {
 +
  padding-left: 30px;
 +
  padding-right: 30px;
 +
  font-size: 1.2em;
 +
}
 +
 
 +
main ul {
 +
  padding-left: 60px;
 +
  padding-right: 30px;
 +
  font-size: 1.2em;
 +
}
 +
 
 +
/*bewirkt bei Verschmaelerung des Bildschirms ein vertikales Stapeln der Nav-Leiste (topnav)*/
 +
@media screen and (max-width: 760px) {
 +
  header,
 +
  nav,
 +
  main {
 +
    margin: 0 0 0.25em 0;
 +
  }
 +
  nav ul {
 +
    flex-direction: column;
 +
  }
 +
}
 +
 
 +
img {
 +
  width: 100%;
 +
  height: auto;
 +
}
 +
 
 +
/*Foto wird rechtsbündig "eingehängt" und bei mehr als 25em Anzeigegerät auf 50 % der Breite verkleinert; mit "margin" erhält es einen unteren und linken Abstand zum umfließenden Text.*/
 +
@media (min-width: 25em) {
 +
  img {
 +
    width: 50%;
 +
    float: right;
 +
    margin: 0 0 1em 1em;
 +
  }
 +
}
 +
 
 +
@media (min-width: 50em) {
 +
  img {
 +
    width: 25%;
 +
  }
 +
}
 +
 
 +
#skip-link {
 +
  position: absolute;
 +
  left: 0;
 +
  top: 0;
 +
  background: black;
 +
  color: white;
 +
  padding: 0.25em;
 +
  transform: translateY(-100%);
 +
  transition: 0.2s transform;
 +
}
 +
 
 +
#skip-link:focus {
 +
  transform: translateY(0);
 +
}</nowiki>
 +
 
 +
: Und hier muss ich eingestehen, dass ich das allermeiste des CSS noch nicht verstehe. Wo ich es (hoffentlich) verstanden habe, habe ich mir einen Kommentar (über) dem Tag eingefügt, erkennbar an der Auskommentierung:
 +
'''/*'''KOMMENTARTEXT'''*/'''
 +
 
 +
= Endnoten =
 +
<references />
 +
 
 +
----
 +
Zurück zur [[Hauptseite]]

Aktuelle Version vom 14. März 2024, 22:27 Uhr

Homepage nur in HTML- und CSS-Code erstellen

Vorbemerkungen

Da ich selbst lediglich ein informierter (und neugieriger) Laie bin, hoffe ich manchen, der sich (noch) nicht so recht an die Materie HTML herantraut, zu ermutigen, es doch mal zu versuchen. Diese "Anleitung" soll am Beispiel einer existierenden Homepage den Durchblick erleichtern. Natürlich gibt es viele, viel bessere und tiefer in die Materie einsteigende Wikis, Tutorials, Videos, etc.; dennoch hoffe ich, dass dieses Wiki manchem interessierten Anfänger weiterhilft!
Vor einigen Jahren kam es dazu, dass ich für den Verein KONTAKT e.V. Villingen-Schwenningen[1] die Homepage neu aufsetzen musste (es war sonst niemand dazu bereit / in der Lage?). Also entschloss ich mich es über meinen damaligen Webhosting-Vertrag und den darin enthaltenen Homepagebaukasten zu machen. Im Prinzip war das ein WhatYouSeeIsWatYouGet-Editor (was Du siehst, bekommst Du auch / wird auch so dargestellt). Solch ein Editor lässt sich ungefähr so bedienen, wie ein Office-Textverarbeitungs-Programm (MS-Word, LibreOffice[2]), also eine grafisch bedienbare Anwendung mit Mausklick …
In diesem Artikel geht es aber darum, eine Homepage ohne Zuhilfenahme eines grafischen Homepage-Baukasten (meist in einem Webhosting-Vertrag angeboten) oder Anwendungen wie zum Beispiel Net Objekt Fusion (NOF)[3], zu erstellen. Diese sind zwar recht leicht zu bedienen, binden einen aber auch stark an kommerzielle Updates, häufig auch an das Betriebssystem Windows, und ein Homepage-Baukasten kann einen im Funktionsumfang oder der erlaubten Seitenanzahl auch stark einschränken.
Tatsächlich wurde meine allererste Homepage – Hörbibel "audiobibelneü.de"[4] – mit NOF 8.0 erstellt, dann aber vor über zehn Jahren – mit viel, wirklich viel! Hilfe eines Freundes in HTML und CSS-Code komplett neu geschrieben, denn ich war von Windows zum Betriebssystem Linux gewechselt. Aber unter Linux kann Net Objekt Fusion nicht genutzt werden.
Vor einigen Monaten entschloss ich mich, nun auch meine zweite von mir betriebene Website in HTML und CSS zu schreiben. Die Gründe?
  1. Ich wollte den Anbieter wechseln und musste damit entweder die Webseite mit einem neuen Homepagebaukasten oder WhatYouSeeIsWatYouGet-Editor, besser aber gleich in HTML und CSS neu erstellen.
  2. Schon früher hatte mich die Abhängigkeit und Beschränkung durch einen Homepage-Baukasten (wie er in meinem alten Webhosting-Vertrag enthalten war), beziehungsweise grafischen Tools (zum Beispiel NOF), welche für einen den HTML-Code generieren und dann alles grafisch darstellen, geärgert.
  3. Homepage-Baukasten sind zwar recht einfach in der Bedienung, haben aber auch den Nachteil, dass man beispielsweise nur eine begrenzte Anzahl von Seiten ohne Aufpreis erstellten kann, bei einem Wechsel des Webhosting-Anbieters alles neu erstellen muss, und anderes.
  4. Software (wie zum Beispiel NOF, siehe oben) läuft häufig nur auf Windows-Betriebssystemen, und man muss diese in der Regel kostenpflichtig upgraden.
  5. Anwendungen, wie NOF oder Homepagebaukästen eines Webhosting-Anbieters sind natürlich meist auch keine openSource-Software[5], was für mich aber sehr wünschenswert ist.
  6. Eine Homepage – einmal in HTML und CSS geschrieben – kann ich ohne Probleme zu einem neuen Anbieter umziehen und danach auch sehr einfach pflegen; die Arbeit, alles neu zu schreiben, war es mir also wert!

Vor dem Start – ToDo

Webseitenanbieter finden

Zuerst einmal musste ein anderer Webseiten-Anbieter gefunden werden. Die recht hohen Kosten beim alten Anbieter, aber auch der Wunsch, eine eigene kleine Cloud (Tauschordner in der Familie / Freunde) aufzusetzen und andere Kleinigkeiten gaben den Ausschlag. Nach langem Überlegen und einem Tipp von "Plocki" (einem Teilnehmer unserer Online-Stammtische) entschloss ich mich für "Netcup". Netcup bietet immer mal wieder vergünstigte Angebote an (also noch mal etwas günstiger, als normal) und ich entschloss mich für diesen Tarif: Netcup-Webhosting-Angebot 8000[6].
Er beinhaltet:
  1. Server mit Standort in Deutschland
  2. 500 GB für E-Mail- und 500 GB Daten-Speicher = 1.000 GB
  3. 1.000 Subdomains, 12 externe Domains
Und noch viel mehr; dazu bitte obigen Link anschauen – wie gesagt, damals hatte ich ein "Schnäppchen", wie das von Netcup immer mal wieder angeboten wird, erwischt – der Preis ist damit dauerhaft geringer, aber die Leistungsbeschreibung gleichbleibend.

Auswahl eines Editors

Natürlich bietet Netcup in seinem Paket auch grafische Editoren, wie das sehr bekannte Wordpress[7] und andere an, diese wollte ich aber nicht nutzen. Meine Erfahrungen mit dem HTML und CSS Abschnitt "Vorbemerkungen" hatten mich einfach überzeugt!
Mit was für einer openSource-Anwendung also würde ich die HTML- und CSS-Dokumente schreiben?
Nun, schließlich waren es drei, wobei ich – zumindest aktuell – bei "Kate" hängengeblieben bin. Es sind diese:
  1. Bluefish[8]. Nett ist, dass man mit einem Klick den Code grafisch (lokal, auf dem eigenen Rechner) betrachten kann, bevor er online gestellt wird. Aber das geht auch ohne den "Klick" recht einfach ...
  2. VS Codium[9], ein sehr mächtiges (für mich vielleicht zu mächtiges) Werkzeug, das ich aber manchmal noch nutze. VS Codium ist übrigens ein open-Source-Fork (eine Abgabelung) von der bekannten Software "Visual Studio" von Microsoft. Der Vorteil von VS Codium: er plappert nicht nach Hause; gibt also keine Informationen an Microsoft weiter.
  3. Kate[10], auch ein sehr mächtiger Editor. Er ist bei meinem Linux-Betriebssystem openSUSE Tumbleweed[11] eh schon vorinstalliert. Und der Kate kann, was ich benötige (und sicherlich noch Vieles mehr, was ich nicht einmal erahne). Kate lässt sich auch unter Windows oder macOS installieren!

Grundlegendes zur Sprache HTML

HTML (englisch: HyperText Markup Language)[12] ist als Auszeichnungs-Sprache (englisch: Markup Language) für die Struktur / den Aufbau einer Website / Homepage zuständig. Ihre Aufgabe ist es, die logischen Bestandteile eines textorientierten Dokuments zu beschreiben.
Für das Design / Layout (Schriftart, Formatiererung, Farben, Rahmen, etc.) sorgt dagegen die Formatierungs-Sprache CSS (siehe unten).
Mit HTML ist es möglich, Überschriften, Absätze, Listen oder Tabellen als solche auszuzeichnen. Ziel ist es, die Strukturierung von Webseiten und Text nach semantischen[13] Gesichtspunkten zu verwalten.
Gegenwärtig ist HTML5[14] der neueste Stand; der sollte auch verwendet werden. Noch einmal die Empfehlung: besuche die Seite von selfhtml.org – Wie fange ich an?[15].
Hier noch Infos zum derzeit (2024) aktuellen HTML5[16].
Ein HTML-Dokument kann mit einem beliebigen Texteditor[17] erstellt werden; solche sind sogar auf Windows schon vorinstalliert. Allerdings bieten spezielle Editoren durch (farbliche) Hervorhebungen im Code, Formatierungshilfen, Autovervollständigung, Einstellungsmöglichkeiten (Tastaturkürzel, etc.) schon einen deutlichen Mehrwert (siehe oben unter Auswahl eines Editors).
Wird die Datei dann mit der Endung .htm, besser .html, bzw. .css abgespeichert, kann sie von einem Webbrowser als HTML-Dokument, bzw. CSS-Code korrekt interpretiert werden.

Tipp: prüfe den erstellten HTML- (bzw. CSS-)Code vor der Veröffentlichung auf Fehler

Generell: Bevor das geschriebenes HTML online geht, sollte man Code-Aufbau und Darstellung überprüfen; das kann auch während des Erstellens der Webseite hilfreich sein!
Sauberer Code (der keinen Raum für falsche Interpretationsmöglichkeiten lässt), sowie korrekte Rechtschreibung und Grammatik helfen, das Ranking in den Suchmaschinen zu verbessern!

Validator

Wie auch von selfhtml.org empfohlen, nutze vor Veröffentlichung Deines HTML-Codes stets einen Validator[18]; dieser hier ist zu empfehlen: HTML-Validator von w3.org[19].
Das gleiche gilt für CSS; – wenn auch in der Erwähnung hier ein bisschen zu früh platziert – CSS-Validator von w3.org[20].

HTML lokal im Browser anzeigen lassen (Darstellung)

Zur schnellen Veranschaulichung – ohne dass wir jetzt schon eine Webseite in HTML erstellt hätten – läßt sich das so bewerkstelligen:
  1. Erstelle eine Text-Datei mit dem Inhalt Das ist eine Test-HTML-Seite und speichere sie mit der Endung .html in einem beliebigen Ordner ab; der Name in unserem Beispiel lautet test_index.html.
  2. Öffne einen Browser Deiner Wahl und gib ins Adressfeld ein: file:///Speicherpfad/Deiner/Datei/test_index.html, oder, noch einfacher: rechter Mausklick auf die HTML-Datei und im sich öffnenden Kontextmenü Deinen Browser auswählen ...
  3. Du wirst nun in Deinem Browser / auf Deinem lokalen Rechner die grafische Ausgabe sehen (Grafik: im Vordergrund der Texteditor Kate, mit welchem das HTML-Dokument gespeichert wurde; links – vom Editor teilweise verdeckt – der Firefox-Browser, welcher auf weißem Grund den Text wiedergibt):
lokale Darstellung von HTML-Code im Browser


Hier noch der Editor KATE in Aktion; die Startseite (index.html) der Website KONTAKT e.V. Villingen-Schwenningen.
KATE-Editor


Solange noch kein CSS hinterlegt ist (es sorgt – wie oben schon erwähnt – für das Design, Farben, Formen, etc.) sieht der Webauftritt etwas "mager" aus (siehe unten und auch unter Grundlegendes zur Sprache CSS):
HTML-Code-Darstellung, ohne CSS-Code-Einbindung


Und hier der Vollständigkeit halber noch mal ein Screenshot obiger Website, wenn HTML- und CSS-Code einander ergänzen, um die Webseite korrekt darzustellen:
lokale Darstellung, wenn HTML-Code auf CSS-Code zurückgreifen darf


Und was hat sich durch die Einbindung des CSS geändert?
Nun, die Navigationsleiste ist (bei breitem) Bildschirm horizontal ausgerichtet – bei Darstellung auf einem Smartphone ändert sich das zu vertikaler Anzeige der Navigationsbar (die Darstellung ist also auf jeder Bildschirmgröße optimiert) – die aktiv angezeigte Seite ist in der Navigationsleiste türkis hinterlegt, die (SVG-)Grafik passt sich der Breite der Nav-Bar an; ebenso die jetzt grau eingerahmte Überschrift "Herzlich willkommen". Es wird eine einheitliche Schriftart verwendet, die Seite wird zentriert auf dem Bildschirm angezeigt und der Text unter der Überschrift ist außen etwas eingerückt.

Aufbau einer HTML-Seite

Das wird hier im "Wiki der deutschsprachigen Seite selfhtml.org, Thema: HTML,[21] sehr gut dargestellt.
Generell ist die Seite von selfhtml.org eine ausgezeichnete Anlaufstelle, um niederschwellige (deutschsprachige!) Hilfe (Beispiele, aber auch praktische Hilfe im Forum) zu erhalten! Einen sehr großer Teil der aktuellen Seite kontakt-vs.de konnte ich nur mit Hilfe der freundlichen und engagierten (ehrenamtlichen!) Mitarbeiter von selfthtml.org realisieren, – nicht zu vergessen Julian von unserem LUG-VS-Verein, der mir ziemlich Starthilfe gab! Die kennen sich wirklich aus und geben einer - in meinen Augen "perfekten" Website so richtig profimäßige Verbesserungen! Bei mir fehlten da vor allem Kenntnisse im Erstellen und Einbinden von SVG-Grafiken, sauberem Code, Realisierung einer guten Navigationsleiste und noch so vielem mehr ...
Zunächst einmal möchte ich das HTML5-Grundgerüst – siehe auch (nochmals) diesen Link "Aufbau des HTML-Grundgerüstes"[22] vorstellen. Es gibt fünf Elemente[23], die eigentlich unentbehrlich sind und immer vorkommen müssen:
  1. DOKUMENTENTYP
  2. HTML
  3. HEAD
  4. TITLE
  5. BODY
Diese zumindest vorhandenen sein müssenden Elemente werden also mit den Tags[24] "markiert", (ein- und abgeschlossen / umrahmt). Das wird hier am Beispiel des HTML-Elements, welcher einen Websiten-Titel umschließt, gezeigt:
<html> (einleitender Tag des HTML-Elements)
   <title> (einleitender Tag des TITLE-Elements)Das ist meine Website</title> (abschließender Tag des TITLE-Elements)
</html> (abschließender Tag des HTML-Elements)
Tags (wie zum Beispiel <html> ... </html>, <title> ... </title>, oder <body> ... </body>)", werden von eckigen Klammern <...> "notiert".
Der abschließende Tag wird nach der öffnenden, eckigen Klammer mit einem / (Slash) dargestellt; beim HTML-Element also so:

</html>

Erläuterungen zu den einzelnen unentbehrlichen Elementen im Grundgerüst des HTML-Code

DOCTYPE[25]

<!DOCTYPE html>

Diese Information steht am Anfang jedes HTML(5)-Dokumentes und informiert den Browser, dass es sich hier um die Sprache HTML handelt. Groß- und Kleinschreibung ist bei dieser Angabe nicht wichtig, man könnte also genauso gut schreiben:

<!doctype HTML>

Jeder Browser würde das dennoch korrekt als HTML interpretieren.

HTML[26]

<html lang="de">...</html>

Der HTML-Tag (deutsch: HTML-Etikette) öffnet und schließt den Rahmen für alle dem DOCTYPE nachfolgenden Elemente. Es sind also (abgesehen vom vorstehenden DOCTYPE) alle anderen Elemente innerhalb des HTML-Elements verschachtelt.
Übrigens sagt das lang="de" im HTML-Tag dem Browser, dass er deutsche Zeichen ausliefern muss. So können der Browser, aber auch eine Sprachsoftware, oder ein Screenreader (führt zum Vorlesen der Webseite) den Text der HTML-Sprache korrekt interpretieren. Ansonsten wäre die Sprachausgabe (und eventuell auch die Silbentrennung) falsch. Also wichtig für das barrierefreie Erstellen einer Homepage[27]!
Steht das lang="de" im HTML-Tag, vererbt sich die Spracheinstellung auf die komplette Seite (zum Beispiel [1]); nicht aber auf die Unterseiten! In jeder weiteren Seite einer Homepage muss ebenfalls das <html lang="de">...</html> stehen.
Ein Beispiel zur Verschachtelung der HTML-Elemente?
<!DOCTYPE html>
<html lang="de">
       <head>
       ... Inhalte im HEAD-Tag ...
       </head>
       <body>
       ... Inhalte im BODY-Tag ...
       </body>
</html>
Man sieht, wie die anderen Elemente (HEAD, BODY) vom HTML-Element umrahmt werden.
Wie gesagt, jeder Tag besteht aus einem sich öffnenden Teil (am Beispiel HTML)

<html>

und einem sich schließenden Teil:

</html>

HEAD[28]

<head>...</head>

Jedes gültige HTML-Dokument muss einen HEAD (Kopf) aufweisen. Als "Pflicht"-Element informiert es über Daten, welche im (später nachfolgend aufgeführten) BODY hinterlegt sind.
Freie Wiedergabe aus dem Wiki selfhtml.org (siehe Link oben) HEAD:
"Das HEAD-Element darf vorkommen in HTML und muss das erste Kind des HTML-Elements sein ... darf beliebig viele META-Daten-Elemente aufweisen, darunter aber nur genau ein TITLE-Element (und höchstens ein BASE-Element) ...".
Der HEAD ist für den "normalen" Webseitenbetrachter zwar unsichtbar, aber er enthält zumindest den Seitentitel; es werden meist aber auch noch sogenannte Meta-Informationen mit dort abgelegt, welche für die Suchmaschinen (Duck-Duck-Go, Google, Bing, etc.) wichtige Erkenntnisse liefern. Hier am Beispiel der Startseite (index.html) unserer Kontakt-Homepage der Code (auszugsweise):
01 <!DOCTYPE html>
02 <html lang="de">
03    <head>
04      <meta charset="utf-8">
05      <title>Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen</title>
06      <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
07      <link href="./standard.css" rel="stylesheet">
08      <meta name="description" content="Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen | Willkommen!">
09      <meta name="keywords" content="Startseite, KONTAKT Villingen-Schwenningen e.V., soziale Arbeit, Sozialwerk für Prävention und Integration, Kids Live, Lights On, Arbeit mit Jugendlichen, Arbeit mit Kindern, Integration, Migration, Suchtprävention">
10      <meta name="author" content="Holger Hönle | selfhtml.org">
11      <meta name="robots" content="index, follow">
12      <meta name="revisit-after" content="1 day">
13      <link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
14      ... weitere "Icons", welche den Browsern (z.B.) helfen sollen in der Adresszeile ein sogenanntes Favicon zu generieren, habe ich der Übersicht wegen aus dem originalen Code "ausgeschnitten"
15      <meta name="theme-color" content="#ffffff">
16    </head>
Was für Informationen also finden die Suchmaschinen im HEAD?
  1. Zeile 04: die Meta-Information, dass es sich bei dieser Seite um die Zeichencodierung Unicode und im Speziellen um UTF-8[29] handelt; siehe auch Zeichencodierung – UTF-8
  2. Zeile 05: der Titel (<title>) der besuchten Homepage lautet "Sozialwerk KONTAKT e.V. Villingen-Schwenningen" und es handelt sich um die Startseite (... index.html)
  3. Zeile 06: Meta-Information (mit Hinterlegung in der CSS-Datei) für die Darstellung auf PC-, Tablet- oder Smartphone-Bildschirmen in Hochkant- oder Breitdarstellung
  4. Zeile 07: ein Link auf das standard.css-Dokument; es liegt im Root-Verzeichnis (./) und wird durch das Attribut rel="stylesheet" in das HTML-Dokument eingebunden
  5. Zeile 08: Meta-Information, welche eine Kurzbeschreibung des Seiteninhalts angibt (hauptsächlich für Google)
  6. Zeile 09: Meta-Information, bezüglich "Keywords" (Schlüsselwörtern) für ein Suchprogramm; hat aber kaum noch Einfluß auf eine Verbesserung des Rankings (die Suchmaschinen finden solche Keywords inzwischen selbst)
  7. Zeile 10: der Autor dieser Seite ist Holger Hönle (mit starker Unterstützung durch das SELFHTML-Forum!); auch diese Angabe macht eigentlich nur Sinn, wenn mehrere Personen an der Webseitengestaltung beteiligt sind (dann auch Datum und Uhrzeit mit einfügen)
  8. Zeile 11: die Suchmaschinen werden darum gebeten, die Webseite zu durchsuchen und ihr zu folgen (machen die inzwischen sowieso)
  9. Zeile 12: eine Aufforderung, die Webseite regelmäßig zu durchsuchen[30]; auch das macht inzwischen kaum noch Sinn
  10. Zeile 13 (im Original-HTML folgen weitere solcher Links): Link(s) zu Icon(s), welche im Browser oder auf dem Endgerät (Starter) dargestellt werden sollen
  11. Zeile 15: theme-color[31] nur für mobile Geräte; zur Einfärbung von Adresszeilen oder Tabs, aber nur in Verbindung mit einem Favicon[32]

TITLE[33]

<title>...</title>

Dieser Tag (TITLE), aber auch einige META-Informationen sind im HEAD eingebettet und werden daher nun im folgenden erläutert.
Der TITLE (Titel) der Website wird von den meisten Besuchern nicht wahrgenommen - ist er doch unsichtbar im HEAD eingebunden. Dennoch ist er für die Indizierung der Suchmaschinen notwendig und liefert (auch im Ranking der Seite) Treffer. Der Titel ist auch wichtig, wenn Menschen mit Handicap (Blinde, Sehbehinderte), oder Menschen, welche sich die Website vorlesen lassen, unsere Website besuchen.
Wichtig: wir vergeben jeder einzelnen Seite unseres Webauftritts einen eigenen (und aussagekräftigen!) Titel; also zum Beispiel: "Startseite", "Impressum", oder "Kontaktaufnahme". Das hilft, jede Seite eindeutig zu identifizieren. Wie das aussieht, kann man am obigen Code gut ablesen (Zeile 5).
05      <title>Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen</title>

ZEICHENCODIERUNG[34]

<meta charset="utf-8">

Wichtig! Die Zeichencodierung <meta charset="utf-8"> muss innerhalb der ersten 1.024 Bytes des HTML-Dokumentes hinterlegt werden.
Und was bedeutet dieses Format "utf-8"? Das wird hier recht gut und ausführlich erklärt: Was ist UTF-8?

VIEWPORTANGABE[35]

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">

Schon gewusst? Heutzutage werden Internetauftritte zwar noch immer auf recht großen Bildschirmen (PC, Laptop oder Tablet) betrachtet, aber seit mindestens zehn Jahren sind die Smartphones in der Überzahl. Das bedeutet, dass man darauf achten muss, dass auf den viel kleineren Bildschirmen die Website anders (und hoffentlich lesbar!) dargestellt wird. Ohne die Viewportangabe würden die Smartphones die Seite auf dem Bildschirm einfach prozentual verkleinert darstellen (das ist nicht gut, da !) ...
Das regelt diese META-Angabe. Details im Link der Überschrift "VIEWPORTANGABE".

BODY[36]

<body> ... </body>

Eingerahmt vom BODY finden wir den HEADER, das NAV-Element und vor allem auch den MAIN-Bereich. Nur ein Tag-Element "rahmt" den BODY ein (ebenso, wie HEADER und MAIN); das ist der HTML-Tag; siehe nachfolgenden Code:
 <html>

...
 
32   <body>
33     <header>
34       <a id="skip-link" class="visually-hidden" href="#main">zum Hauptinhalt</a>
35       <a href="./index.html">
36         <img src="https://kontakt-vs.de/kontakt.svg" alt="Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen"></a>
37     </header>
38      <nav>
39        <ul>
40          <li aria-current="page"><a href="#main">Startseite</a></li>
41          <li><a href="./vorstellung.html">Über uns</a></li>
42          <li><a href="./kinder.html">Arbeit mit Kindern</a></li>
43          <li><a href="./jugend.html">Arbeit mit Jugendlichen</a></li>
44          <li><a href="./kontaktaufnahme.html">Kontakt</a></li>
45          <li><a href="./impressum.html">Impressum</a></li>
46        </ul>
47      </nav>
48      <main id="main">
49        <h1>Herzlich willkommen</h1>
50        <p>
51          <b>KONTAKT e.V.</b> ist ein Sozialwerk für Prävention und Integration in Villingen-Schwenningen.
            Wir sind ein gemeinnützig anerkannter Verein. Diese Gemeinnützigkeit ergibt sich aus dem in der Satzung festgelegten Vereinszweck.
52        </p>
53        <p><b>Zweck</b> des Vereins ist:</p>
54          <ul>
55            <li>soziale Arbeit für und mit Kindern, Jugendlichen und deren Familien (Deutsche, Deutschstämmige und Zugewanderte gleichermaßen) durch die soziale Integration</li>
56            <li> Förderung des gleichberechtigen Zusammenlebens unter gegenseitiger Akzeptanz und Anerkennung der jeweils anderen Kulturen</li>
57            <li>Vermittlung christlicher Werte</li>
58          </ul>
59        <p>Unsere <b>Vision</b> ist es, Menschen mit Migrationshintergrund bei der Integration in die Gesellschaft durch präventive Freizeitangebote zu unterstützen:</p>
60        <ul>
61          <li>Angebote zur sinnvollen Freizeitgestaltung (Tanzgruppen, Musikveranstaltungen, Workshops, Malkurse, etc.)</li>
62          <li>Krisenintervention für Kinder, Jugendliche und deren Eltern durch gemeinsame Gespräche</li>
63          <li>Begleitung von straffälligen Jugendlichen bei der Ableistung der Sozialstunden</li>
64          <li>Förderung der individuellen Fähigkeiten und Ressourcen junger Menschen</li>
65        </ul>
66      </main>
67   </body>
68 </html>

Weitere Tags, welche nicht unentbehrlich (aber nützlich) sind

HEADER[37]

<header> ... </header>

Die meisten Webauftritte haben neben den oben genannten unentbehrlichen Tag-Elementen innerhalb des HEADERs Logo, Titel und Navigationselemente untergebracht.
Beispiel an der uns schon bekannten Startseite KONTAKT e.V.:
  </head>
 
   <body>
    <header>
      <a  id="skip-link" class="visually-hidden" href="#main">zum Hauptinhalt</a>
      <a  href="./index.html">
        <img src="https://kontakt-vs.de/kontakt.svg" alt="Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen"></a>
    </header>
    <nav>
       <ul>
         <li aria-current="page"><a href="#main">Startseite</a></li>
         <li><a href="./vorstellung.html">Über uns</a></li>
         <li><a href="./kinder.html">Arbeit mit Kindern</a></li>
         <li><a href="./jugend.html">Arbeit mit Jugendlichen</a></li>
         <li><a href="./kontaktaufnahme.html">Kontakt</a></li>
         <li><a href="./impressum.html">Impressum</a></li>
       </ul>
     </nav>
 ... 
   </body>
 
Im HEADER finden sich meist das Logo und – je nach Webseitengestaltung – auch noch eine Überschrift (was bei unserem Beispiel nicht der Fall ist). Das SVG[38]-Logo wird im HEADER in Zeile 36 angesprochen (Zeile 34 zu erklären, ist hier zu umständlich; Zeile 35 bewirkt, dass der Besucher bei einem Klick auf das Banner auf die Startseite zurückgeführt wird):
33  <header>
34     <a  id="skip-link" class="visually-hidden" href="#main">zum Hauptinhalt</a>
35     <a  href="./index.html">
36       <img src="https://kontakt-vs.de/kontakt.svg" alt="Startseite | Sozialwerk KONTAKT e.V. Villingen-Schwenningen"></a>
37   </header>

NAV[39]

<nav> ... </nav>

Das NAV-Element rahmt die Navigationsleiste(n) und das Menü ein, ist also ein HTML-Element zur Seitenstrukturierung.
In unserem Beispiel enthält es lediglich eine Liste (zu den vorhandenen Unterseiten), also das Menü, welches der Besucher benötigt, um eine Seite auswählen zu können. Es wäre auch möglich, eine weitere Überschrift (dann <h2>, denn die übergeordnete <h1> ist schon vergeben) einzufügen.
Beispiel an der schon bekannten Startseite KONTAKT e.V.:
38     <nav>
39       <ul>
40         <li aria-current="page"><a href="#main">Startseite</a></li>
41         <li><a href="./vorstellung.html">Über uns</a></li>
42         <li><a href="./kinder.html">Arbeit mit Kindern</a></li>
43         <li><a href="./jugend.html">Arbeit mit Jugendlichen</a></li>
44         <li><a href="./kontaktaufnahme.html">Kontakt</a></li>
45         <li><a href="./impressum.html">Impressum</a></li>
46       </ul>
47     </nav>
Interessant ist noch die Zeile 40. Durch das
aria-current="page"
wird der Link für diese aktive Seite "deaktiviert" und kann nicht mehr angeklickt werden; denn auf eine Seite, auf der ich mich schon befinde, sollte nicht verlinkt werden (können). Über das CSS wird der aktiv angewählte Link (hier "Startseite") türkisfarben hervorgehoben (siehe letztes Bild).

MAIN[40]

<main id="main"> ... </main>

Und hier endlich – zwischen den MAIN-Tags – wird die eigentliche "Botschaft" der Webseite übermittelt. In diesem Fall eine Überschrift der Kategorie h1 (die einzige Überschrift auf dieser Seite):
<h1><b>Kids Live</b> – unser Freizeitangebot für Kinder</h1>,
weiter zwei durch den p-Tag gebildete Absätze '''<p>''' ... '''</p>''' mit Infotext:
<p>Kids Live ist ein niederschwelliges Angebot für Kinder im Alter von sechs bis zwölf Jahren. Es findet am Samstag, von 14 bis 16 Uhr statt (außer in der Ferienzeit).</p>
<p>Das Programm beinhaltet folgende Aktivitäten:</p>
unter der Überschrift mit kurzem Info-Text, und weitere Absätze, welche Infos in Form von (ungeordneten) Listen bereitstellen. Dann nach der Liste noch ein kurzer Absatz, in dem ein Link zur Kontaktaufnahme (weitere Unterseite) hinterlegt ist.
Die Beispiele diesmal an der Unterseite der Homepage KONTAKT e.V. Villingen-Schwenningen – Arbeit mit Kindern:
 47    </nav>
 48    <main id="main">
 49      <h1><b>Kids Live</b> – unser Freizeitangebot für Kinder</h1>
 50      <p><b>Kids Live</b> ist ein niederschwelliges Angebot für Kinder im Alter von sechs bis zwölf Jahren. Es findet am Samstag, von 14 bis 16 Uhr statt (außer in der Ferienzeit).</p>
 51        <p>Das Programm beinhaltet folgende Aktivitäten:</p>
 52          <ul>
 53            <li>gemeinsames Essen</li>
 54            <li>Workshops</li>
 55            <li>aktivierende Spiele</li>
 56            <li>Singen und Tanzen</li>
 57            <li>Geburtstagsfeiern</li>
 58            <li>abenteuerliche Ausflüge</li>
 59            <li>Familienfeiern zu Ostern und Weihnachten</li>
 60          </ul>
 61        <p>Anmeldung oder Fragen zum Kids-Live-Angebot: <a href="./kontaktaufnahme.html">Kontaktaufnahme per Mail</a>.</p>
 62    </main>

Erklärende Links zu weiteren HTML-Elementen – alle aus dem selfhtml.org-Wiki entnommen

HTML-Elemente, die in unserer Beispiel-Webseite verwendet wurden, aber noch unerwähnt blieben

In unserem HTML-Dokument werden nicht alle HTML-Elemente erwähnt, die im Code der unserer Homepage zur Verwendung gekommen sind; die fehlenden sind diese:
  1. <a> ... </a> HTML-Element a[41] (Textauszeichnung)
  2. <meta> HTML-Element meta[42] (Kopfdaten)
  3. <link> HTML-Element link[43] (Kopfdaten)
  4. <ul> ... </ul> HTML-Element ul[44] (Textstrukturierung)
  5. <li> ... </li> HTML-Element li[45] (Textstrukturierung)
  6. <p> ... </p> HTML-Element p[46] (Textstrukturierung)
  7. <main> ... </main> HTML-Element main[47] (Seitenstrukturierung)
Im Wiki von selfhtml.org werden diese und andere HTML-Elemente ausführlich und recht verständlich erklärt; dazu einfach in der Suchmaske oben rechts im Wiki das gesuchte HTML-Element eingeben (zum Beispiel: "a", "p", "ul", und so weiter).

Betrachten des HTML- und CSS-Codes einer beliebigen Webseite

Wer möchte, kann sich die Verwendung dieser HTML-Elemente auf der Website https://www.kontakt-vs.de (oder jeder beliebigen anderen, für die man sich interessiert!) selbst anschauen. Dazu bitte den Browser Firefox – läuft auf allen Betriebssystemen – nutzen.
  1. Kopiere obigen Link in die Adresszeile des Browsers und rufe danach mit der Taste F12 den im Firefox integrierten Inspektor (Tab im sich öffnenden Fenster ganz links) auf (siehe Bild unten!). Nun kannst Du den kompletten HTML-Code selbst studieren (dazu eventuell die nach rechts zeigenden Pfeile anklicken, dann klappen die auf und zeigen den Inhalt der einzelnen HTML-Tags).
  2. Ein Klick auf den links von der Mitte befindlichen Tab {Stilbearbeitung} zeigt den CSS-Code an.
Aufruf des HTML- und CSS-Inspektors im Firefox-Browser mittels Taste F12

Grundlegendes zur Sprache CSS

CSS[48] (Cascading Style Sheets – deutsch: "mehrstufige Formatvorlage") ist für HTML-, SVG- und XML-Dokumente als Formatierungs--Sprache, für das Layout einer Website / Homepage zuständig.
Das bedeutet, man erstellt seine Homepage erst mal nur in HTML, ohne (was auch in HTML teilweise möglich wäre) irgendwelche Rahmen, Farben, Textgrößen, und so weiter, zu berücksichtigen. Das sieht zwar (noch) nicht schön aus, ermöglicht es aber dem CSS später, mit wenigen Änderungen (zum Beispiel) die Farbgebung des kompletten Internetauftritts zu ändern. Ansonsten müsste man dies auf der Haupt- und allen anderen Unterseiten händisch ändern.
Das Layout ist also bei der Formatierungs-Sprache CSS in den besseren Händen! Siehe dazu diesen Link von selfhtml.org: Grundlegendes zum CSS mit anschaulichen Abbildungen[49].
Auch hier gilt: bevor das standard.css online gestellt wird, sollte es durch einen Validator geprüft werden; schnell wird mal eine schließende Klammer, oder ähnliches, vergessen!

CSS-Code für meine Homepage

Hier ist der CSS-Code für meine Homepage KONTAKT e.V. Villingen-Schwenningen (Stand März 2024):
body {
  max-width: 60em;
  margin: auto;
}

header,
nav,
main {
  margin: 0.25em 0.5em;
}

header {
  background: grey;
}

header a {
  display: block;
}

header img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  /*zentriert die Blöcke mit den Nav-Links nun auch bei horizontaler Betrachtung; zusammen mit @media screen ...*/
  justify-content: center;
}

nav li {
  background: linear-gradient(
    to bottom,
    hsl(280deg 2% 38%),
    hsl(280deg 2% 10%) 40% 60%,
    hsl(280deg 2% 38%)
  );
  flex-grow: 1;
}

nav a {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: center; /* für schmale Ansicht */
  justify-content: center; /* für breite Ansicht */
  height: 3em;
  color: #f2f2f2;
  padding: 0px 16px;
  box-sizing: border-box;
  text-decoration: none;
  font-size: 1.1em;
  user-select: none;
}

nav [aria-current] a {
  background: #00A19A; 
  color: white;
}

nav a:where(:hover, :focus),
nav [aria-current] a:where(:hover, :focus) {
  background-color: gold;
  color: black;
}

nav a:focus {
  position: relative;
  z-index: 1;
}

h1 {
  background-color: hsl(280 2% 28%);
  color: white;
  text-align: center;
  margin: 1em 0 0.5em 0; /* Hier Abstand zwischen Nav und Inhalt einstellen */
  padding: 0.75em 1em;
  font-size: 1.4em;
}

p {
  padding-left: 30px;
  padding-right: 30px;
  font-size: 1.2em;
}

main ul {
  padding-left: 60px;
  padding-right: 30px;
  font-size: 1.2em;
}

/*bewirkt bei Verschmaelerung des Bildschirms ein vertikales Stapeln der Nav-Leiste (topnav)*/
@media screen and (max-width: 760px) {
  header,
  nav,
  main {
    margin: 0 0 0.25em 0;
  }
  nav ul {
    flex-direction: column;
  }
}

img {
  width: 100%;
  height: auto;
}

/*Foto wird rechtsbündig "eingehängt" und bei mehr als 25em Anzeigegerät auf 50 % der Breite verkleinert; mit "margin" erhält es einen unteren und linken Abstand zum umfließenden Text.*/
@media (min-width: 25em) {
  img {
    width: 50%;
    float: right;
    margin: 0 0 1em 1em;
  }
}

@media (min-width: 50em) {
  img {
    width: 25%;
  }
}

#skip-link {
  position: absolute;
  left: 0;
  top: 0;
  background: black;
  color: white;
  padding: 0.25em;
  transform: translateY(-100%);
  transition: 0.2s transform;
}

#skip-link:focus {
  transform: translateY(0);
}
Und hier muss ich eingestehen, dass ich das allermeiste des CSS noch nicht verstehe. Wo ich es (hoffentlich) verstanden habe, habe ich mir einen Kommentar (über) dem Tag eingefügt, erkennbar an der Auskommentierung:
/*KOMMENTARTEXT*/

Endnoten


Zurück zur Hauptseite