HTML - adriansinger87/aidc-web GitHub Wiki

Starten wir mit Hypertext Markup Language

Wem das Gebiet der Web-Entwicklung noch neu ist, dem empfehle ich die Seite W3Schools. Hier lernt man alles Wichtige über HTML, CSS, JavaScript und weiterführende Web-Technologien.

Wie du siehst, ist die index.html nicht leer. Es sind bereits einige Bausteine vorgefertigt. Die grundlegendsten Elemente sind html, head und body.

Das Head-Element

Das head Element soll als wichtige Informationen noch einen title und verschiedene link Elemente besitzen, damit die Webseite einen richtigen Namen hat und ein modernes Design nutzen kann.

  <title>AIDC-Web</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
  <link rel="stylesheet"
    href="https://cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/4.9.95/css/materialdesignicons.min.css">
  <link rel="stylesheet" href="assets/css/main.css">

Die drei Stylesheets legen fest, wie die Elemente der Seite dargestellt werden sollen. Dabei kommen zwei externe Quellen und die lokale main.css für eigene Anpassungen zum Einsatz.

Der Body

Alles was im Browser zu sehen ist, wird innerhalb des body Elements platziert. Als Inhalt steht bereits eine Navigations- und eine Fußleiste vorgefertigt bereit. Wer die nicht mag, kann die Elemente nav und footer einfach löschen.

Zwischen den beiden Leisten soll nun ein dynamisch generierter Inhalt oder einfach eine Tabelle dargestellt werden. Eine Tabelle hat folgende Grundstruktur, um Tabellenkopf, Zeilen und Spalten zu erzeugen.

   <table>
     <thead>
       <tr>
         <th>Spalte eins</th>
         <th>Spalte zwei</th>
         <th>Spalte drei</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>Lorem ipsum</td>
         <td>dolor sit</td>
         <td>amet</td>
       </tr>
     </tbody>
   </table>

Damit nun die Daten, die per Mqtt empfangen werden, auch in der Tabelle darstellt werden können, muss die Tabelle auf die bekannten Eigenschaften der Datenobjekte angepasst werden.

JavaScript einbinden

Ganz am Ende des body Elements folgen die verwendeten JavaScript Dateien. Die ersten fünf stammen aus externen Quellen und haben folgende Aufgaben

  • jquery - vereinfacht die Suche und Bearbeitung von Elementen im HTML-Baum.
  • vue - dient dem Binden von JavaScript Objekten an HTML Elemente, sodass eine Änderung der Objekte auch automatisch eine Aktualisierung im HTML bewirkt - und umgekehrt. 💥
  • materialize - ist eine Funktionsbibliothek, die für eine moderne und responsive Darstellung sorgt.
  • moment - vereinfacht das Verarbeiten von Datums und Zeitobjekten.
  • paho-mqtt - stellt den MQTT-Client und Events bereit, damit Daten empfangen und gesendet werden können.

Die letzten beiden Scripte, sind die lokalen Dateien, mit denen wir die eigene Programmlogik realisieren.

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script>

  <script src="assets/js/lib.js"></script>
  <script src="assets/js/main.js"></script>

Jetzt kann es mit der Bearbeitung des JavaScript weitergehen.

⚠️ **GitHub.com Fallback** ⚠️