Das moderne Web fordert immer schnellere Entwicklungszyklen. Angesichts dieser größeren Nachfrage besteht Bedarf an Werkzeugen, um diese Fristen einzuhalten. Webknife ist ein Webentwicklungs-Framework, das bei der Erstellung schöner Layouts und Designs mit möglichst wenig Code hilft. In diesem Tutorial erstelle ich eine webbasierte Anwendung, mit der die Kursleiter bei Tuts + ihre Kursunterlagen in Markdown einfacher erstellen können.
Bevor Sie mit dem Programmieren beginnen, sollten Sie sich ein Bild vom Anwendungslayout machen und wie es funktionieren soll. Diese Anwendung erstellt ein ordnungsgemäß formatiertes Markdown-Dokument, um einen Videokurs im Envato CMS abzulegen. Daher besteht es meistens aus Eingabefeldern.
ich benutzte Affinity Designer So erstellen Sie ein Drahtgitter der Anwendung. Hier ist der Hauptteil Eigenschaften Tab. Dies sind die wichtigsten Informationen, die zum Erstellen des CMS-Eintrags für den Kurs erforderlich sind.
Auswahl der Unterricht Registerkarte zeigt dieses Formular. Hier kann der Ausbilder die Kapitelüberschriften, Lektionstitel, Lektionsbeschreibungen und Lektionslinks eingeben. Die Nummerierung wird vom Programm automatisch berechnet. Dieses Tutorial zeigt nur genügend Demoelemente, um das Layout zu sehen.
Das Export tab hat ein einzelnes Element: eine Schaltfläche zum Exportieren des Kurses nach a Markdown dokumentieren.
Um die Bibliothek herunterzuladen, besuchen Sie die Website für Webknife und laden Sie die neueste Version herunter. Während Sie dieses Tutorial schreiben, ist die neueste Version 1.4.0. Entpacken Sie die Datei in Ihrem Arbeitsverzeichnis.
Webknife ist eine Gruppe von Stylesheets und einigen JavaScript-Dateien, die das Erstellen von HTML-Sites schnell und einfach machen. Deshalb gehe ich zuerst durch die Erstellung des HTML-Codes, zeige das Ergebnis und füge dann gerade genug CSS hinzu, damit es so aussieht, wie ich es möchte. Das Webknife-Toolkit erledigt die meiste Arbeit.
Der obere Teil des HTML-Codes ist die Kopfzeile, mit der die Stylesheets geladen und der Titel festgelegt wird. Erstellen Sie die Datei index.html und fügen Sie Folgendes hinzu:
Envato Course Sheet Generator
Das ist der Anfang der HTML-Datei für das Projekt. Alles andere geht weiter zwischen Stichworte.
Der erste Teil besteht aus den Registerkarten. Sie enthalten Symbole und Text, der beschreibt, was diese Registerkarte bewirkt. Platzieren Sie diesen Code in der Main
div:
Die ungeordnete Liste hat eine Klasse von w-tab
. Diese Webknife-Klasse formatiert die Listenelemente als Registerkarten. Das erste Listenelement hat die Klasse von w-aktiv
. Webknife verwendet dies, um die Farbe der Registerkarte zur aktiven Einfärbung zu ändern. Der Rest tut dies nicht, also werden sie inaktiv sein.
Jedes Listenelement hat einen Anker mit einem onclick
Funktion. Diese Funktionen werde ich erstellen, um das Wechseln der Inhalte des Inhaltsbereichs zu unterstützen.
In den Ankerlaschen befinden sich zwei Felder. Die erste Spanne hat eine Klasse von w-Symbol
. Alle Felder dieser Klasse haben eine Datenname
Selektor mit dem Namen des Symbols, das innerhalb dieses Bereichs eingefügt werden soll. Die Eigenschaftenspanne hat die data-name = "Zwischenablage"
. Die Lessons-Spanne hat die data-name = "compose"
. Die Exportspanne hat die data-name = "share"
. Webknife bietet 77 Svg-Symbole zur Auswahl. Weitere Informationen finden Sie im HTML-Referenzhandbuch.
Nach dem Registerkarten, Diesen Code eingeben:
Gut gerettet!
Es gab einen Fehler!
Dieser Abschnitt beginnt mit a
Webknife-Nachrichten - mit meiner hinzugefügten Formatierungdiv
das enthält den gesamten Panel-Inhalt für alle drei Registerkarten. Diesediv
Enthält außerdem zwei Meldungsbereiche: einen für das Abschließen des Speicherns und einen für Fehlermeldungen.Webknife hat den CSS-Stil
groß
um das Symbol zu vergrößern und den CSS-Stilfarbig
um es rot zu färben. In beiden Nachrichten verwende ich diedatenname: "alert_circled"
für ein abgerundetes Dreieck mit einem Ausrufezeichen. Jede Nachricht hat die Webknife-Klassew-nachricht
um die Botschaft zu gestalten. Die gespeicherte Nachricht wird verwendetw-information
, und die Fehlermeldung verwendetw-Fehler
.In den Quelldateien für dieses Tutorial habe ich diese Zeilen auskommentiert. Ich werde JavaScript verwenden, um diesen Code bei Bedarf in das DOM einzufügen.
Eigenschaftenbereich
Für die Eigenschaftenbereich, fügen Sie diesen Code hinzu:
Das Eigenschaftenfenster
div
enthält zwei Klassen:w-form
undw-aktiv
.w-form
definiert das Styling für ein Formular undw-aktiv
bezeichnet es als aktiv angezeigt. Da die Anwendung in diesem Fenster gestartet werden soll, wird sie von Anfang an festgelegt.Innerhalb dieses
div
, es gibtdiv
s mit der Klassew-form-group
. Diese Klasse hält alles in einer Zeile. Jedes von diesendiv
s enthält eine Beschriftung und eine Eingabe oder einen Textbereich. Jede Eingabe verfügt über einen eindeutigen Bezeichner, um die Informationen leicht von JavaScript abzurufen. Da ist einw-form-group
dev
für jeden Eingang in diesem Panel.Lektionen Panel
Nach dem
div
für die Eigenschaftenbereich, Diesen Code eingeben:Ähnliche Links:
Ähnliche Links:
Die Struktur des Stundenfensters ist für das Eigenschaftenfenster gleich. Die Beschriftungen zeigen unterschiedliche Abschnittsnummern und Unterrichtsnummern an. Die Eingaben sind Texteingaben für die Überschriften und Titel und sind
Textbereich
s für die Beschreibungen.Jede Überschrift, jeder Lektionstitel und jeder Link hat ein
Spanne
Element mit derDatenname
vonclose_circled
. Dadurch wird ein Kreis mit einem "x" in der Mitte eingefügt, um diese Elemente zu löschen.Jeder Verbindungseingang hat eine
Spanne
Element mit derDatenname
vonErde
. Dadurch wird ein Symbol angezeigt, das wie eine Kugel aussieht.Alle Schaltflächen verfügen über die Webknife-Klassen
w-klein
undw-farbig
. DasaddButton
class dient zum Hinzufügen eines bestimmten Stylings in der CSS-Datei.Das
Ich würde
s sind nicht die endgültigen, aber der JavaScript-Code erstellt sie nach Bedarf. Diese zeigen nur das Basisformat.Panel exportieren und JavaScript importieren
Nach dem
div
Platzieren Sie für das Lessons Panel diesen Code: