In den traurigen alten Zeiten der v1.0 API musste jedes Mal, wenn eine Website das Skript nutzte, eine Datenbankabfrage durchgeführt werden, um ein frisches Zitat aus den Quotes on Design-Archiven abzurufen. Es funktionierte, war aber langsam und würde offensichtlich nicht gut skalieren.
Version 2.0 wurde entwickelt, um diese Probleme zu lösen. Ein CRON-Job wurde verwendet, um alle 10 Minuten eine DB-Abfrage auszuführen und das Zitat und das Markup in eine .TXT-Datei zu schreiben. Wenn dann das Skript aufgerufen wurde, las es einfach den Inhalt dieser Datei und nutzte ihn, um die Magie zu wirken. Es funktionierte tatsächlich großartig. Ich habe gelernt, dass diese Technik als „Ghetto Caching“ bezeichnet wird, was ich liebe.
Aber 2.0 war in vielerlei Hinsicht eingeschränkt, daher bringen wir Ihnen Version 3.0! Ehre, wem Ehre gebührt, Doug Neiner hat dieses Projekt vorangetrieben. Wie bei allem, was Doug tut, hat er großartige Arbeit geleistet. </megapraise>
Was macht es?
Es fügt zufällige Zitate von Quotes on Design auf jeder Website ein. Es ist auch eine JSON-Datei, für fortgeschrittenere Szenarien.
Verschiedene Ansichten für verschiedene Leute
Um die API auf einfachste Weise zu nutzen, können Sie einfach etwas Code kopieren und einfügen. Für etwas fortgeschrittenere Nutzung können Sie Parameter an das Ende der JavaScript-URL anhängen, um fortgeschrittenere Dinge zu tun, wie z. B. die ID des anzuhängenden Elements anzugeben oder eine benutzerdefinierte Formatierungsfunktion zu verwenden. Für Profis gibt es eine JSON-Datei, auf die Sie direkt zugreifen und die Daten nach Belieben verwenden können.
Siehe die Dokumentation für Informationen zu all diesen Fällen.
Wie funktioniert es?
Im Grunde ist es ähnlich wie Version 2.0. Ein CRON-Job läuft (Shell-Skript) alle 10 Minuten auf dem Server. Nur anstatt eine TXT-Datei zu schreiben, erstellt er die JSON-Datei. Die JavaScript-Datei, auf die Sie sich beziehen, um die API zu verwenden, ist eigentlich PHP in Verkleidung. Im Gegensatz zur vorherigen Version, in der wir PHP benötigten, um die Textdatei zu lesen, brauchen wir sie hier nicht wirklich, da die Datei bereits im für JavaScript nutzbaren JSON-Format vorliegt. Da wir jedoch erlauben, dass Parameter an das JavaScript übergeben werden, benötigen wir PHP, um diese Parameter zu lesen und entsprechend zu handeln.
Das JavaScript hat alle benötigten Zitatinformationen. Es hängt ein Onload-Ereignis an das Fenster an und wenn dieses ausgelöst wird, formatiert es das Zitat in HTML und fügt es in das Element auf der Seite mit den angegebenen IDs ein.
Klingt kompliziert? Ich schätze, das ist es irgendwie. Es gibt viele verschiedene Technologien, die hier zusammenarbeiten, um letztendlich die Dinge für die Benutzer einfach zu machen. Es ist wirklich ziemlich schön, das alles zusammen zu betrachten.
Können wir es sehen?
Behalten Sie Fuel Your Coding im Auge, wo Doug schließlich über die Überlegungen zum Aufbau einer solchen JSON-API sprechen wird und sich hierbei wahrscheinlich zumindest teilweise darauf beziehen wird.
Oh, und ein Widget!
Wenn Sie ein OS X-Benutzer sind, gibt es jetzt ein Dashboard-Widget für Sie! Auf dieser Widget-Seite finden Sie einen Link zum Herunterladen sowie einen Link zu Github, wo das Projekt gehostet wird (und Open Source ist!)

Es sieht dort cool aus, aber noch schöner auf dem verblassten Grau des Dashboards. Es ist wirklich ziemlich süß. Wieder hat Doug großartige Arbeit geleistet, um das Design der Seite in ein Widget zu übertragen. Windows-Leute, tut mir leid, das ist im Moment nur für OS X, aber denken Sie daran, es gibt eine JSON-Datei, aus der sicherlich andere Widgets erstellt werden können.
Teilen Sie es mit
Wenn Sie die API für eine Website oder ein Widget oder etwas anderes verwenden, teilen Sie es mit, indem Sie hier kommentieren oder eine Nachricht senden. Es wird Spaß machen zu sehen, wie dies genutzt werden könnte. Und wenn Sie großartige Zitate zu teilen haben, senden Sie sie ein (klicken Sie auf den Link „Got One?“). Bald sind es fast 500!
Gut, das zu sehen.
Wow! Das ist praktisch... danke
Chris, das ist großartig! Wie findest du nur die Zeit für so viele Projekte?
Ich stelle diese Frage.
. . .Viel zu tun.
Wenn man liebt, was man tut – spielt die Zeit keine Rolle :)
Danke Doug und Chris. Ich habe Quotes on Design schon immer geliebt und diese neue API wird es für Leute wie mich einfacher machen, sie zu teilen.
PS. Ein Feed für neue Zitate wäre auch süß!
Obwohl ich die ganze Arbeit schätze und derzeit die Version 2 auf der Homepage meiner Website verwende. Ich habe kürzlich erwogen, sie wegen einiger Inhalte zu entfernen.
90% der Zitate sind großartig und sehr relevant. Die anderen 10% senden meiner Meinung nach nicht die richtige Botschaft an meine Kundschaft.
z. B.
Ich stimme selten dem zu, was meine Kunden mich bitten zu tun
(obwohl wahr.. Ich weiß nicht, ob es die richtige Botschaft sendet)
Wer den Himmel grün und die Felder blau malt, sollte sterilisiert werden ~adolf hitler
(obwohl ein treffender Kommentar, möchte ich wirklich Zitate vom größten Massenmörder der Welt auf meiner Website haben?)
Ich denke kurz gesagt, bitte seien Sie sehr vorsichtig bei der Überprüfung der Inhalte für diese Website. Ich arbeite mit einigen sehr konservativen Leuten und arbeite hart daran, sie nicht zu beleidigen.
Kevin
Die Idee gefällt mir sehr gut, aber wenn ich den Kommentar von Kevin Mist lese, frage ich mich, ob bestimmte Schlüsselwörter oder gibt es eine Möglichkeit, nur bestimmte Arten zuzulassen. Ich schätze, es gibt keine, aber jeder Tipp wäre großartig!
Danke Chris, guter Fund