Die Anleitung haben drei Hauptkomponenten. Ich werde sie über ihre lokalen URLs unter www.midwinter.com beziehen.
Der erste Abschnitt, der Großteil der Site ist, ist ein Verzeichnisbaum statischer HTML-Dateien mit einigen mit Server-Parierten-Parzellen ausgestatteten HTML-Dateien (für serverseitig inklusive) und ein kurzes PHP-Skript.
In diesem Verzeichnis befinden sich eine Reihe von Unterverzeichnissen, die hauptsächlich den Hauptabschnitten des Standorts entsprechen. Ich werde in einem Moment individuell zu ihnen kommen, aber zuerst ein Wort darüber, wie einige der Dateien generiert werden.
Das größte, über das man wissen muss, ist ein Python-Skript namens "Gen.py", von dem eine Version in jedem der Verzeichnisse lebt, die pro-Episode-HTML-Dateien enthalten. Das Skript ist verantwortlich für die Zusammenstellung einer statischen HTML -Datei aus einem Header -Abschnitt (für jede Episode generiert; es enthält unter anderem den Titel der Episode), eine Körperdatei und einen Fußzeilenabschnitt.
Die Körperdateien enthalten das Fleisch der Seiten. Sie haben die gleichen Dateinamen wie die HTML -Dateien, abzüglich der .html -Erweiterung. In den meisten Fällen enthält dies nur die 3-stellige Episodennummer, z. B. /lurk/guide/056.html die Körperdatei "056" aus dem Leitfaden-Unterverzeichnis. Wenn ich der Seite für Episode 33 einen neuen Kommentar hinzufügen möchte, z. B. I CD in das Handbuchverzeichnis, die Datei "033" bearbeiten und dann "Gen.py 033" ausführen. Das Ergebnis ist eine neue Version von 033.html, wobei die alte Version vorsorglich auf #033.html beiseite verschoben wird.
Eine andere Sache, die einige der Gen.py -Versionen tun, ist, Gegenstände Zeitstempel hinzuzufügen. Die Idee ist, dass ich, wenn ich eine Seite modifiziere, die Änderung hervorheben möchte, damit die Leute, die die vorherige Version bereits gelesen haben, schnell zu den neuen Dingen scrollen können. Zu diesem Zweck sucht Gen.py nach einem speziellen Token "@@@" (der von Whitespace oder End-of-Line-Ende) in der Körperdatei. Wenn es das Token findet, ersetzt es es durch "@@@ nnn", bei dem NNN der aktuelle Zeitstempel im Unix Time_t -Format ist. Diese Änderung wird an der Körperdatei selbst vorgenommen. Wenn Gen.py dann die HTML -Datei aus einer Körperdatei generiert, fügt sie das Datum in fett gedrucktem, wo immer sie einen aktuellen Zeitstempel sieht. Einmal am Tag regeneriert ein Skript alle HTML -Dateien, sodass die Datumsmarkierungen nach einer Weile verschwinden (wenn sie in den Seiten hässlich aussehen, und es schwierig macht, neue Elemente schnell zu finden).
Wenn Sie eine Datei "Skel" sehen, handelt es sich um eine Prototyp -Körperdatei. Ich kopiere das auf den entsprechenden Dateinamen, wenn eine neue Episode/ein neuer Roman/etc. kommt heraus.
In vielen der Unterverzeichnisse werden Sie ein "genall.csh" -Skript sehen. Dies ist nur eine Abkürzung, die für jede Episode "Gen.py" ausführt. Ich benutze dies nur, wenn ich mich an der Struktur der Seitenkopfzeile/Fußzeilen ändere und sie überall anwenden möchte.
Außerdem gibt es im Verzeichnis oberster Ebene ein "Gen" -Skript. Dies beträgt Gen.py in jedem der Unterverzeichnisse. Ich benutze das, wenn ich zum Beispiel ein Bild für eine Episode füge und möchte, dass es auf allen Seiten für diese Episode angezeigt wird.
"Die Geschichte bisher" für jede Episode von Seasons 1-4. Staffel 5 muss noch geschrieben werden. Die benutzergerechten Dateien hier sind alle .shtml-Dateien. Sie werden feststellen, dass es hier keine Körperdateien gibt. Stattdessen verwendet Hintergrund/Gen.py einige andere Quelldateien. Es gibt verschiedene Einführungszusammenfassungen, die sich in den Summendateien befinden. Zum Beispiel fasst SUM-66 die Geschichte bis hin zu Episode 66 zusammen und wird als erster Teil der Hintergründe für Episoden 67 und später enthalten. Nachdem die entsprechende Summendatei enthalten ist, sieht Gen.py in story.html aus. Diese Datei enthält pro-Episodenabsätze, die im Abschnitt "In jüngerer ..." der Hintergrundseiten unter den Einführungen enthalten sind. Nur die Absätze für Episoden zwischen der Zusammenfassung und der aktuellen Episode sind enthalten, z. B. für Episode 75, Gen.py enthält SUM-66 und die Absätze für Episoden 67-74.
Bios einiger Charaktere. Diese sind aus dem Abschnitt "Universum" verknüpft. Einfache flache HTML -Dateien.
Leitfaden für die Comic -Serie. Körperdateien und Gen.py.
Die einzige HTML -Datei direkt unter hier ist index.html, eine Liste aller Länder, für die ich Zeitplaninformationen habe. Jedes Land hat hier ein Unterverzeichnis (der Verzeichnisname ist im Allgemeinen der 2-Buchstaben-Länderkodex des Landes). Ein Pseudokountry von Note ist "Master", der die Master-Episodenliste mit den Episoden in der richtigen Reihenfolge enthält (die originale US-Flugreihenfolge war etwas falsch.
Im Verzeichnis jedes Landes befindet sich eine eplist.html-Datei mit dem Zeitplan für dieses Land sowie symbolische Links zu den verschiedenen Episoden-Guide-Unterverzeichnissen. Durch die Verwendung von relativen Pfaden in meinen URLs lasse ich den Browser daran erinnern, welchen Land des Landes der Benutzer schaute, ohne auf Cookies zurückzugreifen (was noch nicht als Konzept existierte, als diese Website zum ersten Mal begann!),/Lurk/Länder/ SE/eplist.html hat einen Link zu "Leitfaden/056.html", der wirklich dieselbe Datei wie /lurk/guide/056.html ist, da/lurk/landes/se/Guide ein Symlink zu/lurk/Guide ist. Aber da der Browser das nicht weiß, lautet 056.htmls Link zur Episode Seite "../eplist.html", die zum schwedischen Zeitplan zurückgeht.
Index.html ist ein Link zu eplist.html in den Landverzeichnissen. Es gibt ein "mkcountry.sh" -Skript, um ein neues Landverzeichnis einzurichten. Es gibt auch Skeleton -Episodenlisten für alle 5 Jahreszeiten (Skel, SKEL2, SKEL3 usw.)
Wenn ich den Zeitplan eines Landes bearbeite, benutze ich das später beschriebene Skript "Print-weeks.py", das später beschrieben wird.
Episodenkredite.
Ein kurzes PHP -Skript, das den Domänennamen des Benutzers einfach sucht, um herauszufinden, welche Episodenliste des Landes angezeigt werden soll. Vielleicht weniger relevant, da die Show so ziemlich aus der Luft ist, aber als sich in verschiedenen Ländern verschiedene Jahreszeiten gleichzeitig zeigten, war dies für Benutzer praktisch.
Ein Symlink für die US-Episodenliste, so dass alle Links zu "../eplist.html" in den nicht länderbasierten Führungsverzeichnissen an einen nützlichen Ort gelangen. (Siehe die Diskussion des oben genannten Verzeichnisses "Länder".)
Die Standard -Seitenfußzeile, die auf der gesamten Website verwendet wird. Nicht programmgesteuert verwendet, aber ich lade dies in meinen Texteditor, wenn ich eine neue Seite erstelle.
Skript, das Gen.py für eine Episode in jeder der von Episoden bezogenen Unterverzeichnisse ausführt.
Ziemlich selbsterklärend. Alle nicht navigationsbezogenen Bilder leben hier. (Einige von ihnen sind trotz des Verzeichnisnamens JPEGs.)
Die Episodenhandbuchseiten.
Die FAQ der Website. Es wird unter dem Namen "Hilfe" stattdessen verwirrt, um Verwirrung mit den Usenet B5 -FAQ zu vermeiden.
Symlink an lurker.html.
Datendateien, die von Gen.py und CGIS verwendet werden:
Liste der Seiten von Episoden und Synopsis, die nach Änderungszeit bestellt wurden. Generiert durch das Dienstprogramm "lastUpdate.py".
Homepage ohne schwarzen Hintergrund, da einige Leute individuelle Hintergründe ärgerlich finden. Dies wird automatisch von lurker.html über einen Cron-Job generiert, der im Verzeichnis der obersten Ebene "make" ausgeführt wird.
Die Startseite.
Einmal in einer Stunde wird dieses Makefile verwendet, um Lurker-nobg.html wieder aufzubauen, und einmal am Tag ist es verwendet, um sicherzustellen, dass ich nicht vergessen habe, Gen.py auf etwas zu leiten. Es aktualisiert auch die B5TVList.txt -Datei im FTP -Archiv.
Der Abschnitt "B5" der Website. Flache HTML -Dateien.
Imagemaps für Navi.
Verschiedene Dokumente, die nicht anderswo passen, z. B. ein Klappentext darüber, warum Claudia Christian die Show verlassen hat.
Navigationsbilder. Eine sekundäre Funktion ist, dass der Index.html die Seite "Vorlädt Ihren Image -Cache" ist, auf dem die Site für die Leute beschleunigt wird, indem sie alle Schmerzen des Nav -Bilds in einer Aufnahme leiden lassen.
Neuartige Führungsseiten. Dieser Abschnitt ist unvollständig - es gibt noch keine Seiten für die neueste Romane.
Ergebnisse der Umfrage 5 Viewer -Umfrage für jede Episode.
Button- und NAV-Bilder in ihren ursprünglichen verlustfreien Formen.
Der Abschnitt "Referenz" der Website. Meistens flache HTML-Dateien, aber einige der Seiten haben serverseitig, die Textdateien aus dem FTP-Bereich einbringen.
Nicht mehr, sondern vielleicht auf historische Belustigung.
Der Abschnitt "Andere Ressourcen" der Website. Flache HTML -Dateien.
Enthält einen zufälligen Support -Code. Mehr dazu später.
Episodensynopsen.
Standortkarte.
Der Abschnitt "Universum und Charaktere" der Website. Flache HTML -Dateien. Staffel 5 muss noch geschrieben werden.
Eine naivierte Übung; Am Ende habe ich das alles selbst gemacht!
JMS -Nachricht über B5 wird von den Zuschauern auf Platz 1 für Qualitätsfernsehen eingestuft.
Einführung in die Website nach dem Wechsel zum aktuellen Erscheinungsbild.
Die neue Seite ist neu. Wenn dies groß wird, habe ich alle alten Gegenstände in Archiv eingebaut, was neue Seiten ist und am Ende dieser Seite mit ihnen verlinkt.
Midwinter.com hostete ein FTP -Archiv mit Textdateien und Bildern; Diese sind jetzt alle über den Lurker -Leitfaden zugänglich und werden im Subdadumgeber "FTP" gespeichert.
In der FTP -Indexdatei (verfügbar in Text und HTML) finden Sie Beschreibungen der verschiedenen Dateien im FTP -Archiv. Der Lurker-Handbuch verweist auf verschiedene Dateien hier-einschließlich einiger serverseitiger Referenzen.
Es gibt einige Versorgungsunternehmen, deren Quelle Sie in /lurk /src finden, sofern nicht anders angegeben. Einige wurden oben diskutiert, aber hier ist eine Liste:
Dies wird einmal am Tag von einem Cron -Job ausgeführt. Es regeneriert alle Führungsseiten. Wenn sich eine regenerierte Seite nicht von der alten Version unterscheidet, wird die alte Version wieder in den richtigen Weg ist, um ihr Änderungsdatum zu erhalten. Der Zweck hier ist, die Zeitstempel für neue Elemente auf den Leiterseiten abzulaufen (siehe die Diskussion des Gen.py -Skripts oben).
Laufen Sie einmal pro Stunde von Cron; Diese aktualisiert /lurk/lastmod.html und ist ziemlich selbsterklärend.