指南有三個主要組成部分。我將通過www.midwinter.com上的本地URL參考它們。
第一部分是該站點的大部分,是靜態HTML文件的目錄樹,其中包含一些服務器份額的HTML文件(用於服務器端),以及一個簡短的PHP腳本。
該目錄內部是一堆子目錄,主要與該站點的主要部分相對應。我將在片刻之內單獨找到他們,但首先要了解一些文件的生成。
最大要了解的是一個名為“ gen.py”的python腳本,它的一個版本都活在每個字符中,其中包含每集HTML文件。該腳本負責從標頭部分中組裝一個靜態HTML文件(為每個情節生成;它包括情節的標題以及其他內容),一個正文文件和頁腳部分。
身體文件包含頁面的肉。它們具有與HTML文件相同的文件名,減去.html擴展名。在大多數情況下,這只是3位劇集編號,例如/lurk/guide/056.html,包含指南子目錄中的正文文件“ 056”。例如,當我想在第33集的頁面中添加新評論時,我將CD添加到指南目錄中,編輯文件“ 033”,然後運行“ gen.py 033”。結果是033.html的新版本,舊版本將其移至#033.html作為預防措施。
某些Gen.py版本的另一件事是將時間戳添加到項目中。這個想法是,當我修改頁面時,我想突出顯示更改,以便已經閱讀過以前版本的人可以快速滾動到新內容。為此,gen.py在身體文件中尋找一個特殊的令牌“ @@@”(必須由Whitespace或線路結束)。當它找到令牌時,它將替換為“ @@@nnn”,其中NNN是unix time_t格式的當前時間戳。此更改是對身體文件本身進行的。然後,當gen.py從車身文件中生成HTML文件時,它會在看到最近的時間戳的任何地方插入日期。每天一次腳本再生所有HTML文件,以便一段時間後的日期標記消失(將其放入使頁面看起來很醜陋,並且很難快速找到新項目)。
當您看到“ Skel”文件時,它是一個原型的主體文件。新劇集/小說/等時,我將其複製到適當的文件名。出來。
在許多子目錄中,您會看到一個“ genall.csh”腳本。這只是每個情節“ gen.py”的快捷方式。我只有在更改頁面標頭/頁腳的結構並希望在任何地方應用它時才使用此功能。
另外,在頂級目錄中還有一個“ gen”腳本。這在每個子目錄中運行gen.py。例如,當我為一集中添加圖片並希望將其顯示在該情節的所有頁面上時,我會使用它。
第1-4季的每個情節的“到目前為止”。第5季仍需要寫作。可訪問的用戶訪問的文件都是.shtml文件。您會注意到這裡沒有任何身體文件。相反,背景/gen.py使用了其他一些源文件。匯總文件中有幾個不同的介紹性摘要。例如,Sum-66總結了故事的故事,包括第66集,並將其作為第67集及以後的背景的第一部分。包含適當的cum-*文件後,gen.py看起來in Story.html。該文件包含在介紹下的“最近...”部分中包含的每集段落。僅包括摘要和當前情節之間的情節段落,例如第75集,Gen.Py包括Sum-66和第67-74集的段落。
某些角色的BIOS。這些鏈接到“宇宙”部分。簡單的平面HTML文件。
漫畫系列的指南頁面。身體文件和gen.py。
此處唯一的HTML文件是index.html,它是我擁有計劃信息的所有國家的列表。每個國家都有一個子目錄下的下降(目錄名稱通常是該國的2字母國家代碼)。 Note的一個偽國家是“ Master”,其中包含以正確順序的情節列表(美國原始的播出順序是有點錯誤的)。
每個國家 /地區的目錄內是一個帶有該國的時間表的eplist.html文件,以及與各種情節指南子目錄的符號鏈接。通過使用我的URL中的相對路徑,我讓瀏覽器記住用戶正在考慮的哪個國家的日程安排,而無需求助於cookie(該網站剛開始時尚未作為概念存在!) se/eplist.html具有指向“指南/056.html”的鏈接,該文件與/lurk/guide/056.html確實是相同的文件,因為/lurk/counlty/counlty/se/guide是對/lurk/uge symlink。但是,由於瀏覽器不知道,因此056.html的鏈接回到情節頁面為“ ../eplist.html”,它可以追溯到瑞典時間表。
index.html是國家目錄中eplist.html的鏈接。有一個“ mkcountry.sh”腳本來建立一個新的國家目錄。還有所有5個季節的骨架劇集列表(Skel,Skel2,Skel3等)
當我編輯一個國家的時間表時,我會使用“ print-weeks.py”腳本,稍後將描述,因此我不必手工式日期。
情節學分。
一個簡短的PHP腳本,可以簡單地查找用戶的域名,以找出要顯示哪個國家的情節列表。現在,該節目幾乎不太重要,但是當不同季節同時在不同國家 /地區展示時,這對用戶來說很方便。
與美國情節列表的符號鏈接,以便在非國家指南目錄中鏈接到“ ../ eplist.html”的任何鏈接都將有用。 (請參閱上面“國家”目錄的討論。)
整個站點中使用的標準頁腳。沒有以編程方式使用,但是當創建新頁面時,我將其加載到文本編輯器中。
在每個與情節有關的子目錄中都有一集的腳本。
相當不言自明。所有與游動相關的圖像都生活在這裡。 (儘管有目錄名稱,但其中一些是JPEG。)
情節指南頁。
網站常見問題解答。它是由“ help”的名稱提到的,而是避免與Usenet B5常見問題混淆。
symlink to lurker.html。
Gen.Py和CGIS使用的數據文件:
情節指南和概要頁面列表,按修改時間順序排序。由“ lastupdate.py”實用程序生成。
沒有黑色背景的主頁,因為有些人發現自定義背景很煩人。這將通過lurker.html自動生成,通過在頂級目錄中運行“ make”的CRON作業。
主頁。
一個小時一次,這個makefile用於重建Lurker-nobg.html,每天一次,它用於確保我沒有忘記在某件事上奔跑。它還更新FTP存檔中的B5TVLIST.TXT文件。
網站的“製造B5”部分。平坦的HTML文件。
Navbar的圖像封面。
雜項文件不適合其他地方,例如,克勞迪婭·克里斯蒂安(Claudia Christian)為什麼離開演出。
導航圖像。次要功能是其索引。html是“此處的預緊圖像緩存”頁面,它通過讓他們遭受一拍nav圖像的所有痛苦來加快網站的速度。
新穎的指南頁。本節不完整 - 最新一輪小說還沒有頁面。
調查5觀眾調查的結果。
按鈕和導航圖像以其原始無損壓縮形式。
網站的“參考”部分。主要是平坦的HTML文件,但其中幾個頁面具有服務器端,其中包括從FTP區域中引入文本文件。
不再提及歷史娛樂。
網站的“其他資源”部分。平坦的HTML文件。
包含一些隨機支持代碼。稍後再詳細介紹。
情節概要。
站點圖。
網站的“宇宙和角色”部分。平坦的HTML文件。第5季仍需要寫下。
野蠻鍛煉;我自己最終做了所有這一切!
JMS關於B5的消息被觀眾排名第一的優質電視。
切換到當前外觀後,該站點的簡介。
什麼是新頁面。當這變得很大時,我將所有舊項目放入檔案中,並將其鏈接到此頁面的底部。
Midwinter.com用於託管帶有文本文件和圖像的FTP存檔;這些現在都可以通過Lurker指南訪問,並存儲在“ FTP”子目錄中。
有關FTP檔案中各種文件的描述,請參見FTP索引文件(文本和HTML中都可用)。 Lurker的指南指向這裡的各種文件 - 包括一些服務器端包括參考。
除非另有說明,否則您會在 /lurk /src中找到一些公用事業。上面已經討論過一些,但這裡有一個清單:
這是每天從Cron工作中運行一次。它重新生成了所有指南頁面。如果再生頁面與舊版本沒有區別,則舊版本將被移回位以保留其修改日期。這裡的目的是在指南頁面中的新項目中的時間戳過期(請參閱上面的Gen.py腳本的討論)。
一個小時從克朗跑一次;這更新 /lurk/lastmod.html,非常不言自明。